Topics¶
You can find the course project topics under this topic in the course index.
The projects have build-up exercises on each exercise page besides the first one. These tasks give you important pieces that are needed to complete the project.
Each topic has a detailed explanation on its own page. Choose one of the topics. If you submit multiple topics, inform the course staff in advance which one you would like to be evaluated. Otherwise we'll pick one at random.
Project Criteria¶
This section contains criteria that determine whether your project will be accepted. If your project doesn't fulfill the conditions detailed here, it can be rejected.
With the spread of use of AI it's very easy to find solutions from the internet to most programming tasks at this level. At the university, course evaluation is still based on how well the student has achieved the course's learning goals. This evaluation is impossible to perform if it's not possible to distinguish which parts of the submitted code are actually made by the student, and which parts are taken from external sources. All code in the file should look like it was made by the same person. In addition, the assumption is that all code looks like its written with what was taught on this course. The code must have a uniform style and level.
By level we mean that the code uses programming techniques from the same skill level to implement parts that are similar to each other. Often solutions found in the internet are written by professionals or otherwise experienced programmers, and they use available language features - including a lot of features that are not covered in a basic level course. These solutions will stand out very clearly in code that's mostly written using basic level techniques. All of these fancy solutions have a basic level equivalent. We expect that if you truly understand the fancy solution you found from the internet, you can also write its basic level equivalent in your project.
The AI also tends to produce code that follows certain patterns. As we have prohibited the use of AI in this course, any submissions that clearly look like they were made by AI will be rejected. If you've followed this course, it's not that easy to accidentally write code similar to what AI would produce. The safest bet is to follow the guidelines and forget the existence of AI. Use your own human intelligence.
Sources can be roughly categorized into four varieties all of which will be handled in the same way: internet tutorial; AI answer; answers found from the internet; and finally your friend's code. The last one also includes code that was originally written for an exercise task. If you find it absolutely impossible to solve some small part of the project yourself, you must mark what you have borrowed and from where with a comment above the borrowed code, with a link to the source. If you have used external sources for exercise tasks, you are similarly responsible for marking in the same way when including it in your project.
We use a code similarity analysis tool for all submitted projects. If there are significant similarities between submitted projects, we must examine them using the University's current guidelines regarding cheating. If you feel like you cannot collaborate with a friend without directly copying each others' code, choose another project topic. Please be aware that this also means that if you let someone copy your own code, your project submission is also at risk of being rejected. At the very least, your own grade will be delayed while the matter is being investigated.
Project Interview¶
Part of the project evaluation is a mandatory interview, carried out in-person at the university. In this interview you must answer three questions regarding your project submission. The quality of your answers will impact your project's score. Furthermore, if you fail to answer two of the questions, the project will be rejected.
Reservation calendar for the interviews will be found in Lovelace from the course's table of contents. The interview is just as important as an exam and you are responsible for arriving in time for the time you have reserved. If you arrive late and this causes you to not have enough time to answer all questions, the questions will be considered as failed.
Evaluation¶
Your project is only graded once. If it's not in acceptable condition, it will be rejected and your grade for the course will be in the range of 1-3. Check your work very carefully before your final submission. The latest version that was submitted before the deadline will be evaluated.
You can find the evaluation criteria by clicking the "Evaluation Criteria" on the project topic page.