首页 > > 详细

SER202: Problem Solving Task

SER202: Problem Solving Task
V1.1
Prof Abbas Kouzani Trimester 2, 2019
The Problem Solving Task is worth 100 marks and constitutes 20% of the overall assessment.
Due date: Friday 9 August 2019, 11:59pm (AEST).
Part A - Programming Task (60 marks):
Develop a program in C and upload it into your Arduino Mega 2560 board to implement a simple Doctor 
Appointment System for a clinic. The Arduino Mega 2560 should interact with the user via the Serial 
Monitor. The program should do as described below. An example is given after the following description. 
In the below description, ‘User’ means the Clinic Admin officer who is the user of the program.
1. Display the following information on the Serial Monitor: Unit code and title, your name, your 
student ID.
2. Set Digital Pins 8 to 10 of Arduino Mega board as inputs. Enable the internal pull-up resistor for 
each of these pins.
3. Prompt the user to select one of the following options:
1. Patient Details //Assume we will have maximum 15 patients
2. Allocate Patient to Doctor //Jerome Mcclain, Teresita Lieu, Rocky Michael
3. Call Patient //Call the next patient and send them to see their Dcotor 
4. Report //Generate a clinic financial report
4. Receive the user’s selection via the Serial Monitor, e.g. 1, 2, … or 4. Depending on the selected 
option, prompt the user to enter relevant input information, and then implement the stated 
action/display as follows:
For 1 (Patient Details): 
Full Name: //First Name Last Name, max 25 characters
// show full name to user
Medicare Card Number: //5 digits entered, show digits to user
//Receive the digits as a string of 5 characters 
Symptoms: //Comma separated list of symptoms
// max 25 characters, show symptoms to user
Patient Number: //Generate patient number and display it
//this number should be an integer equal to the 
//number of patients currently in the system + 1
/*Store the entered information into appropriate variables*/
2
For 2 (Allocate Patient to Doctor):
Doctor: //User selects one of the 3 doctors by connecting 
//one of the Pins 8 to 10 of Arduino to GND 
//with a jumper wire, the rest would be VCC due 
// to pull-up resistors, then presses Enter key
//Pin 8 for Jerome Mcclain, Pin 9, for Teresita 
//Lieu, Pin10 for Rocky Michael
//show the name of selected Doctor to user
Patient Number: //user enters the patient number, 
//display the patient name, put 
//patient number in the list for the selected 
//doctor
For 3 (Call Patient):
/* The user selects Option 3 whenever they see a patient coming out of a doctor 
office, or when the doctor has no patient, so they can call the next patient in the 
list to see the doctor */
Doctor: //User selects one of the 3 doctors by connecting 
//one of the Pins 8 to 10 of Arduino to GND 
//with a jumper wire, the rest would be VCC due 
// to pull-up resistors, then presses Enter key
//Pin 8 for Jerome Mcclain, Pin 9 for Teresita 
//Lieu, Pin10 for Rocky Michael
//show the name of selected Doctor to user 
Patient to Be Called: // Show the name of the next patient waiting to 
//see the doctor selected.
For 4 (Report): 
Show:
Jerome Mcclain:
Show the total earning of this doctor for the patients in their list (seen, currently 
with, or waiting), each patient fee for this doctor is $50
Teresita Lieu:
Show the total earning of this doctor for the patients in their list (seen, currently 
with, or waiting), each patient fee for this doctor is $60
Rocky Michael:
Show the total earning of this doctor for the patients in their list (seen, currently 
with, or waiting), each patient fee for this doctor is $40
Total Clinic Income:
Show the total clinic income
5. Return to Step 3 after the user selection is complete.
3
An Example of User Interaction with the Program:
“1. Patient Details”
----------------------------------------------------------------------
Full Name: John Smith 
Medicare Card Number: 49782
Symptoms: Cough,Fever,Congestion
Patient number: 1
----------------------------------------------------------------------
“1. Patient Details”
----------------------------------------------------------------------
Full Name: Loida Carlisle 
Medicare Card Number: 61120
Symptoms: Headache,MuscleAching
Patient number: 2
----------------------------------------------------------------------
“2. Allocate Patient to Doctor”
----------------------------------------------------------------------
Doctor: Teresita Lieu //User connects Pin 9 to GND, presses Enter key 
Patient Number: Loida Carlisle //User enters 2
----------------------------------------------------------------------
“2. Allocate Patient to Doctor”
----------------------------------------------------------------------
Doctor: Teresita Lieu //User connects Pin 9 to GND, presses Enter key 
Patient Number: John Smith //User enters 1
----------------------------------------------------------------------
“1. Patient Details”
----------------------------------------------------------------------
Full Name: Sanjuana Mackiewicz 
Medicare Card Number: 22331
Symptoms: Fever
Patient number: 3
----------------------------------------------------------------------
“2. Allocate Patient to Doctor”
----------------------------------------------------------------------
Doctor: Jerome Mcclain //User connects Pin 8 to GND, presses Enter key 
Patient Number: Sanjuana Mackiewicz //User enters 3
----------------------------------------------------------------------
“3. Call Patient”
----------------------------------------------------------------------
Doctor: Teresita Lieu //User connects Pin 9 to GND, presses Enter key
Patient to Be Called: Loida Carlisle
----------------------------------------------------------------------
4
“3. Call Patient”
----------------------------------------------------------------------
Doctor: Jerome Mcclain //User connects Pin 8 to GND, presses Enter 
Patient to Be Called: Sanjuana Mackiewicz
----------------------------------------------------------------------
“4. Report”
----------------------------------------------------------------------
Doctor Jerome Mcclain: 
$50
Doctor Teresita Lieu:
$120
Doctor Rocky Michael:
$0
Total Clinic Income: $170
----------------------------------------------------------------------
The use of high level Arduino Functions (see http://arduino.cc/en/Reference/HomePage, under Functions) 
is not permitted. Significant marks will be deducted if any of the functions is used. Native C functions 
are however permitted.
Goals
1. Write code to implement a user friendly and neat user interface to interact with the user. 
2. Write code to perform implement and execute the specified functions.
Marking will check goals are achieved by examining the running code on the Arduino Board. Marking will 
not look at the code to see if goals have been achieved. The source code must be fully documented including 
your Full Name and Student ID number. Marking of solution will follow the following rubrics:
No 
evidence of 
goal
Goal not 
complete
Goal achieved
Goal 1 
(10 marks)
Goal 2
(45 marks)
Little or no 
evidence of 
any 
documentat
ion
whatsoever
.
Documentatio
n almost non￾existent
Documentatio
n present but 
many parts 
missing 
(headers, 
general 
comments, 
title block. 
Etc…)
Documentatio
n present but 
not very 
descriptive. 
(Restatement 
of code rather 
than 
explaining the 
code.)
All 
documentatio
n parts 
present and 
clear.
All 
documentatio
n parts 
present and 
very clear. 
Code shows 
flair and 
innovation.
All 
documentatio
n parts 
present and 
clear. Code 
shows 
considerable 
flair and 
innovation.
Code Style & 
Documentation
(5 marks)
5
Part B - Interim Report (40 marks):
Each student will develop a written report containing:
Title Page (including student name and ID), Abstract, Table of Contents, List of Figures, 
List of Tables, Introduction (1 page), Proposed Automatic Self-watering System (Design, 
Mechanical Components, Electronics Components, Flowchart of C Program) (2 pages), 
Progress to Date (1 page), Conclusions (0.5 page), References. 
The “Progress to Date” section should include a table listing the electronics, mechanical, and other 
components that you have received. It should also contain an image that displays all the 
components you have received together.
Marking of Interim Report will follow the following guide:
CONTENT
explains key aspects of project 
development, test, discussions,
achievements, etc
0 7.5 15 22.5 30
very poor poor good outstanding
ORGANIZATION
logical, easy to follow, interesting, use 
of figures, …
0 1.25 2.5 3.75 5
very poor poor good outstanding
LANGUAGE
grammar, clarity of writing 
 0 1.25 5 3.75 5
very poor poor good outstanding
 TOTAL: / 40
Submission Procedure
Name your program file for Part A by using ‘A’ followed by your student ID number (eg A200678901).
Name your report file for Part B by using ‘B’ followed by your student ID number (eg B200678901). 
Submit 2 files, a program file (eg A200678901.ino), and a word or pdf file (eg B200678901.docx or 
B200678901.pdf) through the “Problem Solving Task” dropbox on CloudDeakin site.
Marks will be deducted if this submission procedure is not followed.
Zero mark will be given if the submitted program file could not be successfully compiled, or it did not work 
when programmed into the Arduino Mega 2560 board.
联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!