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