Develop an application asked for in IIE01-IIE07
- Subject Code :
- Country :
Demonstrate exclusively a set of concepts and approaches covered during the weeks 1-7 (inclusive) Course-wide Lectorials* by creating one application of your own choosing from a list of application themes provided for inspiration. Your application must adhere to constraints and requirements in this document which will help you complete this assessment.
Please follow the following steps:
- Read and understand the functional, code+justification and documentation requirements under sections 3.1-3.3 of this document.
- Investigate a suitable and permitted theme from the provided list that would allow you to meet the above requirements, as detailed in section 3.4 of this
- Implement the program and get general supervision from your tutor as detailed in section 3.5 of this document. For consistency, specific clarifications can only be obtained via the Week 8 Major Assessment Project Clarifications forum from Gayan.
- Submit as per the instructions in section * Unless otherwise stated.
3.1 Functional Requirements
When choosing an idea for the program in section 3.4, ensure that you can adapt it to meet the functional requirements below. Section 3.2 Code+Justification requirements explain how you should implement the program when meeting these functional requirements.
F1: The program is a console-based interactive program which allows the user to add new records and display added records.
F2: Each record must include values of at least three different data types.
F3: The program must allow the records to be saved to and loaded from files of the CSV format. The user is able to specify the names of these files via the keyboard within the program. (Must include a sample .txt file with inputs that would create sample data and save it to a .csv file).
F4: Handles all errors gracefully (as shown in the Course-wide Lectorials); does not hide errors.
3.2 Code+Justification Requirements – Level 1 (+20 marks)
To receive marks for Code+Justification requirements, you must use the following code concepts as demonstrated during Course-wide Lectorials (conducted by Gayan) and add code justification comments when meeting the 3.1 Functional Requirements.
3.2.1 Code Requirements
Note: Code without justification in the required format would attract no more than 50% of the mark allocated for that component. Comments without code will not attract any marks.
- Acceptable approaches and code concepts: Assessments are used to determine if students have learned the concepts that have been used in class; for consistency, students must exclusively use the concepts and approaches shown during the Course-wide Lectorials, unless otherwise stated. If you wish to use a different concept, approach, etc. please seek written permission from Gayan via the Canvas->Discussions->Week 8 Major Assessment Project Clarification forum.
- Submission acceptability: For your submission to be acceptable for marking, the submission must be separated into exactly two modules named py and frontend.py with only the frontend module being runnable on its own. Must follow the approaches explained up to and including the IIE06 solution discussion Course-wide Lectorial.
- Code validity: A program with 1 or more syntax errors cannot be tested and therefore will attract 0 marks. Code that produces run-time errors would incur a 50% penalty on the entire assessment’s mark.
3.2.2 Justification Requirements
Even after writing code for all code + (plus) points and not doing any code – (minus) points, you must still write justification comments as required below or you will receive at most 50% of the code mark. Justifications must be based on the rationales given in the Course-wide Lectorial explanations by Gayan.
What to justify: All code block statements (lines that finish with colon symbols).
For a justification to be considered, it must satisfy all of the following criteria:
- Justification must discuss and evaluate current implementation of code block against the next best alternative implementation. (Note: The alternative code must not be shown, only discussed). Discussions should also include discussions of alternative data types for variables, etc., and alternative formulation of conditions.
Guidelines for discussion: Is there a simpler way to meet requirements without creating this code block? What is the closest alternative to creating this code block? What statements have you kept inside the code block and why haven’t you put them outside? Why are these statements in this order? What haven’t you added into the code block and why?
- Justification must be a paragraph (irrespective of size) using professional/academic English sentences. There must be no headings, decorative characters, emojis, etc.
- The must be added on the line(s) immediately before the start of the code block that is being justified. It is recommended to use the same indentation as the code block being justified for further clarity. Do not use inline comments.
- Must only add justifications as code comments (using # hash symbols). Documentation strings do not count as justification
3.3 User-guide Requirements (-6 mark penalty if not met)
Create an illustrated user guide as a PDF (one file) with:
- Professional/academic presentation and Contains a table of contents which refers to numbered pages.
- Most, if not all, text must be
- Has an introduction explaining the purpose of the application. Give a link to the original dataset that you used for inspiration.
- Has screenshots of sample inputs and screenshots of corresponding sample
- Has brief instructions on what the user can and cannot do (e.g. what they can and can’t input).
- Does not contain any references to code, even in backgrounds of (This document is intended for a non-programmer who only knows how to start your program).This user-guide must match with testable, functional and justified code to attract marks.
3.4 Application Theme Requirement
As the application that you need to develop for this assessment covers similar concepts to what has been asked for in IIE01-IIE07, in order for the submission to be marked, you are required to choose a different UTI setto the one that you used for IIE06-IIE07 (also it must not be a theme used in any of the study materials). If you wish to use a different dataset to the above, please ensure that you have permissions to use that dataset from the owner.
Alternatively, you can create a game (e.g. even an extension of the Week 4 major assessment) as long as all requirements in this document can be fulfilled.
Whether you choose a UCI dataset or something else, you will need to make sure that it is capable for demonstrating all of the requirements, no less, no more.
If not, you would need to make additional changes to that dataset to suit the requirements of this assessment. E.g. adding new columns, removing columns, changing the original formatting, changing file name extension, etc.
3.5 Receiving Supervision
As in the industry, assume that your tutor is your immediate supervisor in this project. It is recommended that you use the Canvas->Discussions->Tutor Supervision for Week 8 Major Assessment Project forum and the Weekly Assessment Help Tutorial sessions to consult your group’s tutor for general supervision on this project. Your tutor will not choose a program on your behalf or debug your code on your behalf; their advice will only be general. For consistency and fairness to all students, your tutors will not look at your assignment code. Instead, you should aim to explain your issues to your tutor in the context of IIEs to receive the necessary help.