Essentials of Programming Languages is a study of programming languages. Our goal is to provide a deep, working understanding of the essential concepts of programming languages. These essentials have proved to be of enduring importance; they form a basis for understanding future developments in programming languages.
Our approach is both theoretical and hands-on. The book provides views of programming languages using widely varying levels of abstraction, maintaining a clear connection between the high-level and low-level views. The text uses interpreters to express the semantics of many essential language elements in a way that is both clear and executable.
E
s
s
e
n
t
i
a
l
s
s
s
e
n
t
i
a
l
s
of Programming
Languages
- 7976 Directed Study
S 2020 Seminar in Technical Writing Mitch Wand
F 2019 Seminar in Technical Writing link Mitch Wand
F 2018 Seminar in Technical Writing link Mitch Wand - 7680 Special Topics in Computer Systems
F 2016 Programming Models for Distributed Computing link Heather Miller - 7580 Special Topics in Software Engineering
F 2019 Intensive Software, Construction and Engineering link Jan Vitek - 7480 Special Topics in Programming Languages
F 2024 Formal Security for Cryptography link Joshua Gancher
S 2024 Olin Shivers
S 2021 History of Programming Languages link Matthias Fellsein
F 2020 Type Systems John Boyland
S 2019 Gradual Typing and Principled Language Interoperability link Amal Ahmed
S 2017 History of Programming Languages link Matthias Fellsein
F 2016 Advanced Program Analysis link Frank Tip
F 2015 Types, Contracts, and Gradual Typing link Amal Ahmed
S 2012 Type Systems link Amal Ahmed - 7470 Seminar in Programming Languages
S 2024 link Arjun Guha - 7400 Intensive Principles of Programming Languages
S 2020 link Amal Ahmed
S 2017 link Amal Ahmed
F 2016 link Amal Ahmed
S 2016 link Amal Ahmed
S 2015 link Amal Ahmed
S 2014 link Matthias Felleisen
F 2012 link Matthias Felleisen
F 2011 link Matthias Felleisen - 6515 Software Design and Development
S 2013 link Matthias Felleisen - 6240 Parallel Data Processing in MapReduce
F 2017 link Jan Vitek
S 2016 link Jan Vitek
S 2015 link Jan Vitek - 6050 DS Seminar in Data Science
S 2019 Expeditions in Data Science link Jan Vitek - 5963 Relation and Constraint Programming
S 2021 link Jason Hemann - 5500 Foundations of Software Engineering
F 2020 link Mitch Wand, Frank Tip, Jon Bell
F 2019 link Frank Tip
S 2017 link Michael Weintraub, Frank Tip - 5110 DS Introduction to Data Science
S 2017 link Jan Vitek - 5010 Program Design Paradigms
S 2017 link William D. Clinger
F 2016 link Mitch Wand, William D. Clinger, James Miller, Ezra Kilty
S 2016 link William D. Clinger, Kevin Gold
F 2015 link Mitch Wand, William D. Clinger
S 2015 link Stephen Chang
F 2014 link Mitch Wand, Stephen Chang, Jan Vitek
S 2014 link Ryan Culpepper
F 2013 link Ryan Culpepper
- 4973/7580 Advanced Software Engineering
S 2023 link Jon Bell - 4910 Type Systems
F 2020 John Boyland - 4620 Building Extensible Systems
S 2018 Hack Your Own Language link Matthias Felleisen, Stephen Chang
S 2015 link Matthias Felleisen - 4500 Software Development
F 2023 link Matthias Felleisen, Ben Lerner
F 2022 link Matthias Felleisen, Ben Lerner
F 2020 link Matthias Felleisen, Jason Hemann
S 2020 link Jan Vitek, Jason Hemann, Ferdinand Vesely
F 2019 link Matthias Felleisen
F 2018 link Matthias Felleisen, Jason Hemann
S 2016 link Matthias Felleisen - 4410/6410 Compilers
S 2024 link Ben Lerner
S 2023 link Ben Lerner
F 2022 link Olin Shivers
S 2021 link Ben Lerner
S 2020 link Ben Lerner
F 2019 link Olin Shivers
S 2019 link Ben Lerner
F 2018 link Olin Shivers
S 2017 link Ben Lerner
F 2013 link Amal Ahmed
S 2012 link Olin Shivers - 4100 Artificial Intelligence
F 2022 Steven Holtzen - 4400 Programming Languages
S 2024 Steven Holtzen
S 2021 link Jason Hemann
S 2020 link Matthias Felleisen
F 2018 link Jason Hemann - 4530 Fundamentals of Software Engineering
S 2024 link Mitch Wand, Jon Bell
F 2023 link Frank Tip
F 2023 link Mitch Wand
S 2023 link Mitch Wand, Jan Vitek
F 2022 link Mitch Wand, Jon Bell
S 2021 link Jon Bell, John Boyland, Mitch Wand
F 2020 link Frank Tip, Jon Bell - 3800 Theory of Computation
F 2015 link William D. Clinger - 3520 Programming in C++
S 2023 James Perretta - 3500 Object Oriented Design
F 2023 link Ben Lerner
F 2022 Ben Lerner
F 2019 link Ben Lerner, Clark Freifeld, Alex Grob
F 2018 link Ben Lerner, Amit Shesh, Clark Freifeld
F 2016 link Ben Lerner, Amit Shesh
F 2015 link Ben Lerner - 2800 Logic and Computation
S 2024 link Daniel Patterson
F 2023 Olin Shivers
S 2023 link Daniel Patterson
S 2021 link Jason Hemann
F 2020 link Jason Hemann
S 2020 link Pete Manolios, Olin Shivers - 2510 Fundamentals of Computer Science 2
S 2024 link Ben Lerner
S 2024 accelerated link Ben Lerner
S 2023 link Ben Lerner
S 2023 accelerated link Ben Lerner
S 2021 accelerated link Ben Lerner
S 2020 accelerated link Ben Lerner
S 2019 link Leena Razzaq, Jason Hemann, Matthew Singer
S 2019 accelerated link Ben Lerner, Matthew Singer
S 2018 link Ben Lerner, Nada Naji, Clark Freifeld, Jan Vitek, Becca MacKenzie
S 2018 accelerated link Ben Lerner, Becca MacKenzie
S 2017 link Ben Lerner, Nada Naji, Leena Razzaq, Clark Freifeld, Becca MacKenzie
S 2016 link Ben Lerner, Nada Naji, Leena Razzaq, Magy Seif El-Nasr
S 2015 link Ben Lerner, Leena Razzaq
F 2014 link Ben Lerner, Leena Razzaq
S 2014 honors link Ben Lerner - 2500 Fundamentals of Computer Science
F 2023 link Daniel Patterson, Arjun Guha
S 2023 link Olin Shivers
F 2022 accelerated link Arjun Guha
F 2022 link Nate Derbinsky, John Park, Daniel Patterson, Leena Razzaq, Olin Shivers
F 2020 accelerated link Amal Ahmed, Ben Lerner
F 2020 link Amal Ahmed, Ben Lerner, Arjun Guha, John Park, Ferdinand Vesely
F 2019 accelerated link Amal Ahmed
S 2019 link Olin Shivers
F 2018 accelerated link Amal Ahmed
F 2017 link Ben Lerner, Alan Mislove, Christo Wilson, Nada Naji, Byron Wallace
F 2017 accelerated link Matthias Felleisen
S 2017 link Olin Shivers, Nat Tuck
F 2016 link Matthias Felleisen, Amal Ahmed, Ben Lerner
F 2016 accelerated link Olin Shivers
F 2015 link Olin Shivers
F 2015 honors link Ben Lerner
F 2014 link Olin Shivers, Amal Ahmed, Ben Lerner
S 2014 link Amal Ahmed
F 2013 link Matthias Felleisen, Amal Ahmed
F 2011 link Amal Ahmed - 1101 Computer Science and its Applications
S 2024 link Karl Lieberherr
F 2023 link Karl Lieberherr
S 2023 link Karl Lieberherr
F 2022 link Karl Lieberherr