Web Platform Architecture and Concurrency
Undergraduate course
- ECTS credits
- 10
- Teaching semesters Autumn
- Course code
- INF224
- Number of semesters
- 1
- Teaching language
- English
- Resources
- Schedule
Course description
Objectives and Content
Objectives
The course provides a practical and theoretical introduction to the structure of modern web browsers and the central principles of asynchronous execution and concurrency in the web platform. Students learn how web standards, events, and the browser’s internal components interact to deliver interactive, responsive, and secure user experiences. The aim is to provide a deep understanding of the web’s execution model, enabling students to develop robust, high-performance, and standards-compliant systems.
Content
The course covers central aspects of browser architecture, for example:
- the browser’s main components: rendering engine, scripting engine, event loop
- asynchronous programming: principles, task queues, scheduling, and resource management
- concurrent programming in the web platform: web workers, shared resources, memory models
- WebAssembly and low-level execution for high-performance applications
- coroutines and control flow in interactive applications
- handling of user interactions
- web standards and interoperability: the role of specifications, as well as test suites and standardization work
Learning Outcomes
On completion of the course the student should have the following learning outcomes defined in terms of knowledge, skills and general competence:
Knowledge
The student is able to account for:
- the main components of a web browser and how they interact
- the event loop model and queue-based asynchronous execution models
- execution models for asynchronous constructs in the web platform, with an understanding of how these can be formalized and specified
- how multiprogramming is handled in the web platform
- principles of coroutines and their use
- what WebAssembly is and how it is integrated with the web environment
- the relationship between web standards, specifications, and actual implementation in browsers
Skills
The student is able to:
- implement a simple browser prototype and/or implement simple features in existing browsers and web engines
- develop asynchronous systems with task management, scheduling, and non-blocking I/O
- apply multiprogramming techniques in a web context to achieve concurrent execution
- use coroutines and integrate them into web applications
General competence
The student is able to:
- reflect on asynchronous and concurrency mechanisms for given problems
- understand and follow the development of web standards and relevant technologies
- communicate technical solutions that involve both user experience and system performance
ECTS Credits
Level of Study
Semester of Instruction
Required Previous Knowledge
Credit Reduction due to Course Overlap
Access to the Course
Access to the course requires admission to a programme of study at Faculty of Science and Technology
www.uib.no/en/nt/52767/admission-faculty-science-and-technology