course-details-portlet

IDG2100 - Full-stack Web Development

About

Examination arrangement

Examination arrangement: Oral exam
Grade: Letter grades

Evaluation Weighting Duration Grade deviation Examination aids
Oral exam 100/100 1 days A

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

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

Learning methods and activities

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

Compulsory activities

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

Oral presentations may be required for certain mandatory activities.

The final mandatory activity will be a hackathon, scheduled to take place outside of regular office hours and during the weekend, subject to practical considerations.

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

Compulsory assignments

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

Further on evaluation

Oral exam: The groups receive a project brief as part of the last compulsory assignment. The group must implement a final full-stack project that solves the problem. The group must then present and defend the project orally. In the oral presentation, the students may also be asked to discuss specific parts of the code or even do some changes. The students will be given and individual letter grade based on their contribution and performance in the oral presentation. The fullstack project must be delivered before the oral presentation (information provided during the course).

In the case of a failing grade, the student or group will receive a similar project for a new oral exam during the following semester.

Specific conditions

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 2024

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: Oral exam

Term Status code Evaluation Weighting Examination aids Date Time Examination system Room *
Spring ORD Oral exam 100/100 A 2024-06-04
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