course-details-portlet

IDG2100 - Full stack Web development

About

New from the academic year 2020/2021

Examination arrangement

Examination arrangement: Work
Grade: Letters

Evaluation form Weighting Duration Examination aids Grade deviation
work 100/100 1 semesters ALLE

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 the MEAN stack (MongoDB, Express, Angular and Node.js) as a baseline technology that will help students embrace modern web development.

Topics:
- Architecture of modern vs traditional web applications
- Frontend vs Backend paradigms
- Full stack development overview (stack of different technologies)
- API paradigms (Request–Response APIs and Event-Driven APIs)
- API security: Authentication and Authorization, OAuth, WebHooks, etc.
- Design APIs and best practices
- Frontend frameworks
- Backend frameworks
- MEAN stack (MongoDB, Express, Angular, Node)
- 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 authorization 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:
- Conceptualization, implementation and documentation of APIs
- Node.js
- Express
- Angular
- MongoDB
- OAuth
- Npm, webpack, 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 assignments

  • 1
  • 2
  • Oblig 3

Further on evaluation

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

Exam registration requires that class registration is approved in the same semester. 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 programs Bachelor in Web Developmnet,
IMT1292 Web coding
IMT1441 Front-End Web Development
IMT3851 Back-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 2021

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

Phone:

Examination

Examination arrangement: Work

Term Status code Evaluation form Weighting Examination aids Date Time Digital exam Room *
Spring ORD work 100/100 ALLE
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