Teaching

PRL Faculty & Staff write academic books and teach courses.

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.

http://www.eopl3.com

E
s
s
e
n
t
i
a
l
s

Essentials of programming languages
of Programming
Languages

Courses

  • 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

© Copyright Programming Research Laboratory 2015-2021 | made by Catchexception s.r.o. | source on GitHub

top