Study Guide

This study guide contains information about the implementation of the course. If you ever have any question about something in the course, look for the answer in this study guide or one of the other pages it refers to. If you can't find the answer to your question, email the course coordinator.

Course name
Web Development Fundamentals
Ladok code
TGWK12
Credits
7.5
Year
2022
Course coordinator
Peter Larsson-Green
Examiner
Jérôme Landré
Canvas Room
Web Development Fundamentals

Introduction

In this course you will learn what the web is and how you can create web applications running on it. below displays the architecture of a typical web application.

Common web application architecture.

More specifically you will learn how to create a web application to which a single user can login to modify the resources on it, such as blog posts and guestbook posts. To accomplish this your web application will use an SQLite database to store the resources and the web framework Express to handle incoming HTTP requests. To avoid spending too much time on the graphical design of the web application you will also learn how to use a CSS framework with pre-styled graphical user interface components you can use. Your web application must of course also be secure, so you will also learn about common vulnerabilities in web applications and how you can prevent them.

Prerequisites

At course start you are expected to already possess knowledge corresponding to the prerequisite courses mentioned in the Course Syllabus. These are either those shown in below.

Prerequisites for Development for Mobile Platforms students taking this course.

Or those shown in below.

Prerequisites for New Media Design students taking this course.

Teachers

Here are short presentations of the teachers involved in the course.

Peter Larsson-Green

Photo of Peter Larsson-Green.

Course coordinator, lecturer. Has studied and followed the development of the web since 2004 and received his Master of Science in Computer Science at Linköping University in 2014. He has been working as programming teacher (part time) since 2010 at both Linköping University and Jönköping University.

Jérôme Landré

Photo of Jérôme Landré.

Lab assistant. Assistant Professor.

Eveline Ingesson

Photo of Eveline Ingesson.

Lab assistant. Graduated User Experience Design student now working as teacher at JU.

Hasan Khalaf

Photo of Hasan Khalaf.

Lab assistant. Third year student studying the bachelor program Software Engineering and Mobile Platforms.

Garrit Schaap

Photo of Garrit Schaap.

Lecturer, lab assistant. Experienced web developer currently working as teacher at JU.

Jasmin Jakupovic

Photo of Jasmin Jakupovic.

Lecturer. Program manager for the bachelor program Software Engineering and Mobile Platforms.

Susanne Smithberger

Photo of Susanne Smithberger.

Lecturer, seminar leader. Lecturer at the Department of Language, Aesthetic Learning and Literature at JU.

Intended Learning Outcomes

The intended learning outcomes of the course are found in the Course Syllabus. Below is a table showing how the examination tests cover the intended learning outcomes and which teaching activity help you learn which intended learning outcome.

Intended Learning OutcomeExamined ElementsLearning Activities
Display an understanding of the fundamental building blocks of the web (HTTP and HTML).
Project work
Written examination
Recorded lecture: Internet
Recorded lecture: Web Applications & HTTP
Recorded lecture: HTML
Recorded lecture: Character Encodings
Tutorials
Lab sessions
Display an understanding of common security concerns in web applications.
Project work
Written examination
Recorded lecture: Cookies and Sessions
Recorded lecture: Designing Account Systems
Recorded lecture: Web Security
Tutorials
Lab sessions
Display an ability to construct web pages using HTML5, CSS, and CSS frameworks.
Project work
Written examination
Recorded lecture: HTML
Lecture: CSS
Tutorials
Lab sessions
Display an ability to program in JavaScript.
Project work
Written examination
Recorded lecture: JavaScript
Recorded lecture: Asynchronous Programming in JavaScript
Tutorials
Lab sessions
Display an ability to construct web pages using Node.js.
Project work
Written examination
Recorded lecture: Using Shells
Recorded lecture: Node.js
Recorded lecture: npm
Recorded lecture: Express Basics
Recorded lecture: Web Applications in Express
Recorded lecture: Handlebars
Tutorials
Lab sessions
Display an ability to construct database-backed web applications.
Project work
Written examination
Lecture: Database
Recorded lecture: Using SQLite in Node.js
Tutorials
Lab sessions

Learning Activities

Here are short introduction to the learning activities offered in the course.

Recorded Lectures

In the beginning of most weeks you will be encouraged to view some recorded lectures. These will be quite theoretical and will teach new you things you can use when building a website.

Tutorials

Some weeks there will be a tutorial session where the teacher will show you how to use what has been taught in the recorded lectures in practice. you can think of these as traditional lectures given on campus, but with no lecture slides and mostly coding.

Lectures

In the course there will be a few traditional lectures given in a lecture hall on campus.

Seminars

To help you write a proper project report, there will be a 1 hour lecture on academic writing, and then a 1 hour seminar you can attend to become even better at academic writing. All students can't attend the seminar at the same time, so it is given at two different times, and you may attend one of them. To distribute you, join the Seminar Groupopen in new window on Canvas corresponding to the time you want to attend.

Lab Sessions

Each week you may attend a 4 hours lab session. At the lab session you may ask the teacher there for help with your exercises and project work.

There are 5 different lab sessions each week, but you may only sign up for one of them. To distribute you, join one of the Lab Groupsopen in new window on Canvas. First come, first served.

Attending more lab sessions

You may attend the other lab sessions if there is room for it, but the teacher there must of course prioritize helping the students that have signed up for that lab session.

Examination Tests

The course contains two examination tests.

1. Written Examination

2 credits, graded U, 3, 4, and 5. More information is available on the Written Examination page.

2. Project Work

5.5 credits, graded U, 3, 4 and 5. More information is available on the Project Work page.

Final Grade

To receive a final grade on the course you need to pass both examination tests (Written Examination and Project Work). The final grade will be based on the lowest grade of the Written Examination and the Project Work, but these grades will also be marked as weak or strong. If one of the grades is lower than the other and has been marked as strong, the final grade will be the lower grade + 1. Examples:

  • A strong 3 and a weak 4 gives you 4 as the final grade
  • A weak 3 and a strong 5 gives you 3 as the final grade

For the Written Examination, 50% of max score is a strong 3, and 70% of max score is a strong 4.

Re-examination

below shows the study and exam periods during a year. The small blue circle sectors shows when the (re-)examinations are offered in this course.
Study periods and re-exam periods in an academic year. Big circular sectors are study periods, small circular sectors are (re-)exam periods. Blue circle sectors are part of period 1. Green circle sectors are part of period 2. Yellow circle sectors are part of period 3. Red circle sectors are part of period 4.

Re-examination for the Written Examination is offered at the re-exam periods in January and August.

Re-examination for the Project Work is offered at the re-exam periods in January and August. If you need to know a precise date and time in advance, email the course coordinator at peter.larsson-green@ju.se. The project work will only be graded U/3 at re-examination.

If you haven't passed some examination tests after the three examination opportunities (ordinary + 2 re-exam) you need to re-take those tests the next time the course run. Note that the instructions for those tests might have changed the next time the course run, and that you should take them according to the new instructions.

Course Literature and Other Teaching Aids

Time Plan

A time plan is available on the page Time Plan.