Course syllabus

DAT076 / DIT126
Web applications LP3 VT21 (7.5 hp)

This course is offered by the department of Computer Science and Engineering. The aim of the course is to give students a broad introduction to enterprise-grade web applications such as e-commerce sites.

Schedule for the course: See bottom of page

NEW: Minutes of mid-course meeting

Sign up for final presentation time

Course syllabus at Chalmers course portal

Lecture slides and recordings

Information about lab assignments and lab sessions

Our Slack workspace

F.A.Q (Common Issues)

Project Information


Week One: HTTP and Web Servers

To do this week:

  1. Join Our Slack workspace.
  2. Watch Lecture 1 (Introduction to the Course)
    Lecture slides: Lecture 1 (Introduction).pdf 
  3. Watch Lecture 2 (HTTP & Application Servers), uploaded soon.
    Lecture slides: Lecture 2 (HTTP & Application Servers).pdf 
  4. Form a project group of 4-5 students and assign yourselves to a group here on Canvas: Project Groups. Decide on an idea for your project. Book a time slot for your first supervisor meeting next week.
  5. Read Practical JSF in Java EE 8 Chapter 2 pages 22-24 (HTTP)
  6. Complete Lab Assignment 1 : Preparing the Environment. (This assignment is to be done individually, not in your project group.)

Distance Learning

These are the plans for the course based on the most recent advice given by the Folkhälsomyndigheten (see (Links to an external site.)).

This course will be carried out entirely by distance learning.

  • Lab supervision and presentations will be given by Zoom.
  • Lectures will either be given live by Zoom, with recordings uploaded here afterwards; or they will be pre-recorded and uploaded to Canvas.
  • A Slack workspace will be used for communication throughout the course.
  • You will be given guidance on tools for collaborating on the project without being physically present.

If new guidance comes from Folkhälsomyndighten and/or Chalmers before the course starts, then this decision may change and we may switch to a mixture of off-campus and on-campus education. An announcement will be given here on Canvas and via Slack.

However, in this case it will never be necessary to come on-campus. It will be possible to complete the course entirely by distance learning.

Contact details

Course purpose

The aim of the course is to give students a broad introduction to enterprise-grade web applications like e-commerce sites.

The course presents a number of technologies and how they are related and used for developing web applications. The course provides a good insight to modern web based applications. Design problems related to web applications are presented - such as scaling, session handling, navigation and persistence.

Information retrieval from manuals and specifications is an integral and important aspect of the course. The course is applied, and the work is carried out in modern development environments. As an important part, the course presents advanced debugging, configuration, deployment and execution of web applications.

Course literature

Practical JSF, Michael Müller

The course book is "Practical JSF in Java EE 8" by Michael Müller (ISBN: 9781484230299).

The literature in the course is a combination of the information in the book and selected additional topics as covered by the lectures.

For topics not covered by the book, students are assumed to use the Internet as a source for gathering relevant information needed to complete assignments.

For  students that want to learn more in-depth about the feature set of  Java Server Faces, the book "The Definitive Guide to JSF in Java EE 8" by Bauke Schultz and Arjan Tijms (ISBN: 9781484233863) is recommended as additional reading material.


  • Good programming skills in Java
  • Knowledge in object oriented design and UML
  • Basic knowledge of data structures and algorithms
  • Basic knowledge of data communication and Internet protocols
  • Basic knowledge in database design

Courses DAT050, DAT055, LET375, LEU061, TDA357 or equivalent. The course requires good knowledge in Java. The other prerequisites in the list makes it easier  to complete the course and helps in general understanding. However, the course is laid out to allow students to be able to complete assignments and to learn and understand the topics, even if they lack some of these other prerequisites.


You will form groups of 3-4 students and complete a group project, which should be a medium-size full stack web application with a Jakarta EE (Java EE) backend. See Project Information for more details.

The course also consists of:

  • pre-recorded lectures given via Canvas
  • recommended readings from the literature
  • weekly "office hours" sessions with the lecturer
  • four laboratory assignments to be completed in the same groups as the project
  • weekly project group meetings with a supervisor


The course will be graded U, 3, 4 or 5.  The laboratory assignments must be passed for the course to be completed.  The grade for the course will be determined by the project grade and individually for each student based on their contribution to the project.

The supervised weekly project meetings are mandatory. If you have a lot of absence, your supervisor may decide to give you an extra assignment within the context of the group project. 

Course summary:

Date Details Due