TDDD27 Advanced Web Programming (6 ECTS)
Vt2
## News
* 1/4. Course [introduction lecture notes are here](slides/TDDD27_2025_intro.pdf)
Video recordings from the lecture: [Part 1:](https://liuonline.sharepoint.com/:v:/s/Team_Eriks_Exjobbare-EriksKanal/EcFDh8ak6C9NnWO_EakCrGQB1tkvIANSpWmRJSTmTi5xBQ?e=w1ihVf&nav=eyJyZWZlcnJhbEluZm8iOnsicmVmZXJyYWxBcHAiOiJTdHJlYW1XZWJBcHAiLCJyZWZlcnJhbFZpZXciOiJTaGFyZURpYWxvZy1MaW5rIiwicmVmZXJyYWxBcHBQbGF0Zm9ybSI6IldlYiIsInJlZmVycmFsTW9kZSI6InZpZXcifX0%3D)
[Part 2:](https://liuonline-my.sharepoint.com/:v:/g/personal/eribe22_liu_se/EQN5mb61C35LjtEF7Du_DvEBUZ5VObhr6lvAXELJvOUjjg?e=B9pwbN&nav=eyJyZWZlcnJhbEluZm8iOnsicmVmZXJyYWxBcHAiOiJTdHJlYW1XZWJBcHAiLCJyZWZlcnJhbFZpZXciOiJTaGFyZURpYWxvZy1MaW5rIiwicmVmZXJyYWxBcHBQbGF0Zm9ybSI6IldlYiIsInJlZmVycmFsTW9kZSI6InZpZXcifX0%3D)
[Part 3:](https://liuonline-my.sharepoint.com/:v:/g/personal/eribe22_liu_se/Ee0ihZyBv0xIkVTdd0aCMGIBAlGsvpknM7YaBG5zOcqHGA?e=ulpbJq&nav=eyJyZWZlcnJhbEluZm8iOnsicmVmZXJyYWxBcHAiOiJTdHJlYW1XZWJBcHAiLCJyZWZlcnJhbFZpZXciOiJTaGFyZURpYWxvZy1MaW5rIiwicmVmZXJyYWxBcHBQbGF0Zm9ybSI6IldlYiIsInJlZmVycmFsTW9kZSI6InZpZXcifX0%3D)
[Part 4:](https://liuonline.sharepoint.com/:v:/s/Team_Eriks_Exjobbare-EriksKanal/EbyKHbZ-YH1Js2UfFQQ9BRIBFmiFCVoLOzGZ-mr7pW0rWg?e=vbtwlL&nav=eyJyZWZlcnJhbEluZm8iOnsicmVmZXJyYWxBcHAiOiJTdHJlYW1XZWJBcHAiLCJyZWZlcnJhbFZpZXciOiJTaGFyZURpYWxvZy1MaW5rIiwicmVmZXJyYWxBcHBQbGF0Zm9ybSI6IldlYiIsInJlZmVycmFsTW9kZSI6InZpZXcifX0%3D)
* 1/4 Course fixed for 2025, no major changes from 2024
#### Have Questions? Click "Getting help" in the menu to the left.
## TDDD27 VT2 2025 progress steps.
* Find partner, decide to work alone.
* [Register on webreg](https://www.ida.liu.se/webreg-beta/TDDD27-2025-1/PRA%201,%20The%20Course) for grading
* Create and a **gitlab.liu.se** repo for the project. Use the prefix TDDD27_2025.
* Add eribe22, sahsa74 and andla63 **as Reporters, with Expiration date 2026-12-31**.
* Register your gitlab.liu.se-repo in this [form](https://forms.gle/H92ebx5GKCZ3hLAE9). Submit the https:// link to your repo. **This is super important, this is how we organize the work**
* Search [youtube for TDDD27](https://www.youtube.com/results?search_query=TDDD27) for screencasts for inspiration. Remember that previous years may not be entirelly representative of this years goals since things change and some things gets easier.
* Determine frameworks for your project (see [Tech Requirements](project/index.en.shtml)).
* Determine your project idea.
* Add a project specification **in the Readme.md** of your gitlab.liu.se repo by the deadline.
* Work hard and smart ... start early becasue it takes time to learn the frameworks.
* Focus in the *front-end* first. They are genreally much more complicated.
* Participate in half-time status report seminars. [Book time in webreg].
* Submit your individual oral screencast with code demonstration. Here you have 10-12 minutes to show your project and to demonstrate that you have achived the learning goals of the course and to what degree. Put the links on your gitlab.liu.se repo.
* Also record a project screencast showing the project (as a team). Put the links on your gitlab.liu.se repo.
* Make the final commit on the project.
## Deadlines
* Register on webreg *April 11*
* Create Project on gitlab and register in form *April 11*
* Functional and technological specification on repo in readme.md. *April 11*
* Project status seminar. May 6, 7, 13, 14 *(book on webreg)*
* Individual oral code screencast. *June 6* (screencast link on gitrepo)
* Project screencast. *June 6* (screencast link on gitrepo)
* Final source code upload. *June 6*
* Late submissions after summer: email examiner on the *22:th of August* that you have everything on your repo and provide also the repo URL.
----
## About the course
This course has a focus on state-of-the art large-scale web development. It's an A-level project course with focus on deep understanding of technology in the web area. A particular focus is placed on modern and advanced client-side framworks.
Fundamental understanding of web-programming is assumed, as is having a high level of general programming skill. Projects are performed by individuals or by teams of two/three. We examine knowledge, not products, and use the oral examination, screencasts and gitlab code repos code and commits for examination. We read code and we want well-designed code, relevant commit-comments and valuable version control messages ... but not documentation.
## Changes from 2024
- no real changes
* Project volume still important
* Projects with many details, worked through designs still important
... boiler-plate projects will still not pass the course (see [Tech Requirements](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.liu.se. *A big push of code at the end of the course is suspicious*. Furthermore, use **freequent commiting and write relevant commit comments**. We want to see all experimentation branches and all commits, not just main. A vivid, frequent commits, many branched with merged main git-repo with a lot of details about what happens. The course staffa are all active and senior web developers and we know it gets messy below the surface.
## AI in the course.
LLMs as a learning tool and producing boiler-plate code is ok i TDDD27, just like working with stackoverflow, copy-pasting code from tutorials, picking stuff from MIT-projects on GITHUB etc.... all other engeneering techniques. Make use of AI to learn faster, but make sure to learning. *Using AI, but prentending its your work is cheating.*
As a concequence of LLMs, your projects need to be bigger, more unique, and have more details to be approved since the world is now diffrent than before 2024.
AI as a component in your project is both good ... but sometimes also bad. Its easy to feel that you have a great system beacsue your generative AI model creates very dynamic work. AI models give no value technichally to the proejct, its like a database, something you use outside the web tech stack. Traning AI models is also not part of this course, such work can contribute to your project but not be a major part of the work you get credits for.
### Evaliute evaluation of course
* 2024: overal grade 3.50
* 2023: overal grade 3.95
* 2022: overal grade 4.06 (covid year)
* 2021: overal grade 2.93 (covid year)
* 2020: overal grade 4.27
* 2019: overal grade 4.47
Page responsible: Erik Berglund
Last updated: 2025-04-11