Project and Exam
The Project (25 points)
The project is based on the outcome of assignments 1 & 2. It is a team-based assignment, i.e., to be completed by the same team involved in assignments 1 & 2.
The project deliverables are a working system and a report. Each deliverable will be discussed at a checkpoint during a practice session.
- Project consultation (Week 13)
- Project checkpoint #1 (Week 14 - 13 points)
- Project-backend + Security aspects
- Project CP #1 2022
- Project checkpoint #2 (Week 15 - 12 points)
- Project-frontend + Security aspects
- Project CP #2 2022
Note: I disabled submission of project deliverables as a team but it is enough that only one member of the team submits for all, I will manually add the grades to all team members.
The Exam (50 points)
General information: The final written exam will be worth 50 points. The remaining 50 points are obtained from the assignments and project. You need to register for the exam through the information system as usual.
The final exam requires physical attendance and it will be conducted through Moodle. Therefore, you will need to bring your laptop with you.
To pass the course, you must score at least 21 points (out of 50) in the final exam (or resit) and a total score of at least 51 points (exam + assignments + project).
Exam dates and duration The duration of the exam is 3 hours and 30 minutes (including theory and practice), and the dates are:
- Exam 1: 23.05.2022 14:15-18:00 (3.5 hours).
- Exam 2: 06.06.2022 14:15-18:00 (3.5 hours).
- Resit exam: 20.06.2022 14:15-18:00 (3.5 hours) - Resit is allowed only for those who failed the previous exams.
Exam structure: The final exam consists of two parts, theory (25 points) and practice (25 points).
Theory part (25 points) It will consist of short answer questions regarding the concepts addressed during the semester. You can check the materials under the Lectures tab in this wiki, e.g., check the recorded videos and links to other related materials.
Practice part (25 points) The practice part will follow a profosefully/deliberately/initially vague style, which means the student needs to figure out how to solve this question.
Why this style?
- To assess how the student defines the problem to be solved; and
- To assess how the student will use his acquired knowledge to solve the defined problem.
In short, this means that this practice will not contain detailed tasks (e.g., T1, T2) to be performed.
The practice part will consist of one scenario to be developed. You will be asked to either develop a back-end application, or you will be provided with a fully functional back-end application and asked to develop a front-end application.
IMPORTANT:
Your developed application must be hosted on Heroku. You have to implement the CI/CD method to automate the process of Continues Integration and Deployment using Github Actions.
Your project source code should be hosted on Github, the repository should be made Private, leave your solution in the master branch of your repository, and add me (mohamad.gharib@ut.ee) to the repository as a collaborator with all permissions.
Please submit the links to your Github repository and the Heroku apps in the answer to this question in Moodle.
Do not make any commits to “master” after the end of the exam.
You MUST commit any changes made to the repository every half an hour and of course when you finish.
Note: if we observe suspicious behavior, the student involved will be called for an online interview. Examples of suspicious behavior can be, all the commits happening at the end of the exam or with a non-realistic timeline, too many similarities between projects, etc.