Assignment title: Information


Charles Sturt University Subject Outline ITC558 201730 SB I-2 March 2017-Version 2 Page 1 of 26 ITC558 - Programming Principles Session 1 2017 Faculty of Business, Justice and Behavioural Sciences School of Computing and Mathematics Internal Mode Welcome to a new session of study at Charles Sturt University. Please refer to the University’s Acknowledgement of Country (http://student.csu.edu.au/study/acknowledgement-of-country). This subject outline is accessible through mobile devices from http://m.csu.edu.au. Subject Coordinator Sharelle Simmons Email [email protected] Phone To be advised. Campus Other Building/Room number To be advised. Consultation procedures Your lecturer is: Faizal Riaz-ud-din Any questions concerning the teaching of this subject can be made by contacting your subject lecturer. Email: [email protected] (mailto:[email protected]) However, you should consider if your question is already addressed elsewhere (e.g. Subject outline, Announcements and iLearn site within Interact2) and if you are contacting the most appropriate person. Email Etiquette: In order to receive responses to your email on time ensure that you address the issue meeting the basic requirements of professional communication. You should include your ID number, name, subject code and type of query in the header/subject to enable me to read and identify who has sent the email. This will also avoid your email being treated as SPAM. Class details Lecture and Tutorial 1: Tuesday, 9AM - 12Noon, Level 4 Computer Lab 4B Lecture and Tutorial 2: Tuesday, 1PM-4PM, Level 3 Computer Lab 3O Additional Classes: (if any)Your subject coordinator will be available for consultation. You will be informed of the consultation procedures via your Interact2 subject site; as well as the names, contact details and consultation procedures for any other staff member that may teach into this subject. If you cannot contact your Subject Coordinator, please contact your teaching team using the contact details and consultation procedures provided on your Interact2 subject site.Charles Sturt University Subject Outline ITC558 201730 SB I-2 March 2017-Version 2 Page 2 of 26 What is your subject about? A brief overview This subject introduces students to the programming process. It begins with the development of problem solving skills relevant to the solution of programming problems. This subject is one of the foundation subjects for other studies in information technology because it develops skills, techniques and approaches that underpin many other areas of the discipline of computing. Learning outcomes On successful completion of this subject, you should: be able to analyse the steps involved in a disciplined approach to problem-solving, algorithm development and coding; be able to demonstrate and explain elements of good programming style; be able to identify, isolate and correct errors; and evaluate the corrections in all phases of the programming process; be able to interpret and implement algorithms and program code; be able to apply and justify the concept of object orientation as an approach to data abstraction; be able to apply sound program analysis, design, coding, debugging, testing and documentation techniques to simple programming problems; be able to write code in an appropriate coding language; be able to compare and contrast aspects of the procedural and object oriented programming approaches. Pass Requirements You must obtain at least 50% in both the examination and the total mark in order to pass this subject. You must pass the exam to pass the subject. To be eligible for AA or AE grades you must have submitted all assessment items in the subject, including the final exam. If you choose not to complete an assessment item or do not sit the final exam then you will not be granted an AA or an AE grade. Key Subjects Passing a key subject is one of the indicators of satisfactory academic progress through your course. You must pass the key subjects in your course at no more than two attempts. The first time you fail a key subject you will be 'at risk' of exclusion; if you fail a second time you will be excluded from the course. The Academic Progress Policy (https://policy.csu.edu.au/view.current.php?id=00250) sets out the requirements and procedures for satisfactory academic progress, for the exclusion of students who fail to progress satisfactorily and for the termination of enrolment for students who fail to complete in the maximum allowed time. Assumed knowledge Academic integrity means acting with honesty, fairness and responsibility, and involves observing and maintaining ethical standards in all aspects of academic work. This subject assumes that you understand what constitutes plagiarism, cheating and collusion. If you are a new student we expect you to complete the modules called Academic Integrity at CSU (https://interact2.csu.edu.au/webapps/blackboard/execute/courseMain?course_id=_16412_1&task=true&src=). Prescribed Text Students must have access to a copy of the prescribed textbook. Gaddis, T., 2014. Starting out with Python (3rd Edition). ISBN-10: 1292065508Charles Sturt University Subject Outline ITC558 201730 SB I-2 March 2017-Version 2 Page 3 of 26 ISBN-13: 978-1-29-206550-2 Addison-Wesley, Pearson Education The textbooks required for each of your enrolled subjects can also be found via the Student Portal Textbooks (http://student.csu.edu.au/study/study-essentials/textbooks) page. Subject and Assessment Schedule Schedule Session Week Week Commencing Topic/Modules Textbook Reading 1 27/02/2017 Topic 1 - Fundamentals of software development: Algorithms and the software development life cycle Chapters 1 & 2.1 2 06/03/2017 Topic 2 - Program elements: Literals, variables, operators, and expressions Chapter 2.2 to 2.8 3 13/03/2017 Topic 3 - Selection: If statements, conditional expressions, and Boolean logic Chapter 3 Assessment Item 1 Due: 17/03/2017 4 20/03/2017 Topic 4 - Iteration: Definite and indefinite loop control patterns, and accumulator variables Chapter 4 24/03/2017 is the CENSUS date of Session 1. 5 27/03/2017 Topic 5 - Program structure: Functions, arguments, parameters, and return values Chapter 5 Assessment Item 2 Due: 31/03/2017 6 03/04/2017 Mid-session break 7 10/04/2017 Mid-session break 8 17/04/2017 Topic 6 - Files and Chapter 6Charles Sturt University Subject Outline ITC558 201730 SB I-2 March 2017-Version 2 Page 4 of 26 Session Week Week Commencing Topic/Modules Textbook Reading exceptions: Opening, reading, and writing files, dealing with errors and exceptions. Review. And Chapters 1 to 5 9 24/04/2017 Topic 7 - Data structures: Sequences: Lists and strings, indexing and slicing Chapter 7.1 to 7.7 Chapter 8.1 to 8.2 10 01/05/2017 Topic 8 - Data structures: Dictionaries: Dictionaries, dictionary methods, and key-value pairs Chapter 9.1 11 08/05/2017 Topic 9 - Object oriented programming: Objects, classes, attributes and methods Chapters 8.3 and 10 Assessment Item 3 Due: 12/05/2017 12 15/05/2017 Review 1 13 22/05/2017 Review 2 14 29/05/2017 Review 3 2017 Session 1 on campus classes end on Friday 02/06/2017 15 05/06/2017 Examination period 05 June - 16 June. Actual date of examination for ITC106 to be advised. 16 12/06/2017 Examination period 05 June - 16 June. Actual date of examination for ITC106 to be advised. Notes:Charles Sturt University Subject Outline ITC558 201730 SB I-2 March 2017-Version 2 Page 5 of 26 Replacement Classes will be held (TBA) for classes running on Monday 17th April 2017 (Easter Monday) and Tuesday 25th April 2017 (ANZAC DAY). Details will be announced later in the session This study schedule has been devised to assist in your planning during the session, and is intended as a guide only. Subject Content Information regarding the subject’s content is outlined above in the Schedule Subject Delivery Class/tutorial times and location If you are enrolled in an internal offering of this subject, your class times can be found at Timetable @ CSU (http://timetable.csu.edu.au). If you are enrolled in the online offering of the subject, this timetable will not apply. Find out how to use Timetable @ CSU via the Student Portal Class Timetable (http://student.csu.edu.au/study/study-essentials/timetable) page. Learning, teaching and support strategies How you are expected to engage with the subject This is a very active, interesting and introductory subject. Various subject materials will be available in the subject Interact site. For example, we will upload the lecture slides week by week. You will also find tutorial tasks and eventually their solutions in the subject Interact site. We generally upload example Python programs relevant to your study topics week by week. We will also upload study modules for the study topics. Each module will have a brief introduction to the topic of the week, a couple of short (around 5 minutes) videos on the topic where we will describe the topic with some Python examples. You will see us writing a Python code line by line and running it to explain how the code words and outputs the result. The modules will also give you some small tasks so that you can assess your level of understanding. In this subject we will meet for a 3 hour session where we will discuss that week’s topic. Before you come to class you need to have looked at the online activities in the Interact site and read the text so that you can contribute to the class and derive more meaning from the activities that we will do in class. We will spend class time working through the topic questions, discussing them and preparing responses. In addition we may use video, games and case studies to enhance understanding of certain topic areas. It is helpful to have a small task to complete early in the session so that you have a focus in the subject from the very first day, and so the first assessment is set for this purpose. If you do not perform well in this assessment you may be contacted to discuss how we can support you better in this subject. You should check the Interact2 Site at least weekly for postings, announcements, lecture information and other resources that will assist your studies or additional information and resources vital to your success in the subject. Studying at university does not mean studying alone. During class you will have an opportunity to interact with the lecturer as well as your peers. Use the subject schedule to plan your studies over the session. Queries regarding the content of this subject should be directed to me via email. Academic learning support Information on effective time management is available on the CSU Learning Support website via theCharles Sturt University Subject Outline ITC558 201730 SB I-2 March 2017-Version 2 Page 6 of 26 following link: http://student.csu.edu.au/ Visit the learning support website for advice about assignment preparation, academic reading and note-taking, referencing, and preparing for exams at: http://student.csu.edu.au/study The Study Centres also offers a range of workshops specifically targeting your needs as an international student. These workshops run once per week and build into the comprehensive Academic Skills Development Program that you should participate in. Please see the timetables for these programs on the noticeboards on campus and also via the iLearn Interact2 Organisation site. You may also contact: Jennifer Rennie-Sia Administration & Study Support Manager Phone: 07 3232 1531 E-mail: [email protected] (mailto:[email protected]) For appointments, please see Jennifer Rennie-Sia. Queries regarding the content of this subject should be directed to your Subject Lecturer. Library services CSU Study Centre Library Collection The CSU Study Centre Library Catalogue is online at: http://primo.unilinc.edu.au/primo_library/libweb/action/search.do?vid=SGA You can search for books in the local Sydney library collection. You are able to Sign In to the CSU Study Centre library catalogue online to place requests for books that are on loan to other students, check their library record, and renew loans prior to the due date. This library service is available online 24/7. When books with outstanding requests are returned to the CSU Study Centre Library, an email will be automatically sent to the next student who is waiting for that book. CSU Library The CSU Library online provides access to online and print material, using Primo Search to find: http://student.csu.edu.au/library Online journal articles eBooks Print books from CSU Library (Interlibrary loans may be requested - see the Library Manager) Company and government reports eJournals Dissertations & theses Newspapers including Business & Financial newspapers in Factiva (see Business & IT Journal databases) Other Reference resources (eg. Australian Bureau of Statistics, Australian standards, online encyclopaedias & dictionaries to be read on the computer You will also find library guides, Subject Reserve for any readings, eg. ACC100, BUS100, ITC100, etc., and online assistance via free call phone number 1800 808 369, or Ask a Librarian - Live Chat or Web Form. Other CSU Library services and resources: https://student.csu.edu.au/library/study-research Video tutorials in research skills, finding journal articles for assignments, topic analysis Endnote referencing software Other online library services to help you successfully complete your assignmentsCharles Sturt University Subject Outline ITC558 201730 SB I-2 March 2017-Version 2 Page 7 of 26 Online Tutorials http://student.csu.edu.au/library/study-research/training-tutorials-videos Learn how to: Use Primo Search to find eReserve study materials and journal articles Search journal databases and web resources for information for your assessment tasks Identify appropriate sources of information and peer reviewed material, to evaluate resources Subject Library Resource Guides http://libguides.csu.edu.au/ Subject Library Guides are a great way to get started with research. Each online guide is tailored to a specific area of study, including Accounting, Business and Information Technology outlining how to research in your area and where to look for information. Library Help http://student.csu.edu.au/library/help-contacts Friendly and quick assistance is available. Ask for help finding information and navigating the library’s extensive eResources. National Library of Australia - Trove database http://trove.nla.gov.au/ The Trove database from the National Library of Australia provides access to many different online resources on any subject. University of Technology Sydney - Blake Library Contact Details below for any student enquiries: CSU Study Centre Brisbane Library Sharon Kenealy Library Manager Phone: 07 3232 1671 Email: [email protected] 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 UniversityCharles Sturt University Subject Outline ITC558 201730 SB I-2 March 2017-Version 2 Page 8 of 26 ** 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 use 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:Charles Sturt University Subject Outline ITC558 201730 SB I-2 March 2017-Version 2 Page 9 of 26 1. 2. 3. 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 output 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 styleCharles Sturt University Subject Outline ITC558 201730 SB I-2 March 2017-Version 2 Page 10 of 26 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 criteria 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 SB I-2 March 2017-Version 2 Page 11 of 26 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. 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 2Charles Sturt University Subject Outline ITC558 201730 SB I-2 March 2017-Version 2 Page 12 of 26 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, their total mark will be 83.5. However, the maximum possible mark is 100. That is, if a student gets more than 100 with the bonus mark then their total mark is set to be 100. The Department of IT of the Innovation University of Australia now asks you to modify the system developed for the IT project for Automatic Grading of Students (AGoS) in Assignment 1. You are required to develop a system to implement the bonus policy and compute total marks of students. The system will ask a lecturer to enter the marks of a student in Assignment 1, Assignment 2 and the Final Exam, one by one as before. It will then display the weighted mark of each individual assignment, total weighted marks of the assignments, the weighted mark for the Final Exam, and the total weighted mark of the subject. Additionally, it will now display the bonus mark and the total mark with bonus. 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: 74 Thank You! Weighted mark for Assignment 1: 16 Weighted mark for Assignment 2: 27 Total weighted mark of the assignments: 43Charles Sturt University Subject Outline ITC558 201730 SB I-2 March 2017-Version 2 Page 13 of 26 1. 2. 3. Weighted mark for the Final Exam is: 37 Total weighted mark for the subject: 80 Bonus mark: 3.5 Total mark with bonus: 83.5 Goodbye. You need to develop the Grade System by completing the following three tasks: Task 1 - Draw Nassi Shneiderman (NS) diagram/s that present the steps of the algorithm required to perform the task specified. 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 output expected due to using the test data, and finally 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 are 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 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: decision structures and Boolean logic. The task meets or partially meets the following learning objectives: LO 1. be able to explain the steps involved in a disciplined approach to problem-solving, algorithm development and codingCharles Sturt University Subject Outline ITC558 201730 SB I-2 March 2017-Version 2 Page 14 of 26 LO 2. be able to demonstrate and explain elements of good programming style LO 3. 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 LO.7 be able to write code in an appropriate coding language Marking criteria 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 (four 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 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 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 theCharles Sturt University Subject Outline ITC558 201730 SB I-2 March 2017-Version 2 Page 15 of 26 (three marks allocated) the execution of the program. execution of the program. 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 (eight 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. 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 assA2.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 assA2.doc. Thus your directory for Assignment A2 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.Charles Sturt University Subject Outline ITC558 201730 SB I-2 March 2017-Version 2 Page 16 of 26 Assessment item 3 Assignment 3 Value: 15% Due date: 12-May-2017 Return date: 02-Jun-2017 Submission method options Alternative submission method Task The Innovation University of Australia (IUA) wants to allow a lecturer to enter the marks of a number of students (instead of just a single student) and store the information permanently in a text file on their computer. They also want to allow a lecturer to search details of a student in the text file by the student ID. The main program should first display a menu as follows. A lecturer needs to select an operation from the main menu. ================================================ Welcome to the AGoS System of IUA Please select an option from the following. dd details of a student. earch student details for a student. uit. ================================================ If a lecturer chooses the option the program then asks them to enter a student’s ID, name, and the Assignment 1, Assignment 2 and Final Exam mark one by one. Once all marks for a student are entered it will display the student ID, name, weighted mark for each assignment, the total weighted mark of the assignments, weighted mark for the Final Exam, total weighted mark of the subject, bonus mark and total mark with bonus. The system will then ask the lecturer 'Do you want to enter marks for another student (Y/N)?' If they enter 'Y' the system will allow them to enter details and marks for another student as before, if they enter 'N' the system will display the main menu again, otherwise it will ask the same question again. A typical example of the display of the program (once a lecturer chooses the option ) 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 student ID: 1111 Please enter the student name: Alice Furner Please enter the marks for Assignment 1: 80 Please enter the marks for Assignment 2: 90 Please enter the marks for the Final Exam: 74 Thank You! Weighted mark for Assignment 1: 16 Weighted mark for Assignment 2: 27 Total weighted mark of the assignments: 43Charles Sturt University Subject Outline ITC558 201730 SB I-2 March 2017-Version 2 Page 17 of 26 Weighted mark for the Final Exam is: 37 Total weighted mark for the subject: 80 Bonus mark: 3.5 Total mark with bonus: 83.5 Do you want to enter marks for another student (Y/N)? z Do you want to enter marks for another student (Y/N)? Y Please enter the student ID: 1112 Please enter the student name: Bob Siers Please enter the marks for Assignment 1: 68 Please enter the marks for Assignment 2: 68 Please enter the marks for the Final Exam: 92 Thank You! Weighted mark for Assignment 1: 13.6 Weighted mark for Assignment 2: 20.4 Total weighted mark of the assignments: 34 Weighted mark for the Final Exam: 46 Total weighted mark for the subject: 80 Bonus mark: 3.5 Total mark with bonus: 83.5 Do you want to enter marks for another student (Y/N)? N ================================================ Welcome to the AGoS System of IUA Please select an option from the followings. dd details of a student. earch student details for a student. uit. ================================================ The system will also store the details and marks of each student in a file called IUA.txt in the same folder as the Python code of the AGoS system. Every time a student's details are entered the system should append them in the text file. For example, the IUA.txt file will have the following content after the details of Alice Furner are entered. However, the file content will be as follows after the details of Bob Siers are entered.Charles Sturt University Subject Outline ITC558 201730 SB I-2 March 2017-Version 2 Page 18 of 26 If a lecturer chooses the option from the main menu then the program asks the lecturer to enter the student number for whom they want to see details. To facilitate the search option you need to use an appropriate data structure such as List. The program then collects the student details from the IUA.txt file and displays it as follows (assuming the following student was searched for). After displaying the student information the program prompts the lecturer with the following message, 'Do you want to search for another student (Y/N)?' If a lecturer enters 'Y' then the program asks them to enter the student number for whom the information needs to be searched and displayed, else if the lecturer enters 'N' then the program displays the main menu, otherwise the program prompts the same message again. Finally, the program quits if the user chooses the option < Q>. You need to develop the system by completing the following three tasks:: Task 1 - Draw Nassi Shneiderman (NS) diagram/s that present the steps of the algorithm required to perform the task specified. 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 output expected due to using the test data, and finally 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 the actual output when the test data are used. Task 3 -Charles Sturt University Subject Outline ITC558 201730 SB I-2 March 2017-Version 2 Page 19 of 26 1. 2. 3. Implement your algorithm in Python. Comment on your code as necessary to explain it clearly. In addition for this exercise, use multiple functions, instead of using a single function to do everything. Create a good design of the functions to make the best use of the code and avoid duplicate calculations. For example, you can have a function for calculating the weighted mark of an assignment and the function can be used for calculating all weighted marks. Avoid duplicate code. You also need to design your program so that it has components that can be reused in another program, if needed. Handle exceptions appropriately. Use appropriate data structure. Run your program using the test data you have selected and complete the 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 simple functions, files, exceptions and lists. The task meets the following learning objectives: LO 1. be able to explain the steps involved in a disciplined approach to problem-solving, algorithm development and coding LO 2. be able to demonstrate and explain elements of good programming style LO 3. 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 LO.7 be able to write code in an appropriate coding language Marking criteria 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 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 errorsCharles Sturt University Subject Outline ITC558 201730 SB I-2 March 2017-Version 2 Page 20 of 26 good programming style (four marks allocated) 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. 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 (eight marks allocated) Python code is produced and contains only necessary statements and variables. Python code is produced and implements the NS diagram/s correctly. Python code is produced. It is fully documented with appropriate comments and all variable names are meaningful. It handles exceptions appropriately. It uses appropriate data structure. Python code is produced and executes properly without any syntax errors. It produces correct results. It uses multiple functions effectively. It uses a good design of functions to avoid duplicate calculations. It has components that are reusable. 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,Charles Sturt University Subject Outline ITC558 201730 SB I-2 March 2017-Version 2 Page 21 of 26 Credit and Distinction. 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 assA3.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 assA3.doc. Thus your directory for Assignment A3 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 4 Weekly topic quizzes Value: 10% Due date: Variable Return date: - Submission method options Alternative submission method Task Beginning in Week 2, you are required to complete a series of ten topic quizzes, each one associated with the current topic. You can attempt each weekly quiz once only. So, be prepared before you sit for the quiz. Each quiz has ten multiple choice questions and each question is worth one mark. The quizzes are located in test centre in your Interact2 subject site. They are marked automatically. Rationale The quizzes are intended as formative assessment tasks to test your knowledge, understanding and skill development, and also to monitor your progress in learning good programming principles using the Python language. Marking criteria Criteria High Distinction Distinction (75-84%) Credit (65-74%) Pass (50-64%) Fail (0-49%)Charles Sturt University Subject Outline ITC558 201730 SB I-2 March 2017-Version 2 Page 22 of 26 (85-100%) Demonstrate an ability to answer questions about concepts learned in the subject. The concepts tested are drawn from the text book, lectures, tutorials, online meetings, modules and forum discussions. A mark of 85% or more was scored in the test A mark of 75% or more was scored in the test A mark of 65% or more was scored in the test A mark of 50% or more was scored in the test A mark below 50% was scored in the test Assessment item 5 Final exam Value: 50% Date: To be advised Duration: 2 hours Submission method options N/A - submission not required/applicable Rationale A final exam is used to check that students actually do understand the material, and can apply the programming techniques presented throughout the session. It serves to verify that the knowledge and skills that students possess are consistent with the work they have presented in assignments. Students who have submitted assignments during the session that are not their own original work are unlikely to be able to pass the exam. The exam questions cover all the learning objectives for this subject. Requirements The final exam is a 2-hour exam consisting of 20 multiple choice and 8 short answer questions. The concepts tested are drawn from the text book, lectures, tutorials, onlnine meetings, modules and forum discussions. Students must pass this exam in order to pass the subject - regardless of the marks achieved on the other assessment items. A sample exam can be accessed from the CSU DOMS collection: ITC558 Sample Exam (https://doms.csu.edu.au/csu/file/069d208f-b3ed-4feb-9ce4-5f1718db0bba/1/Sample%20Exam%20ITC558%20201730 Marking criteria Criteria High Distinction (85-100%) Distinction (75-84%) Credit (65-74%) Pass (50-64%) Fail (0-49%) Part 1: 20 multiple choice questions Students will demonstrate an ability to give correct answers to multiple choice questions about concepts learned in the subject. A mark of 17 or above was scored in part one of the exam: multiple choice questions A mark of 15 or above was scored in part one of the exam: multiple choice questions A mark of 13 or above was scored in part one of the exam: multiple choice questions A mark of 10 or above was scored in part one of the exam: multiple choice questions A mark below 10 was scored in part one of the exam: multiple choice questionsCharles Sturt University Subject Outline ITC558 201730 SB I-2 March 2017-Version 2 Page 23 of 26 Each questions carries 1 mark for a possible total of 20 marks Part 2: 8 short answer questions Students will demonstrate their understanding of concepts learned in the subject by writing short answers to the set questions. Each question carries 10 marks for a possible total of 80 marks. Student demonstrates a clear understanding of the concept and has correctly applied that understanding to the concept. In addition, the answer is clear, concise, correct and complete. Student demonstrates a clear understanding of the concept and has correctly applied that understanding to the concept in answering the question. Student demonstrates a clear understanding of the concept. An attempt has been made to apply that understanding to the concept in answering the question. Student demonstrates a clear understanding of the concept. Student fails to demonstrate an understanding of the concept. Material provided by the University Multiple choice answer forms and answer booklets will be supplied. Material required by the student 2B pencil, eraser, and writing tools. Assessment Information Learning materials Details of learning materials that support your success in this subject can be found in the Interact2 Subject Site. Referencing Referencing is an important component of academic work. All assessment tasks should be appropriately referenced. The specific details of the referencing requirements are included in each assessment task description. Get referencing style guides and help (http://student.csu.edu.au/library/integrity/referencing-at-csu) to use for your assessments. Plagiarism CSU treats plagiarism seriously. We may use Turnitin to check your submitted work for plagiarism. You can use Turnitin to check for plagiarism (http://student.csu.edu.au/library/integrity/referencing-at-csu/checking) in your assessments before submission. How to apply for special consideration Academic regulations provide for special consideration to be given if you suffer misadventure or extenuating circumstances during the session (including the examination period) which prevents you from meeting acceptable standards or deadlines. Find the form on the Student Portal SpecialCharles Sturt University Subject Outline ITC558 201730 SB I-2 March 2017-Version 2 Page 24 of 26 1. 2. 3. 4. 5. 6. 7. 8. Consideration, Misadventure, Advice and Appeals (http://student.csu.edu.au/study/academic-advice) page. Extensions In order to ensure that other students who hand their assignments in on time are not disadvantaged, and to enable me to comply with the requirement to return assignments to the class within 15 working days, the following rules about extensions will be strictly enforced: Extensions cannot be granted for on-line tests, as these have to be done within a specific time frame, after which the answers are released to the class automatically. Computer problems (such as the speed of your computer) and normal work-related pressures and family commitments do not constitute sufficient reasons for the granting of extensions. If it becomes obvious that you are not going to be able to submit an assignment on time because of an unavoidable problem, you must submit your request for an extension to the Subject Lecturer in writing (email is acceptable) prior to the due date. Requests for extensions will not be granted on or after the due date so you must make sure that any extension is requested prior to the day on which the assignment is due. You are expected to do all you can to meet assignment deadlines. Work and family- related pressures do not normally constitute sufficient reasons for the granting of extensions or incomplete grades. If you apply for an extension, you may be asked to email your lecturer on what you have done so far on the assignment. You must be able to provide documentary evidence (such as a certificate from a doctor or counsellor) justifying the need for an extension as soon as practicable - but please note that if the circumstances giving rise to the request for an extension arise on a day when you cannot get documentary evidence, you must still apply for the extension before the due date and submit the documentary evidence afterwards. Given the tight deadlines involved in returning assignments to students and putting feedback on Interact, the maximum extension granted generally will be seven (7) days from the due date. Assignments received more than 10 days after the due date or extension date will not be marked unless the staff member decides otherwise. Items received late will be penalised at 10% of the mark available for the assessment item per day it is late (see below). Note that for purposes of measuring lateness, the 'day' begins just after 00.00 hrs AEST - so an assignment received after midnight of the due date will be penalised 10% for lateness. This rule will be applied to all students uniformly. Penalties for Late Submission The Faculty of Business has determined that the penalty for the late submission of an assessment task (without obtaining the Subject Coordinator's approval for an extension) will be: 10% deduction per day, including weekends, of the maximum marks allocated for the assessment task, i.e. 1 day late 10% deduction, or 2 days late 20% deduction. An example of the calculation would be: Maximum marks allocated = 20 Penalty for one day late = 2 marks (so, a score of 18/20 becomes 16/20 and a score of 12/20 becomes 10/20).Charles Sturt University Subject Outline ITC558 201730 SB I-2 March 2017-Version 2 Page 25 of 26 If an assignment is due on a Friday but is not submitted until the following Tuesday, then the penalty will be four days (40% deduction or 8 marks in the example above). Submissions more than 10 days late will be acknowledged as received but will not be marked. Resubmission Under normal circumstances resubmission of assessment items will not be accepted for any of the assessments required in this subject. Online Submission Assessment items that are completed within the Interact 2 site, such as quizzes, tests and self and peer assessments in the blog and wiki are noted in the assessment section above. You need to complete these tasks within your subject site. Unless advised otherwise, all Turnitin submissions are due by midnight (AEST) of the date specified. Please note that the time and the date of your Turnitin submission will be used to determine your official submission time. Additional Submission Information: It is recommended that your name, student ID and page number are included in the header or footer of every page of any assignment. You are also required to rename your assignment file before you submit via Turnitin as per below protocol: SUBJECT CODE, SI, SURNAME, STUDENT ID, ASSESSMENT NUMBER, SESSION. Example – ITC558 SI PATEL 11554466 A3 201730.doc Postal Submission Under normal circumstances postal submissions will not be accepted for any of the assessments required. Hand Delivered Submission Under normal circumstances hand delivered submissions will not be accepted for any of the assessments required. Feedback Feedback on your assignment can be viewed on Turnitin after the assignment results are released. You may also approach the lecturer in class for further clarification or feedback on the assignment. Assignment Return If your assignment was submitted on time, you should normally expect your marked assignment to be despatched/returned to you within 15 business days of the due date. If an assignment is submitted on time but not returned by the return date, you should make enquiries in the first instance to the Subject Coordinator. If the subject coordinator is not available, please contact your teaching team using the contact details and consultation procedures provided on your Interact2 subject site. Student Feedback and Learning Analytics Evaluation of Subjects CSU values constructive feedback and relies on high response rates to Subject Experience Surveys (SES) to enhance teaching. Responses are fed back anonymously to Subject Coordinators and Heads of Schools to form the basis for subject enhancement and recognition of excellence in teaching. Schools report on their evaluation data; highlighting good practice and documenting how problems have been addressed. You can view a summary of survey results via the Student Portal SES Results (https://student.csu.edu.au/study/subject-experience-survey-results) page.Charles Sturt University Subject Outline ITC558 201730 SB I-2 March 2017-Version 2 Page 26 of 26 We strongly encourage you to complete your online Subject Experience Surveys. You will be provided with links to your surveys via email when they open three [3] weeks before the end of session. Changes and actions based on previous student feedback The teaching team had a thorough discussion on further improvements based on their experience and students' feedback. As a result the assignments are modified to require NS diagrams instead of pseudocode. Learning analytics in this subject Learning Analytics refers to the collection and analysis of student data for the purpose of improving learning and teaching. It enables the University to personalise the support we provide our students. All Learning Analytics activities will take place in accordance with the CSU Learning Analytics Code of Practice. For more information, please visit CSU’s Learning Analytics (http://www.csu.edu.au/division/student-learning/home/analytics-and-evaluations/learning-analytics) website. Data about your activity in the Interact2 site and other learning technologies for this subject will be recorded and can be reviewed by teaching staff to inform their communication, support and teaching practices. Based on past analytics, changes made to the subject included and . Services and Support Your Student Portal (http://student.csu.edu.au) tells you can how you can seek services and support. These include study, admin, residential, library, careers, financial, and personal support. Develop your study skills Develop your study skills (https://student.csu.edu.au/study/skills) with our free study services. We have services online, on campus and near you. These services can help you develop your English language, literacy, and numeracy. Library Services CSU Library (https://student.csu.edu.au/library) provides access to the eBooks, journal articles, books, and multimedia resources needed for your studies and assessments. Get the most out of these resources by contacting Library staff either online or in person, or make use of the many Library Resource Guides, videos and online workshops available. CSU Policies and Regulations This subject outline should be read in conjunction with all academic policies and regulations, e.g. Student Academic Misconduct Policy, Assessment Policy – Coursework Subjects, Assessment Principles Policy, Special Consideration Policy, Academic Progress Policy, Academic Communication with Students Policy, Student Charter, etc. Please refer to the collated list of policies and regulations relevant to studying your subject(s) (http://student.csu.edu.au/administration/policies-regulations-subjects) which includes links to the CSU Policy Library (http://www.csu.edu.au/about/policy) – the sole authoritative source of official academic and administrative policies, procedures, guidelines, rules and regulations of the University. Subject Outline as a Reference Document This Subject Outline is an accurate and historical record of the curriculum and scope of your subject. CSU's Subject Outlines Policy (https://policy.csu.edu.au/view.current.php?id=00267) requires that you retain a copy of the Subject Outline for future use such as for accreditation purposes.