TDDD27 Advanced Web Programming
Examination
## Format
Final examination is based on **screencast** presentations. You submit two screencasts: (a) one individual code and system demonstration which each team member records, and (b) a project screencast that can be done together. The **gitlab.liu.se** repo code, version history, and commit comments are also used for the evaluation.
An individual live presentation may be requested by the staff if there are any uncertainties.
## Division of Labour
You cannot divide the knowledge.
Every student must understand all parts of the project, such as the frontend, backend, data storage, security, and so forth. You cannot divide this knowledge.
You can divide functional development as long as everyone touches all parts of the system and gains the necessary knowledge. Teach one another.
## Documentation
**We are coders; we read code and commits. Branching and commit comments are all part of the examination. Make sure you commit/push frequently with comments that describe the work. This is very good practice and the best form of documentation.**
## Passing and getting good grades
Grades of 3 to 5 will be issued. International students (such as Erasmus students) will also be graded according to ECTS (grades A–FX). For the higher grades (4, 5, and VG), the project must be especially good. The projects are graded according to the following criteria:
* Maturity in development demonstrated by the students
* Proper use of programming techniques and correct use of frameworks
* Completion of a mid-sized project
* The advanced use of technologies
* Good use of version control during development
* Code quality and refactored code—easy-to-read code (code is the documentation)
* The timely delivery of the project
All projects must fulfill the technical requirements. These can be regarded as the basic set of requirements for a passing project.
In this course, we grade your knowledge of web development in relation to the technological requirements, demonstrated through your project and your individual presentations. It is impossible to give very concise criteria for grades 4 and 5 since everyone is allowed to, within reason, choose their own frameworks. It all really depends on your project and the way you use the technologies.
A project can be graded 4 or 5 based on two criteria: **volume** and **good/advanced programming**, or from **technological experimentation** beyond the basic requirements. These two paths can also be mixed.
What will **not help you pass the course or get a good grade** is a "safe" application that constitutes a trivial programming task given the right choice of technology. Building a blog, for instance, takes 15–20 minutes in many frameworks according to screencast tutorials. You need to really drill down and learn what these frameworks are all about and have an application idea that enables you to do that. Go beyond the basics. If you choose tools that automate steps, use them as a stepping stone to a higher level of **functionality**.
Research on higher education shows that deep but more limited learning is better than broad surface learning.
## Late submissions
If you are unable to complete your project before the given deadline, you will be given the opportunity to finish and demonstrate your project during the re-examination periods in August and in October/November. After that, you can return to the course next year. To schedule a new **opportunity** for examination, **send an email to the examiner to book a time for a demonstration by August 22 or October 15**.
Page responsible: Erik Berglund
Last updated: 2026-04-02
