TDDD27 Advanced Web Programming (6 ECTS)
Vt2
## News
* 31/3 Course updated for 2026
* 2/4 Inital lecture [pdf and recorded presentation avaliable here](https://liuonline-my.sharepoint.com/:f:/g/personal/eribe22_liu_se/IgDPZbEWkZgLRZvEVpDGKwAiAXGx0FwMw7J_lwFU5Aonzm8?e=7BwH9o)
Have Questions? Click "Getting help" in the menu to the left.
----
## About the course
This course focuses on state-of-the-art, large-scale web development. It is an A-level project course with a focus on a deep understanding of technology in the web area. Particular emphasis is placed on modern and advanced client-side **frameworks**.
A fundamental understanding of web programming is assumed, as is a high level of general programming skill. Projects are performed by individuals or by teams of two or three. We examine knowledge, not products, and use oral examinations, screencasts, and GitLab code repositories (including code and commits) for examination. We read code and look for well-designed code, relevant **commit comments**, and valuable version control messages—but not documentation.
## Deadlines
* Register on WebReg: **April 11**
* Create project on GitLab and register via form: **April 14** \* Functional and technological specification on repo in `README.md`: **April 14**
* Project status seminar: **May 5, 6, 7, 11** *(Book on WebReg - will be announced)* \* Individual oral code screencast: **June 8** (Screencast link on git repo)
* Project screencast: **June 5** (Screencast link on git repo)
* Final source code upload: **June 5**
* Late submissions after summer: Email the examiner on the **22nd of August** stating that you have everything on your repo and providing the repo URL.
## TDDD27 VT2 2026 steps
(Read details in [Deliverables](https://www.ida.liu.se/~TDDD27/deliverables/index.en.shtml))
* Find partners or decide to work alone. (Groups of 1 and 2, or even 3, are fine; in special cases, 4 is OK. Groups of 4 must check with the examiner. Groups of 3 and 4 must create larger projects.)
* [Register on WebReg](https://www.ida.liu.se/webreg-beta/TDDD27-2026-1/PRA%201,%20The%20Course) for grading as a group.
* Create a **gitlab.liu.se** repo for the project. Use the prefix **TDDD27\_2026**.
* Add `eribe22`, `sahsa74`, and `andla63` as **Reporters, with an expiration date of 2027-12-31**.
* Register your gitlab.liu.se repo in this [form](https://forms.gle/3vsYzPTQSmwYE88j8). Submit the `https://` link. Only one submission per team\! **This is super important; this is how we organize the work.**
* Search [YouTube for TDDD27](https://www.youtube.com/results?search_query=TDDD27) for inspiration. Remember that previous years may not be **entirely** representative of **this year's requirements**, since technology moves forward and what was **once** hard is now perhaps easy or trivial.
* Determine frameworks for your project (see [Tech Requirements](https://www.google.com/search?q=project/index.en.shtml)).
* Determine your project idea.
* Add a project specification in the **README.md** of your GitLab repo by the deadline.
* Work hard and smart... start early **because** it takes time to learn the frameworks.
* Use AI to learn and get brilliant.
* Focus on the **front end** first. Tech in the front end is often much more complicated.
* Participate in half-time status report seminars. [Book time in WebReg - will **be announced** later].
* Submit your individual oral screencast with a code demonstration. You have 10–12 minutes to show your project and demonstrate that you have **achieved** the learning goals of the course and to what degree. Put the links on your GitLab repo.
* Also record a project screencast showing the project (as a team). Put the links on your GitLab repo.
* Make the final commit on the project.
## Changes from 2025
* No real changes.
* Project volume is still important.
* Projects with many details and worked-through designs are still important.
* **Boilerplate** projects will still not pass the course (see [Tech Requirements](https://www.google.com/search?q=project/index.en.shtml)).
## gitlab.liu.se only
Code must be version-managed on **gitlab.liu.se**. Full version history and all branches should be on GitLab. *A big push of code at the end of the course is suspicious*. Furthermore, do **frequent commits and write relevant comments**. We want to see all experimentation branches and all commits, not just `main`. We look for a vivid, frequent commit history and many branches merged into `main` with plenty of detail. The course **staff** are all active and senior web developers, and we know it gets messy below the surface.
## AI in the course
Using LLMs as a learning tool and for producing boilerplate code is OK in TDDD27, just like using Stack Overflow, copy-pasting code from tutorials, or picking segments from MIT-licensed projects on GitHub—all standard engineering techniques. Make use of AI to learn faster, but make sure you are actually **learning**. *Using AI but pretending it is your own work is cheating.* Make sure you are using AI to get smarter. AI to support coding only works if you are brilliant.
AI as a major component in your project is both good... and sometimes bad. It is easy to feel that you have a great system because your generative AI model creates very dynamic content. In the course, AI models give no "points" **technically**; it is like a database—something you have not **created**. Creating your own models is for other courses. Using them is often outside the web tech stack. Training AI models is also not part of this course. Such work can contribute to your project, but it cannot be a major part of the work for which you get credits.
### Course Evaluation Results
* 2025: overall grade 4.00
* 2024: overall grade 3.50
* 2023: overall grade 3.95
* 2022: overall grade 4.06 (COVID year)
* 2021: overall grade 2.93 (COVID year)
* 2020: overall grade 4.27
* 2019: overall grade 4.47
Page responsible: Erik Berglund
Last updated: 2026-04-02
