Print

Web Development 2

Code

IT-WEB2

Version

2.0

Offered by

ICT Engineering

ECTS

5

Prerequisites

Completed IT-WEB1, “Web Development 1” or a similar course.

Main purpose

​This course serves as an introduction to modern web application development with JavaScript, and picks up where WEB1 leaves off, diving deeper into the JavaScript language, the programming paradigms it facilitates and the principles of the frameworks and tools that surround it.

Knowledge

After successfully completing the course, the student will have gained knowledge to:

- Explain scope and closures in JavaScript
- Compare dynamically and statically typed languages
- Describe the JavaScript object model
- Explain how ‘this’ works in JavaScript
- Outline how prototypes, constructors & the class keyword are used
in creating JavaScript objects
- Describe how modules work in JavaScript
- Compare the use of object-oriented and functional programming paradigms in JavaScript
- Explain how concurrency works in JavaScript
- Describe how unidirectional data flows are used in front-end applications
- Explain how state is managed in a front-end application
- Compare client-side-, server-side- and static rendering patterns
- Summarize the basics of TypeScript​

Skills

After successfully completing the course, the student will have acquired the skills to:

- Manipulate web pages using JavaScript
- Use various JavaScript expressions and operators such as destructuring assignment, spread syntax, rest parameters, short circuit operators and optional chaining
- Utilize factory functions to create objects in JavaScript
- Make use of concate​​native and prototypal inheritance in JavaScript
- Apply higher-order functions to abstract over actions
- Use callbacks, promises and async/await for asynchronous programming
- Organize and clarify code with object-oriented and functional programming techniques
- Consume web services using fetch & XMLHttpRequest
- Enhance the development process of web applications with build tools like package managers, module bundlers, preprocessors and task runners
- Build single page web applications using React
- Work with client side routing in a web application
- Test the functionality of web applications using unit-, integration- and end-to-end tests
- Apply patterns and best practices to measure and improve web performance
- Implement a Node web API using Express
- Work with authentication using JSON Web Tokens

Competences

​After successfully completing the course, the student will have acquired competencies in analyzing, designing and constructing web applications using JavaScript and modern front-end frameworks.

Topics

Teaching methods and study activities

12 sessions (48 lessons). These lessons consist of presentations, discussion of theory and exercises. The total workload of the student is expected to be around 140 hours.

The course contains one or more compulsory assignments.

Resources

Haverbeke, M. (2018) Eloquent JavaScript, 3rd Edition. No Starch Press. (ISBN 978-1593275846)

Select material from online resources

Evaluation

Examination

Exam prerequisites:
1. Attendance (≥ 75%) 
2. All course assignments approved.

If the exam prerequisites are not met, the student must complete a written assignment in WISEflow to qualify for the re-exam.
This assignment will be scheduled after the ordinary exam. 

Type of ​exam:  
Individual written exam, 1 hour
External examiner

Tools allowed:
None.
Any type of communication between students or between a student and an external party is prohibited and will be considered a violation of the exam rules.

​Re-exam:
Re-exams may be oral​

Grading criteria

​Grading based on the Danish 7-point scale.

Additional information

Responsible

Kasper Knop Rasmussen (KASR)

Valid from

01-08-2023 00:00:00

Course type

Keywords

​Web Development, JavaScript, Object Oriented Programming, Functional Programming, Asynchronous Programming, Build Tools, Front End Frameworks, React, Web Architectures, Testing