Syllabus

CS252R: Advanced Topics in Programming Languages ...

This term (Fall 2022): ... Semantics!

Class meeting time: TR 11:15 – 12:30

Class meeting room: SEC 1.307

Course website: pl-semantics-seminar.seas.harvard.edu

Instructor: Nada Amin (namin@seas.harvard.edu)

Teaching Fellow: Anastasiya Kravchuk-Kirilyuk (akravchukkirilyuk@g.harvard.edu) (Office Hours: Thursdays, 10-11am, outside SEC 4.420)

Course description

As seen in CS152, mathematical models of programming languages can be a powerful tool for reasoning about the meaning of programs. In this advanced seminar, we will look at research papers in semantics of programming languages. Each student will study and present a semantic paper of their choice in depth, and all students will read the variety of papers presented throughout the semester. At the end of the class, each student will design their own programming language semantic for a purpose of their choice.

Teaching Philosophy

It is difficult to anticipate the consequences of semantic rules in formalisms. We will explore artifacts to get intuition about the formalisms, as well as develop our own and analyze the consequences of variations. Learning by doing is fun and rewarding.

Course objectives

By the end of the course, the students will be able to think principally about semantics of programming languages. They will be able to understand state-of-the-art research papers, as well as understand how such papers are constructed. Students will practice studying programming language and system papers and artifacts critically, as well as developing their own.

Course policies and expectations

Students are expected to attend and participate in the class meetings twice a week. In addition, they are expected to lead a presentation and discussion in meetings on the paper/system/approach of their choice. There will be one meeting per student. If we exhaust the presentation meetings, we will use class time to discuss thematics all together.  Finally, students are expected to work early and often on their final projects. They can find times to discuss their topic with the course staff. Ideally but not necessarily, the topic of a student's presentation will be related to their final project. We might also use class time to discuss projects. Projects can be done in group, with each individual making a substantial contributions. Group projects will be expected to be more substantial than solo projects. We expect students to share their work privately with the class or publically on the web.

Materials and Access

Students are also welcome to suggest other papers/systems/approaches for the class to study.

We will use Sciwheel to share notes on papers we read. We will use Ed for discussions. These sites are available from Canvas.

Assignments and Grading Procedure

Feedback will be given on lead meetings, participation, and on final project progress throughout the semester.

Template for paper discussion and presentation

  • What is the key idea of the paper?
  • What did you learn from the paper and how can you use it in your own projects?
  • Can you run the artifact and experiment with it?
  • For the interface, what are the primitives, the means of combination, and the means of abstraction?
  • What purpose does the semantics serve?
  • Can you think of variations in the semantics?
  • What properties are established about the system?

Template for project

  • What is the project exploring?
  • What are the methods used?
  • What problems does the project solve?
  • How does the system exploit semantics?
  • Is the project well-documented and usable by others?
  • For the interface, what are the primitives, the means of combination, and the means of abstraction?

Academic Integrity

Please see the Honor Code.

Accommodations for students with disabilities

Students needing academic adjustments or accommodations because of a documented disability must present their Faculty Letter from the Accessible Education Office (AEO) and speak with the professor by the end of the second week of the term. Failure to do so may result in the Course Head's inability to respond in a timely manner. All discussions will remain confidential, although Faculty are invited to contact AEO to discuss appropriate implementation.