Modality
The exams will be delivered fully ONLINE.
The entire exam will be open-book. That is, you will be able to use slides, books, or related material. However, you cannot share any exam-related information (via email, messaging, phone, etc.) with any other person during the exam.
You are allowed to use all the code you consider convenient, including the code from the course handouts. As part of the exam, you may be asked to start a project from scratch or to continue the development of an existing project.
Dates
You must register for the exam you wish to attend in the Student Information System (SIS). There is no limit of attendance.
- Exam 1: Tuesday, 15 December 2020, 08:15 – 12:00
- Exam 2: Tuesday, 12 January 2021, 10:15 – 14:00
Structure of the exam
The exam is organised in two parts (theory/practice).
The theoretical part (20 points) aims to evaluate your understanding of the concepts of agile software development. It consists of questions related to what we discussed during lectures 1-6. This part will be planned to be completed in no more than 45 minutes. Typical questions might include multiple-choice or open-ended questions where you have to understand the studied material and apply it creatively to answer the question.
Only once you submit the theoretical part of the exam, you will be able to start the practical part.
The practical part (40 points) aims to evaluate the acquired skills for web application development. It consists of a narrative (scenario), which defines the requirements you will have to implement. This part is planned to be similar to homework 2. You will submit your code to a git repository.
In total, you can get up to 60 points for the exam.
The contents
The theoretical part might cover all the concepts studied in Lectures 1 to 6.
The practical part will ask you to:
- Follow the BDD cycle in the implementation of the requirements. This includes writing Gherking features and implementing the steps using White_Bread.
- Follow the TDD cycle, which implies you have to write test cases. We explicitly ask for requirements that are covered by your tests.
- Implement the requirements described by the scenario using Phoenix/Elixir
- Define/Implement Models: Database Migrations and Schemas
- Define the URLs (router file) and implement the required functionalities in your controllers
- Implement views/templates. Note that you may be asked to work with user authentication too. You will NOT be asked to use any sort of Geolocation/Map services or VueJS.
Grading and Academic Integrity
We will NOT ask you to record or share your screen during the exam. However, you should be aware that your actions within Moodle and the repository are recorded in log files and monitored.
Identical answers or cases in which exchanging of information during the exam is evident will lead to failing the entire exam for all the students involved, i.e., senders and receivers.
In cases of suspicious answers or solutions, you might be called for an individual interview/oral examination in which you must be able to explain any provided answer or solution or prove you understanding of the concepts. The final grade of the exam will be decided after the interview/oral examination.
Important considerations NEW!
To avoid issues during the exam, please make sure of the following:
- You have a stable internet connection. Please avoid using your smartphone as a mobile hotspot. It is better if you are connected to a wired network instead of a wireless one.
- You have access to gitlab.cs.ut.ee. You should be able to access this Gitlab repository by using your UT credentials. You will be ask to create your repository under that domain during the exam. Solutions hosted in other repositories (bitbucket, GitHub, etc.) will not be considered. If you have problems accessing, please let me know.
- During the first part of the exam, the question items will be assigned sequentially. This means you will not be able to review/correct your answer once you press "next page".
- Please only open the second part of the exam once you have finish with the first part. The description of the second part of the exam will be in Moodle, under the corresponding link.