course-details-portlet

IDG2100 - Full-stack Web Development

About

Examination arrangement

Examination arrangement: Assignment
Grade: Letter grades

Evaluation Weighting Duration Grade deviation Examination aids
Assignment 100/100

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 outcome

Knowledge Goals

After completing the course, the students will have an overview of the different architectures for modern and traditional web applications. They will understand the pros and cons of rendering contents either on the server-side or on the client-side. They will know different API paradigms and when those can be used. They will also have learned different authentication and authorisation methods. Finally, they will have a broad overview of the different technologies that can be used in a web project and the developing tools that can improve the working flow.

Skill Goals

  • Conceptualisation, implementation and documentation of APIs
  • MEAN, MERN or MEVN
  • OAuth
  • Npm, webpack or gulp

General Competence Goals

At the end of the course, students will be able to carry on the development of a full stack project, reflecting on the architecture and the more suitable technologies for solving a certain problem. They will be well versed in modern web development tools and able to properly document their projects.

Learning methods and activities

  • Lectures
  • Laboratory work
  • Exercises
  • Forum discussions (Blackboard)
  • Supervision

Compulsory activities

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

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

Compulsory assignments

  • Compulsory assignment 1
  • Compulsory assignment 2
  • Compulsory assignment 3
  • Compulsory assignment 4

Further on evaluation

Assessment: the group delivers a final full-stack project together with a project report. The whole delivery is packaged as a zip file and delivered digitally. The project will be given a grade from A to F. Groups that gets a failing grade on the project delivery can deliver an improved project for a new grading during the following semester.

Specific conditions

Compulsory activities from previous semester may be approved by the department.

Admission to a programme of study is required:
Web Development (BWU)

Required previous knowledge

The course is reserved for students in the Bachelor programme in Web development (BWU).

  • IDG1292 Web coding
  • IDG1011 Front-end Web development

Course materials

The syllabus will be announced at the start of the study.

More on the course

No

Facts

Version: 1
Credits:  15.0 SP
Study level: Intermediate course, level II

Coursework

Term no.: 1
Teaching semester:  SPRING 2023

Language of instruction: English

Location: Gjøvik

Subject area(s)
  • Design Methodology
Contact information
Course coordinator: Lecturer(s):

Department with academic responsibility
Department of Design

Examination

Examination arrangement: Assignment

Term Status code Evaluation Weighting Examination aids Date Time Examination system Room *
Spring ORD Assignment 100/100 INSPERA
Room Building Number of candidates
  • * The location (room) for a written examination is published 3 days before examination date. If more than one room is listed, you will find your room at Studentweb.
Examination

For more information regarding registration for examination and examination procedures, see "Innsida - Exams"

More on examinations at NTNU