Supervision information
Final Year Projects and taught MSc Dissertations
Introduction
I supervise Final Year Projects (FYP) and taught MSc Dissertations on topics related to Computer Vision and Data Science e.g. Machine learning, Neural Networks, Deep Learning, AI, Data Visualisation and Statistics. In the following, the word project
refers to either a FYP (CS440, CS450, CS460) or taught MSc dissertation (e.g. CS648 MSc Data Science, CS640 MSc Soft. Eng.).
The project is a self learning experience where students are expected to take initiative and explore their chosen topic in depth. Students have access to a wide range of resources, including online courses, research papers, and datasets, to aid their learning. Therefore it is expected that students will engage in self-directed learning and seek out the resources they need to succeed. It is expected that the project provides an opportunity for students to develop their skills (e.g. git, programming, problem solving, creativity, time management) and knowledge in a practical setting.
Requirements
For students wishing to do a Computer Vision project with me, it is required to take CS410 Computer Vision module or to show that a Computer Vision module has been taken in the past.
For student wishing a data science project with me, it is required to have taken (or to take) a machine learning, neural networks, deep learning or statistics module (e.g. CS401, CS404, CS636 etc.).
Programming languages
The student can choose the programming language(s) for their project.
Popular programming languages used for Computer Vision and Data Science are:
- Python, jupyter notebook
- R
However others can be used if appropriate e.g.
- Matlab
- C/C++/C#
- Julia
- Q#
- …
Git for code
Student should create a repo for their project on CS gitlab and share this repo with me.
This repo should be submitted as supplementary material (zip) to the report on moodle to meet deadlines as set by the project coordinator (see instructions on moodle).
This repo should includes all codes with a useful README.md
so that others understand how the repo is organised and how the code can be run. An important focus of the project is to develop good software engineering practices, including version control, documentation, and testing for reproducibility.
In addition a diary.md
should be kept up to date in the repo to document the work done on a weekly basis with clickable links (urls) to ressources that were used/tested/read.
Large Files on OneDrive
Students have access to OneDrive for storing large files such as datasets and model weights when these are too large for the CS Gitlab.
If needed I may also ask student to share these large project files via OneDrive.
Meetings sheduling
Student should email me to schedule a meeting when needed during teaching term time: please provide the gitlab repo link in your email to me so that I have an opportunity to catch up prior to the meeting and be able to provide feedback by doing a code review:
“The primary purpose of code review is to find code that will be hard to maintain. The reviewer looks at the code and tries to understand what it is doing and how. If they can’t, that means it will be hard to maintain in the future, and should be fixed now, while the original author is still familiar with it.” (source 2025)
While every effort is made to support students, due to time constraint, it is unlikely that feedback will be provided on full length technical reports before submission. But feedback can occasionally be provided on a 1 page document (e.g. for discussion on results illustrating software performance) during the project lifetime.
Summer months (July-September)
When part of the project runs during the summer months, students are expected to work independently on their projects until their project submission deadline and so no meetings are expected with me as I may not be available during that period. Student can however email me for asynchronous communication if needed: student’s email should include the gitlab repo link to the project.
Report writing
For non-technical aspects of the project such as report writing, students are encouraged to follow best practice guidelines such as provided by the Institution of Engineering and Technology (IET), as well as use report templates and guidelines as provided by the project coordinator on moodle.
For additional help, student should consult MU Academic Writing Support (AWS).
When appropriate, student should reflect in their report on the ethical implications of their project work.
Time management
1 ECTS is equivalent to about 20-25 hours of student’s work so
- a 5 ECTS project demands 100-125 hours of work
- a 15 ECTS project demands 300-375 hours of work
- a 30 ECTS project demands 600-750 hours of work
This includes all activities related to the project, such as research, reading, coding, debugging, testing, and documentation, meeting scheduling, meetings, report writing, presentation preparation, following moodle instructions and meeting deadlines, etc.
Students are encouraged to plan and monitor the time dedicated to their project work. This can be done by creating a (private) calendar dedicated to the project (e.g. using the outlook calendar) to organise and monitor these project hours, or by logging in hours in a time.csv
file (e.g. table with 2 columns: date and hours spent, where summing hours gives the total time spent on the project).