Project
Code of Honor
This project is intended to deepen your understanding and develop your skills, and it forms a substantial part of your final evaluation. It must be completed collaboratively as a group. Any form of academic dishonesty is a violation of the Code of Honor. You are encouraged to use publicly available resources, provided that all sources are clearly cited and your individual contributions are clearly explained. Failure to properly acknowledge your contribution may be considered a lack of participation, and projects without meaningful individual contributions will be deemed incomplete.
Important Note on Overlap
Some students are taking this course along with ECE1508: Applied Deep Learning. Note that you cannot present the same project in both courses. Any overlap between the projects should be discussed in advance with the instructor.In the course project, you are required to define an engineering problem and develop a solution based on machine learning. The problem and solution are of your choice. This is a chance for you to develop an engineering project for a real-world problem.
Guidelines and requirements are detailed in the sequel. Nonetheless, there is intentional ambiguity and uncertainty in the project to give room for enhancing your decision-making and critical-thinking skills.
The following rules are to be followed for full credit
-
The project must be done in groups of 3. No group of 2 or less will be allowed, unless necessary, e.g., integer-division-wise, dropout of a group member or so.
-
The project topic is of your own choice.
-
The solution to the problem you define must use machine learning.
-
The machine learning solution should go through an improvement process. A primary solution can be an idea discussed in the course or something simple. You should refine this solution via machine learning either via a tool taught in the course or something out of the course content. Do not simply show a problem and a solution: explain why this solution is chosen and what does it do compared to a basic or naive solution.
-
You are allowed to use a dataset available on the internet while referencing it in your report.
-
The project is not required to be new/novel/not-done-before. You are encouraged to use solutions available in the literature as a scientific research or technical project. However, you cannot copy code or text from these projects as this is considered plagiarism and is a violation of the University of Toronto academic code of conduct. Any code or text used in the project, e.g., as the baseline, should be properly cited and will not be counted as the project work.
-
In case, conflict arises between team members regarding the project topic and specifics or tasks, it is expected to be managed within the group. Teaching team will not intervene to resolve conflicts.
-
Use of AI: Responsible use of AI is allowed to enhance productivity. This means that you can use AI for brainstorming, deep research, debugging, or sanity check. Relaying on AI to decide for the design or build the main part of project, e.g. copying directly texts, modules, or a big chunk of code generated by AI, is not accepted. Any use of AI must be reported in the final report (see the AI Attestation part in the template).
Submission Procedure
The main body of work is submitted through Git. In addition, each group submits a final paper and gives a presentation. In this respect, please follow these steps.-
Each group must maintain a Git repository, e.g., GitHub or GitLab, for the project.
- The repository must be initiated by the proposal submission deadline.
-
By the time of final submission, the repository should have:
- Well-documented codebase
- Clear
README.mdwith setup and usage instructions - A
requirements.txtfile listing all required packages or anenvironment.yamlfile with a reproducible environment setup - Demo script or notebook showing sample input-output
- If applicable, a
/docfolder with extended documentation
-
A final report (maximum 5 pages) must be submitted in a PDF format. The report must be written in the provided formal style, including an abstract, introduction, method, experiments, results, and conclusion.
- Important: Please make sure to complete the sections Teamwork Attestation, Consent for Information Sharing, AI Attestation.
- Important: Submissions that do not use template are considered incomplete.
- A 5-minute presentation is given on the second week of April, i.e., April 6 to 10, by the group.
Some Advices and Suggestions
The following are guidelines that help you organize the project and meet expectations.
- Use the Piazza post Find a project partner or other means to form a group of 3.
- Reach out to your teammates to discuss the project topic, potential machine learning solutions and the availability of datasets to help you develop your solution.
- Brainstorm ideas and use online libraries to define the scope of your project.
- Write 300 words (or less) to highlight the problem you plan to solve, the motivation of your project, why you solve it via machine learning, and briefly how you intend to solve the problem. This is similar to a conference paper abstract, but without having results or conclusions.
- Start developing the machine learning solution to solve the problem at hand.
- Gather results that validate your solution. You should decide on your own metrics to evaluate your own work.
- Prepare the report in Project Report Template. The report must not exceed 5 pages excluding references and appendices. Do not use Microsoft Word.
- The report should have the following sections: an Abstract, Introduction, Design, Results, and Concluding Remarks. Details of what is expected in each section is written in the template.
- The report should be technically sound, and not casually mention decisions without justifying them. Hiding some technical details is acceptable as details will be there in your source code. For example, the report should not mention that you used NumPy, but it should mention that you used stochastic gradient descent with a learning rate of 0.0001.
- Write well. Presentation including quality of writing, figures and organization accounts for a significant part of your grade. If your grader doesn’t understand your writing, that will severely impact your grade.
- You are required to also upload the source code used to solve your problem. You should compress the source files into a .zip and upload on Quercus. Your files should be annotated well OR/AND be provided by a README file.
- We recommend documenting who did what to ensure if conflict arises there is enough evidence to resolve it.
Attention
In engineering and science, this is a common practice that one solution does not work or what you implement does not give the expected results. So, if your solution/implementation does not give any improvement, does not answer the problem you had initially, or does not return the same result as you expect from the literature, it's all OK! You can still submit your project and it will be marked taking all the items mentioned above. You should never by any means try to fake results or copy from online resources! An incomplete course project would never be worse than fake results or a copied project!Templates for Proposal, Report and Presentation
- Report Template - Mandatory: Other templates are not accepted!
- Prsentation Template - Optional You can use other template as well
