Assessment Task Information
Assessment title:
Project 2
Module Name:
Programming
Module Code:
FC712
Tutor’s Name:
Sophie Norman
Assessment will be set in:
Week 6 Term 2
Assessment is due in:
Week 10 Term 2
Assessment weighting:
40%
Assessment Task Instructions:
Core Task:
Below are 2 long programming tasks, one in Python and one in Python + Flask. For each of the two tasks you should also detail (in a short report);
– The algorithm (pseudo code, flowchart or other recognised formats)
– A list of key variables, functions and data structures used in the program and how they are used
– Details of how you tested the program
– A summary of the software developed
In the first task of the project you are required to build a web form using FLASK and wtforms. The web form should be a questionnaire for your courses to rate how well you have done in the course. The questionnaire should contain questions about your name, GIC enrolment number, and email address, each in a TextField with a label. It should also have various questions where you can write long answers in a TextAreaField, have Boolean answers in a BooleanField or have radio buttons in a RadioField. The form should have a submit button which when pressed should save the answers in a .txt file. You should use a template to design your webpage.
In the second task of the project you are required to come up with your own Python project idea, produce a software engineering requirements document, for example a flowchart, build your software and produce documentation for how your software works up to a maximum of 400 words
You will find below a suggestion for what a project might look like. However, we would like you to produce your own ideas. More difficult ideas produced to a high standard will be marked higher than more simplistic ideas.
Minimum requirements:
– you must comment well throughout your code,
– you must have a graphical user interface,
– you must make use of exception handling,
– you must use a search/sort algorithm,
– your project should be made up of functions, at least one of which must be a recursive function,
– you should be using complex data structures, for example nested lists or lists of dictionaries, and
– you must have file input and output.
Structure:
Your report must include: Title page, contents page, page numbers and declaration of ownership
Section 1.1: Task 1 Algorithm – The algorithm used expressed as a flowchart, pseudo code or other recognised nomenclature.
Section 1.2: Task 1 Technical Overview – A description of the key variables, functions and data structures used.
Section 1.3: Task 1 Testing – A description of how the program was tested. Include an overview of the methodology, test data, test tables and results.
Section 1.4: Task 1 Summary – a short (no more than one page) and accurate reflection of how well you think the solution works and what improvements are needed or could be made.
Section 2.1: Task 2 Algorithm – The algorithm used expressed as a flowchart, pseudo code or other recognised nomenclature.
Section 2.2: Task 2 Technical Overview – A description of the key variables, functions and data structures used.
Section 2.3: Task 2 Testing – A description of how the program was tested. Include an overview of the methodology, test data, test tables and results.
Section 2.4: Task 2 Summary – a short (no more than one page) and accurate reflection of how well you think the solution works and what improvements are needed or could be made.
Section 3.1: Task 1 code listing
Section 3.2: Task 2 code listing
Section 4: Reference
Theory and/or task resources required for the assessment:
You will need to use Python programming language. This will be available on the university computers and can also be downloaded and installed free of charge to your home PC/laptop.
You will also need to use a text editor. These can be freely downloaded.
Your tutor will advise you on the use of these
Assessment reference style:
As well as any literary references you should include references to any Python or FLASK code used that is not sourced from the taught material (e.g. labs/lectures). Code references MUST BE referenced within the code. E.g.
# The following 3 lines of code were taken from https://stackoverflow.com/questions/2960772/how-do-i-put-a-variable-inside-a-string-in-python
Or
# The following lines of code were adapted from https://stackoverflow.com/questions/2960772/how-do-i-put-a-variable-inside-a-string-in-python
Literary references should be in the Harvard style. You do not need to include a bibliography
Expected word count:
You should write no more than 1 page for each section. Note that this is a limit; not a target. There is no minimum word count
and you should be succinct in your writing and avoid repetition. Use diagrams, lists and tables wherever possible.
The Reference and Appendix sections are not included in the word count. You may write additional appendices as needed.
Submission Requirements:
You must type your assessment in Arial font 11, with single spacing.
You must submit the assessment electronically via the VLE module page. Please ensure you submit it via Turnitin.
Assessments submitted after the submission deadline may incur penalties or may not be accepted.
Assessment Mark:
The assessment will be marked using the following weighted marking criteria:
Task 1 Code functionality 10%, Code structure 10% (Total 20%)
– Task 1 Documentation: Algorithm and Data structures 10%, Testing and Summary 10% (Total 20%)
– Task 2 Code functionality 15%, Code structure 15% (Total 30%)
– Task 2 Documentation: Algorithm and Data structures 15%, Testing and Summary 15% (Total 30%)
You will receive a % mark in each of these categories and your overall mark will be calculated as the sum. The overall mark will also be a percentage mark (0-100%). You should examine the marking schema for further details of the marking.
Assessment Feedback:
Your tutor will mark the assessment and provide you with a written feedback sheet. You can use this feedback to guide your further learning on the module