IDG2100

Full-stack Web Development

Spring

Gjøvik

English

Overview

23 candidates

Average grade

D

2.00

1.02

Pass rate

83%

9 points

Grade distribution
Average over time
Pass rate over time

About this course

Content

Nowadays, being a web developer implies learning the entire process of development from design to actual deployment, ranging from mastering the baseline concepts and cornerstone web technologies to developing a wide set of skills needed in a modern software development, all in all, to become competent and comfortable in all of the widely different environments.

This course covers the fundamentals of the baseline concepts and technologies that any student needs to know in order to become a full stack web developer. However, a full stack application may rely on a wide range of different technologies run on the client or server side (from programming languages to frameworks or data bases). Since JavaScript is the dominant programming language in web development, the scope of this subject will be limited to the JavaScript stack (end-to-end) and the whole course will explore at least one of the main stacks for development (MEAN, MERN or MEVN) as a baseline technology that will help students embrace modern web development.

Topics

  • Architecture of modern vs traditional web applications
  • Front-end vs back-end paradigms
  • Full-stack development overview (stack of different technologies)
  • API paradigms (Request Response APIs and Event-Driven APIs)
  • API security: Authentication and Authorisation, OAuth, WebHooks, etc.
  • Design APIs and best practices
  • Front-end frameworks
  • Back-end frameworks
  • Modern stack for development (MEAN, MERN or MEVN)
  • Developer tools: task runners, bundlers, etc.

Learning outcomes

Knowledge

The student knows:

  • different architectures for modern and traditional web applications
  • JavaScript frameworks
  • the pros and cons of rendering contents either on the server-side or on the client-side
  • different API paradigms and when those can be used
  • authentication and authorisation methods
  • different technologies that can be used in a web project and the developing tools that can improve the working flow

Skill

The student can:

  • design, implement and document APIs
  • use a specific JavaScript stack (MEAN, MERN or MEVN) to build a full-stack application
  • implement simple authentication techniques
  • use package managers, module bundlers and other tools for developers

General Competence

The student:

  • carry on the development of a full stack project,
  • reflect on the architecture and the more suitable technologies for solving a certain problem
  • learn new libraries or frameworks using official documentation

Teaching methods

The course is being discontinued and will continue only to accommodate students who were unable to complete it within the standard timeframe. Starting in spring 2027, it will be adapted to the number of students enrolled. If enrollment is low, the course will be offered through self-based learning and/or tutoring.

Compulsory activities

4 compulsory assignments (approved/not approved) spread throughout the semester.

On-campus oral presentations may be required for certain compulsory assignments.

One of the compulsory assignments (not an oral presentation) may be scheduled to take place on campus during office hours to complete an activity during the session.

All compulsory work requirements must be approved in order to present the final full-stack project.

This course is offered to exchange students. Language of instruction is English.