Term 1 Checklist
There is 1 remaining coursework element in Term 1, and it is worth a further 10% of your total coursework mark for the module.
The final element consists of a tutor marked assessment, and will involve a tutor or lab assistant marking the code in your GitLab repository. They will be looking to see how well you have understood and applied the knowledge and techniques taught in term 1, in your own work. They will also give you some direct feedback on your work.
The checklist that follows is intended to show you what they will be looking for. Please note, whether you have chosen to use mongo or mysql, the check points still apply.
Note that, in order to get the best mark, you will be able to show that you have understood the material to the extent that you were able to significantly extend or adapt the example Catflucks application.
Markers will look for evidence that you are able to apply subject-related knowledge in order to achieve the following:
- write a simple server script which is capable of serving a web application written in Python
- retrieve one or more documents (mongo) or rows (mysql) from one or more collections (mongo) or tables (mysql) (labs 3, 4 & 6)
- iterate over documents returned in a results cursor object (labs 6 & 7)
- filter and/or sort documents in the result set based on some simple criteria (labs 3, 4, 6 & 7)
- perform more advanced filtering and/or aggregation operations in a database query (labs 6 & 7, lecture 8)
- handle a POST request made via an HTML form in a server-side script (lab 7, lectures 7 & 8)
- demonstrate consideration for Separation of Concerns through the modularisation (separation) of related code (labs 6 & 7, lectures 7 & 8)
- demonstrate an awareness of how related data is modelled in the database. Ways to evidence this include table joins and tranasactions (MySQL), or bson object referencing (mongo).
- design and implement an original functional feature in a Python web app (evidence of deep learning, including an awareness of the underlying data structure)
- other relevant extension of the taught material
A smaller proportion of marks will be allocated for demostration of Python specific techniques.
These include the ability to:
- make a Python script self-executable
- utilise a range of Python's built-in functions and methods (i.e. string and list methods such as
- make use of user-defined functions (not necessarily written by you)
- design and implement reuseable functions (from scratch)
- write readable, well-presented code (i.e. use of comments, docstrings, sensible and consistent naming of variables and functions etc)
- You should submit a link to your GitLab repo via the VLE (Lab 9 submission portal)
- You should ensure all the lab assistants and tutors have master access to your repo (see the related post in the Announcements forum if you need names)
- A template README file is provided in the lab-9 folder of lab-exercises repo. It is recommended you use this to show your marker exactly how/where you have met the objectives listed above.
The deadline is Friday 15th December at 17:00 PM. Please do not use this as an excuse to miss the lecture though (you'd also miss the fun game!) Provided you submit your URL on time, you can keep committing to your repo until mid-night on Friday 15th, at the markers' discretion! ;-)