Course syllabus

DAT076 / DIT126
Web applications LP3 VT22 (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 full-stack Web applications.

Schedule for the course: See bottom of page

Course syllabus at Chalmers course portal 

Lecture Sides and Recordings

Zoom link for lectures (passcode: webapps)

Schedule (TimeEdit)

Timetable for Presentations

Minutes of Mid-course Meeting

Our Slack workspace

Project Information

Resources

Week One: HTTP and Web Servers

To do this week:

  1. Join Our Slack workspace.
  2. Watch Lecture 1 (Introduction to the Course)
    Recording
    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 Teaching

These are the plans for the course based on the most recent advice given by the Folkhälsomyndigheten (see https://www.krisinformation.se/nyheter/2022/februari/restriktioner-tas-bort-9-februari)

Until February 8, this course will be carried out as distance education.

  • You may use the lab rooms on TimeEdit for supervision sessions, or work from home. Supervision will be given by Zoom.
  • Lectures will be given by Zoom, with recordings uploaded here afterwards.
  • A Slack workspace will be used for communication throughout the course.

From February 9, the course will be carried out as hybrid education (both on-campus and distance education).

  • You may use the lab rooms on TimeEdit for supervision sessions, or work from home. Supervision will be given both in person in the lab rooms and by Zoom.
  • Lectures will in the lecture theaters and simultaneously streamed on Zoom, with recordings uploaded here afterwards.

Contact details

Course purpose

The aim of the course is to give students a broad introduction to full-stack Web applications.

The course presents a number of technologies and how they are related and used for developing web applications, focusing on NodeJS, ExpressJS and ReactJS. 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.

Course literature

The course book is "Modern Full-Stack Development" by Frank Zametti (ISBN: 978-1-4842-5737-1).

Additional readings will be suggested as the course progresses and placed on the Resources page.

Prerequisites

  • Good programming skills in Java or another langauge
  • 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 programming knowledge. 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.

Organisation

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 NodeJS backend. (More information will be provided on the Project Information page before the course starts.)

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

Examination

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