CS252R: Advanced Topics in Programming Languages ...
This term (Fall 2020): ... for Artificial Intelligence
Class meeting time: TR 12:00pm - 1:15pm
Course website: pl-ai-seminar.seas.harvard.edu
Instructor: Nada Amin (namin@seas.harvard.edu)
Teaching Fellow: Mark Goldstein (markgoldstein@g.harvard.edu)
Course description
Programming Languages drive the way we communicate with computers, including how we make them intelligent and reasonable. In this advance topic course, we will look at artificial intelligence broadly construed from the point of view of programming languages. We gain clarity of semantics, algorithms and purpose. Topics include differentiable programming, neuro-symbolic systems, constraint and probabilistic programming, interpretable AI and more. Reading and discussion will be based on a selection of papers, suggested collectively. Grading is based on participation, presentation and final project.
Course objectives
By the end of the course, the students will be able to take a programming language perspective on the development of artificial intelligence, including possible topics below; and apply this perspective in a final project that combines facets of the course, extending the readings.
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 the presentation and discussion in meetings on the paper of their choice. There will be one meeting per student. Finally, students are expected to work early and often on their final projects. They can find a time to discuss their topic with the course head. Projects can be done in group (maximum roughly 4 students), with each individual making a substantial contributions. Group projects will be expected to be more substantial than solo projects.
Materials and Access
The suggested and over-populated reading list is available. Students are also welcome to suggest other papers of interests.
Assignments and Grading Procedure
Feedback will be given on lead meetings, on participation and on final project progress throughout the semester.
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.
Possible Course Topics
-
Differentiable Programming
- Semantics
- Denotations
- Relaxations
- Neuro-Symbolic Systems
- Reinforcement Learning
- Interpretable AI
-
Synthesis
- Inductive Logic Programming
- Type-driven Approaches
-
Machine-Learning Approaches
- Neural-Guided Search
-
Probabilistic Programming
- Probabilistic Modeling
- Probabilistic Logic Programming
- Reasoning about Uncertainty
-
Reflection
- Proof by reflection
- Behavioral reflection
- Reflect to internalize
- Connections to nested probabilistic inference
-
Representations
- of Cognition
- of Programs (first or higher order, with or without binders)
- Verification
- Applications
-
Expert Systems
-
Truth-Maintenance Systems
- Justification-Based Truth-Maintenance Systems
- Logic-Based Truth-Maintenance System
- Belief Maintenance Systems
-
Truth-Maintenance Systems
Possible Languages/Frameworks
- Pytorch
- Church / Pyro / WebPPL / ProbLog / Anglican
- Common Lisp / Racket / Scheme
- mediKanren / biohacker
Possible Datasets
-
Music
- Bach chorales
-
Biology & Medicine
- biolink
- The Abstraction and Reasoning Corpus (ARC)