This course will cover basic concepts and design trade-offs related to programming languages. The first half of the course focuses on functions, types, scope, storage management, exceptions, and continuations. The second half covers object-oriented features and concurrency. We will conclude with a few special-topics in programming languages. The class also has a number of small labs where students get to implement some of the language features discussed in class.
- Section ID: 895741
- Lectures: Mondays and Wednesdays, 6:30-7:50PM in Ledden Auditorium
- Section: Fridays, 8:00-8:50AM in WLH 2005 and 3:00-3:50 PM in Pepper Canyon 122
- Staff email: firstname.lastname@example.org
- Piazza: https://piazza.com/ucsd/winter2017/cse130
- Clicker registration: https://goo.gl/forms/7BNqWZIl15n7rKL63
We will be following John Mitchell’s Concepts In Programming Languages textbook and assigning reading from this book and various other online resources and papers. Some of the book chapters have been revised, we will be handing out PDFs of these chapters. Cheaper renting options for the book seem to be available online (e.g., on Amazon).
If you are serious about programming languages Benjamin Pierce’s Types and Programming Languages is a must.
- Deian Stefan (Instructor)
- Mario Alvarez (TA)
- Atyansh Jaiswal (TA)
- Abdul Alkhelaifi (TA)
- Matt Chan (tutor)
- Antonella Wilby (TA)
This course is based on material from Stanford’s, UCSD’s, and Tufts’ programming languages courses. Thanks to these fantastic instructors for all their hard work: Kathleen Fisher, Ranjit Jhala, Sorin Lerner, John C. Mitchell, Norman Ramsey, and Edward Z. Yang. Some of the organizational/administrative things are thanks to David Mazières and Hovav Shacham.