Web Platform Architecture and Concurrency

Undergraduate course

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

10 ECTS

Level of Study

Master

Semester of Instruction

Autumn
Required Previous Knowledge
None
Recommended Previous Knowledge
Credit Reduction due to Course Overlap
None
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

Teaching and learning methods
Teaching is provided in the form of lectures, exercise groups, colloquia, self-study, and assignments, totaling about 270 study hours. Lectures up to 4 hours per week for 13 weeks (about 40 hours in total), and group work 2 hours per week.
Compulsory Assignments and Attendance
The compulsory assignments have to be passed. Compulsory assignments are valid two semesters: the semester when they are approved and the succeeding semester.
Forms of Assessment
Portfolio assessment. The portfolio consists of hand-ins and 3 hours written on-campus-exam. On-campus-exams and hand-ins must be passed. The weighting is announced on MittUiB at the start of the semester.
Grading Scale
The grading scale used is A to F. Grade A is the highest passing grade in the grading scale, grade F is a fail.
Assessment Semester
Examination both spring semester and autumn semester. In semesters without teaching the examination will be arranged at the beginning of the semester.
Reading List
The reading list will be available within June 1st for the autumn semester and December 1st for the spring semester.
Course Evaluation
The course will be evaluated by the students in accordance with the quality assurance system at UiB and the department.
Examination Support Material
None
Programme Committee
The Programme Committee is responsible for the content, structure and quality of the study programme and courses.
Course Coordinator
Course coordinator and administrative contact person can be found on Mitt UiB, or contact studieveileder@ii.uib.no
Course Administrator
Faculty of Science and Technology represented by the Department of Informatics is the course administrator for the course and study programme.