Homework (10 points)
Assignment |
Topic |
Release date |
Due date (20:00 EET) |
---|---|---|---|
Elixir fundamentals |
27.09.2018 |
06.10.2018 | |
TDD & Advanced Elixir |
03.10.2018 |
13.10.2018 | |
BDD/TDD on Elixir/Phoenix |
30.10.2018 |
06.11.2018 | |
Scheduled jobs |
06.11.2018 |
16.11.2018 |
You can find the grades for the homeworks, in the shared spreadsheet available here.
Programming challenges (bonus points)
The summary of the bonus points associated with programming challenges will be incrementally published in the spreadsheet available here?.
Project (40 points)
Project scenario: taxi-custserv.pdf
Project-related grades are available here
In order to keep track on the progress of the project and, more specifically, to verify the individual involvement, we will be checking the presence of the team members every two weeks (one week for the last review). Thus, being absent in 2 (out of 4) meetings will be penalized by discounting the 10 points that are reserved for "use of agile practices". Similarly, being absent in 3 meetings will additionally penalized by discounting 25% of the remaining points. Finally, being absent in 4 meetings will imply a penalization of 50% of the remaining points.
Final Product (20 points)
The prototype will be assessed in terms of the features that have been implemented. The elements to evaluate are the following:
- Scope of the solution (how much was implemented?)
- Functional correctness (does it work?)
- Functional validation
5 points will be reserved for assessing of the code coverage reached by testing in your prototype (both acceptance + unit testing).
Evidence of use of agile practices (10 points)
We will keep track of your development process as follows. Each week, 2.5 points will be given based on the evidence that you present for each sprint (e.g. backlog, features released, tests, etc.).
Report (5 points)
You should submit a report (PDF file) with the following structure on 19th December by 23:59 EET.
- A title page including the names and student numbers of all team members. Only include team members who contributed to the project in a non-negligible way. (The contribution to the project should be evident in the development process, e.g. number of commits, etc.)
- A brief description of your solution: features, final architecture, snapshots of your main views. You can also discuss the challenges you faced and open issues.
- Since the application of agile practices is central to this project, the document must describe how you applied them.
- Description of the test cases and the corresponding coverage. Examples of the test code may also be added.
- A URL to the platforms that you used for development (e.g. version control, continuous integration, etc.), and other evidence you refer in your document (e.g. videos on pair programming).
- Any other documentation that you feel would support your submission, but please keep it short.
Oral presentation (5 points)
The oral project presentations will take place on Tuesday 18h of December at 10:15-13:45. Each team will have 5 minutes maximum to present their product.
Policy for late submissions
Assignments are due on the dates shown in the table above. Assignments must be submitted by 20:00 EET on the due date. Assignments submitted up to 48 hours late will receive a penalty of -20%. Assignments submitted more than 48 hours late will not be considered for grading purposes.
The project is due on the date shown in the Project Specification. No late submission of the project is allowed, barring cases of force majeure.