Classes using Web Browser Engineering

Twitter · Blog · Patreon · Discussions

The courses below were or are planned to be taught using Web Browser Engineering as a textbook. If you are teaching or planning to teach from this book, please let us know.

CSE 490, Web Browser Engineering, University of Washington, Spring 2022

Undergraduate-level course taught by James R. Wilcox.

We live in a world completely permeated by the internet and the web. It’s time to think of the web browser as a critical piece of systems infrastructure, alongside compilers and operating systems. While industrial strength browsers are massive and complex systems with many features, the basic structure of a browser can be expressed in just a thousand lines of code. In this class we will study browser internals and build our own web browsers from scratch. By the end of the first week, you will have a working “browser” that does nothing more than download the webpage and print it as text to the console. From there, each week we will extend the browser with a new feature. By the end of the quarter, you will have your own graphical browser supporting text layout, CSS for styling, and JavaScript for building interactive pages. Weekly assignments will primarily involve implementing features in your browser. Previous experience with web technologies is not required.

CS 4962, Web Browser Internals, University of Utah, Fall 2021

Undergraduate-level course taught by Pavel Panchekha assisted by Ian Briggs.

How does a web browser work? This class covers all the major components of a modern web browser, including networking, graphics, layout, styling, and JavaScript execution. Students will write their own web browser and work on extensions to it, implementing features like emoji support, scrollbars, text editing, and HTML canvas. Class follows a textbook and is taught in a “flipped” format, allowing a lot of student interaction.

Syllabus available. Contact instructor for teaching materials.

CS 6968, Web Browser Internals, University of Utah, Fall 2020

Graduate-level course taught by Pavel Panchekha.

While web browsers are ever-present, few have seen the insides of a browser. This course covers all major components of a web browser (including networking, parsing, layout, rendering, chrome, interfacing with JavaScript, security), developing a simplified implementation of each and dissecting implementations in existing browsers. Class follows a textbook and is taught in a “flipped” format, allowing a lot of student interaction.

Syllabus available. Contact instructor for teaching materials.

CS 6968, Web Browser Internals, University of Utah, Fall 2019

Graduate-level course taught by Pavel Panchekha.

While web browsers are ever-present, few have seen the insides of a browser. This course covers all major components of a web browser (including networking, parsing, layout, rendering, chrome, interfacing with JavaScript, security), developing a simplified implementation of each and dissecting implementations in existing browsers. Students will complete programming assignments and a course project, and read and present recent research papers in the field.

Syllabus available. Contact instructor for teaching materials.