Syllabus (tentative)


Course Description

This is a special topics course open to both graduate and undergraduate students. The course will look at recent advances in AI-based programming, an exciting field that sits at the intersection of programming systems and AI. Focus will be placed on symbolic techniques, but neural and neuro-symbolic approaches will also be covered. Applications of these techniques will also be covered.

Prerequisites

  • EECS 201 (Discrete Mathematics), EECS 281 (Data Structures and Algorithms), or equivalent on discrete math, data structures, and algorithms
  • Familiarity with programming (for final projects and programming assignments)
  • Additional prior exposure to programming languages (e.g., EECS 490/590), compilers (e.g., EECS 483/583), and constraint solving but not required

  • Lectures

    Students are expected to attend lectures and interact with the instructor and other students. All lectures are recorded and will be published immediately after lectures.

    Assignments

    All assignments will be published on Canvas. Autograder is used to grade programming assignments.

    Exams

    No exams.

    Course Project

    The course project group-based. Single-person projects are not allowed.

    There are a few milestones including (1) project proposal; (2) checkpoint report; (3) in-class presentation; (4) final project report. Details will be shared on Canvas. Regular project team meetings will be also scheduled.

    Grading

    Your final grade will be calculated as follows.
    • Class participation - 10%
      • Lecture attendance: 5%
      • Project team meetings: 5%
    • Assignments - 20%
      • A0: 1%
      • A1: 5%
      • A2: 8%
      • A3: 6%
    • Final project - 70%
      • Project proposal - 15%
      • Checkpoint report - 10%
      • Project presentation - 20%
      • Final report - 25%
    The final letter grade assignment is TBD, but the general rule of thumb is as follows.
    • A: 90% and above
    • B: 80% to 89%
    • C: 70% to 79%
    • D: 60% to 69%
    • E: below 60%