Assignment title: Information
Charles Sturt University Subject Outline
ITC558 201730 SM I-1 February 2017-Version 1 Page 6 of 30
Name: Monique Moloney
Email: [email protected]
Phone: (03) 9935 7919
Name: Bethany Winkler
Email: [email protected]
Phone: (03) 9935 7953
Name: Gail Ekici
Email: [email protected]
Phone: (03) 9935 7965
For appointments, please see Reception at Level 1.
Queries regarding the content of this subject should be directed to your subject lecturer.
Residential school
You are not required to attend a residential school for this subject.
Your workload in this subject
CSU Academic Senate policy states that a standard 8 point subject should require you to spend a total
of 140-160 hours engaged in the learning and teaching activities. This means an average of 10 to 12
hours each week.
Assessment Items
Item number Title Type Value Due date* Return date**
1 Assignment 1 Assignment 10% 17-Mar-2017 07-Apr-2017
2 Assignment 2 Assignment 15% 31-Mar-2017 26-Apr-2017
3 Assignment 3 Assignment 15% 12-May-2017 02-Jun-2017
4 Weekly topic quizzes Assignment 10% Variable Variable
5 Final exam Exam 50% To be Advised. -
* due date is the last date for assessment items to be received at the University
** applies only to assessment items submitted by the due date
Assessment item 1
Assignment 1
Value: 10%
Due date: 17-Mar-2017
Return date: 07-Apr-2017
Submission method options
Alternative submission method
Task
The Innovation University of Australia (IUA) has initiated an IT project for Automatic Grading of
Students (AGoS). For the project, IUA has employed you to write a program in Python that will ask a
lecturer to enter a student's marks for Assignment 1, Assignment 2 and the Final Exam, one by one.
A lecturer is expected to enter a mark out of 100 for all assessment items. The weights of Assignment
1, Assignment 2 and the Final Exam are 20%, 30% and 50%, respectively. The program needs to useCharles Sturt University Subject Outline
ITC558 201730 SM I-1 February 2017-Version 1 Page 7 of 30
the weights to calculate the weighted marks for the assessment items and the final mark for the
subject.
The program should then display the weighted mark of each individual assignment, total weighted
mark of the assignments, weighted mark for the Final Exam, and total weighted mark of the subject.
A weighted mark is calculated by multiplying the obtained mark and the weight of the assessment
item. For example, if a student obtains 70 out of 100 in Assignment 1 then their weighted mark in the
assignment will be 70 x 20/100 = 14.
A typical example of the display of your program can be as follows. Your program MUST follow the
same display style.
-----------------------------------------------------------------------------------------
The Innovation University of Australia (IUA) Grade System
-----------------------------------------------------------------------------------------
Please enter all marks out of 100.
Please enter the marks for Assignment 1: 80
Please enter the marks for Assignment 2: 90
Please enter the marks for the Final Exam: 100
Thank You!
Weighted mark for Assignment 1: 16
Weighted mark for Assignment 2: 27
Total weighted mark of the assignments: 43
Weighted mark for the Final Exam is: 50
Total weighted mark for the subject: 93
Goodbye.
You need to develop the Grade System by completing the following three tasks:
Task 1 -
Draw a Nassi Shneiderman (NS) diagram that presents the steps of the algorithm required to perform
the task specified. Some examples of NS diagrams can be found at the following web links:
http://www.thern.org/projects/nassi-schneiderman/nassi.htm
https://en.wikipedia.org/wiki/Nassi%E2%80%93Shneiderman_diagram
https://www.cs.umd.edu/hcil/members/bshneiderman/nsd/Yoder-Schrag-nassi_schart.pdf
There are tools (see links below) that can be useful in drawing a NS diagram. However, you can draw
the diagram/s with a pen/pencil on a piece of paper and scan it for submission. Please ensure that the
scanned file and your handwriting are clear and legible.
https://www.edrawsoft.com/Nassi-Schneiderman.php
http://www.breezetree.com/articles/nassi-shneiderman-diagram.htm
http://wiki.c2.com/?NassiShneidermanDiagrams
Task 2 -
Select three sets of test data that will demonstrate the 'normal' operation of your program; that is, test
data that will demonstrate what happens when a VALID input is entered. Select two sets of test data
that will demonstrate the 'abnormal' operation of your program.
Set it out in a tabular form as follows: test data type, test data, the reason it was selected, the outputCharles Sturt University Subject Outline
ITC558 201730 SM I-1 February 2017-Version 1 Page 8 of 30
1.
2.
3.
expected due to using the test data, and finally a screenshot of the output actually observed when the
test data is used. It is important that the output listings (i.e., screenshots) are not edited in any way.
Test Data Table
Test data
type
Test
data
The reason it
was selected
The output expected due to the
use of the test data
The screenshot of actual output
when the test data is used
Normal
Normal
Normal
Abnormal
Abnormal
Task 3 -
Implement your algorithm in Python. Comment on your code as necessary to explain it clearly. Run
your program using the test data you have selected and complete the final column of test data table
above.
Your submission will consist of:
Your algorithm through Nassi Shneiderman (NS) diagram/s
The table recording your chosen test data and results (it can be in a Word file)
Source code for your Python implementation
Rationale
This assessment task is designed to reinforce topic material related to the programming work cycle,
and the input, processing, output program structure.
The task meets or partially meets the following learning objectives:
LO1. be able to explain the steps involved in a disciplined approach to problem-solving,
algorithm development and coding
LO2. be able to demonstrate and explain elements of good programming style
LO3. be able to identify, isolate and correct errors in all phases of the programming process
LO4. be able to interpret algorithms and program code
LO6. be able to apply sound program analysis, design, coding, debugging, testing and
documentation techniques to simple programming problems
LO7. be able to write code in an appropriate coding language
Marking criteriaCharles Sturt University Subject Outline
ITC558 201730 SM I-1 February 2017-Version 1 Page 9 of 30
Criteria High Distinction
(85-100%)
Distinction (75-84%) Credit (65-74%) Pass (50-64%) Fail (0-49%)
Explain the steps
involved in a
disciplined approach
to problem-solving,
algorithm
development and
coding,
demonstrate elements
of good programming
style
(three marks allocated)
NS diagram/s do not have
any unnecessary
component.
NS diagram/s are
presented where all
variable names are
meaningful.
NS diagram/s follow the
convention, they are free
of errors, and they
produce the algorithm
correctly.
NS diagram/s follow the
convention and contain
three or less errors
NS diagram/s follow the
convention, but contain
more than three errors
Identify, isolate and
correct errors in all
phases of the
programming process.
Apply sound program
analysis, design,
coding, debugging,
testing and
documentation
techniques to simple
programming
problems
(three marks allocated)
Test data explore every
branch of the program.
Clear explanation is
provided of the expected
output of the test results.
AND
The presented test output
is in the form specified in
the assignment.
Sound reasons are
provided for the selection
of test data.
AND
The test output is correct
for any test data in
addition to those used in
the submitted table to
report the test result.
Selected test data present
both normal and abnormal
data.
AND
The presented test output
is correct.
Selected test data are
clearly presented in a
table and allow easy
calculation of output.
AND
The presented test
output matches the
actual results that can be
obtained from the
execution of the
program.
Selected test data are not
clearly presented in a table
and/or do not allow easy
calculation of output.
Or
The presented test output
does not match the actual
results that can be
obtained from the
execution of the program.Charles Sturt University Subject Outline
ITC558 201730 SM I-1 February 2017-Version 1 Page 10 of 30
Criteria High Distinction
(85-100%)
Distinction (75-84%) Credit (65-74%) Pass (50-64%) Fail (0-49%)
Apply sound program
analysis, design,
coding, debugging,
testing and
documentation
techniques to simple
programming
problems
Interpret algorithms
and program code,
Write code in
appropriate language.
(four marks allocated)
Python code is produced
and contains only
necessary statements and
variables.
Python code is produced
and implements the NS
diagram correctly.
Python code is produced.
It is fully documented
with appropriate
comments and all variable
names are meaningful.
Python code is produced
and executes properly
without any syntax
errors. It produces
correct results.
Python code is produced
and does not execute
properly. It may contain
syntax errors and/or
produce incorrect results.
Additional Comments: The standards outlined for each criteria are cumulative. So, for example, to achieve the standard for high distinction your work needs
also to meet the standards outlined for Pass, Credit and Distinction.Charles Sturt University Subject Outline
ITC558 201730 SM I-1 February 2017-Version 1 Page 11 of 30
Presentation
You MUST prepare and present all source code, test data table, and NS diagram/s as separate files
within a single directory (folder) identified by your name. This directory will later be compressed into
a single ZIP file - see the 'Requirements' section below.
The Python source code you write should be saved with a name such as assA1.py by
choosing File > Save As.. from the IDLE 'edit' window.
The other documentation (such as your NS diagrams and your table of test data) should be
saved in a Word document with a name such as assA1.doc.
Thus your directory for Assignment A1 will contain two files - and be identified with your name (and
not the name of the subject or the assignment).
It is critically important that your test runs are unmodified outputs from your program, and that these
results should be reproducible by the marker running your saved .py python program in IDLE.
Requirements
Once you have saved the files (as described under 'Presentation' above) into a single directory
identified by your name, you MUST compress that directory into a single ZIP file (and only a ZIP file
- not a RAR file or some other compressed file format), as outlined in the section on presentation.
Failure to adhere to these requirements may disqualify the submission for marking.
As you are submitting via Turnitin, this ZIP file is all you need to upload.
Assessment item 2
Assignment 2
Value: 15%
Due date: 31-Mar-2017
Return date: 26-Apr-2017
Submission method options
Alternative submission method
Task
The Innovation University of Australia (IUA) decides to give bonus marks to students for a subject
depending on their total weighted marks in the subject. It follows the table below to award bonus
marks to a student.
Bonus Policy Table
Total Weighted Mark Bonus mark
Between 0 and 50 Nil
Greater than 50, but less than or
equal to 70 10% of every mark above 50
Greater than 70, but less than or
equal to 90
2 marks PLUS 15% of every
mark above 70
Greater than 90, but less than or
equal to 100
5 marks PLUS 20% of every
mark above 90
For example, if a student gets the total weighted mark of 80 then they get a bonus mark of 3.5. Hence,
5