Classes Using This Book

Twitter · Blog · Patreon · Discussions

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

University of Washington

CSE 490 Web Browser Engineering is an undergraduate-level course at the University of Washington first and most recently taught in Spring 2022. The most recent course description reads,

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.

In Spring 2022, it was taught by James R. Wilcox. Course materials can be found online.

University of Utah

CS 4560 Web Browser Internals is an undergraduate-level course at the University of Utah first taught in Fall 2019 and most recently taught in Fall 2021. The most recent course description reads,

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.

In Fall 2021, it was taught by Pavel Panchekha assisted by Ian Briggs under course number CS 4962. Syllabus available. Contact instructor for teaching materials.

In Fall 2020, it was taught by Pavel Panchekha under course number CS 6968. Syllabus available. Contact instructor for teaching materials.

In Fall 2019, it was taught by Pavel Panchekha under course number CS 6968. Syllabus available. Contact instructor for teaching materials.