Course Organization

CS 4269 Project in Artificial Intelligence Spring 2022

  • Meets  Mondays, Wednesdays, Fridays from 9:05 am – 9:55 am
  • Prerequisite: CS 4260 (or CS 5260) or equivalent at another institution
  • Instructor: Doug Fisher (douglas.h.fisher@vanderbilt.edu)
  • Office Hours Mondays 10:15 am – 12:15 pm and 2:00 pm – 3:00 pm, or by appointment (team or individual)
  • Much Q&A happens on Piazza.

Student teams will design, implement, and evaluate a large programming project. The project will be done in teams of three to four as circumstances require. The instructor defines the teams. Student preferences for team partners is one factor for team definition, but there are other factors of diversity of various sorts that are equally or more important.

The project is broken into 2 parts. In Part 1 teams will complete a fairly-well specified utility-driven planner/simulator that explores trade and development schedules in a world of virtual, AI controlled countries. In Part 2 each team will expand their simulation in directions that they deem important and interesting, in areas such as learning, game design and play, modeling war, uncertain reasoning, and other areas.

There is a separate page with more details on the social simulation.

Grading

The major graded components of the course are

  • The small team project of building an AI agent is the major component, counting for 80% of each student’s grade. The default is that each team member will receive the same grade, but different grades are possible if team and individual self-reports indicate that the workload is not distributed equitably. Within this 85%, there are subordinate obligations:
    • Final project deliverables (correctness, style, performance): 50%
    • Intermediate progress reports, both in-class presentations and Piazza: 25%
    • Individual and team self reports of team dynamics: 5%
  • Quizzes: 15% This is an individual grade. Quizzes will be online on Brightspace, but must still be taken in class.
    • The questions are taken from
      • the required readings, videos, and any other assigned material;
      • discussion forum posts (on Piazza); and
      • in-class discussions, presentations, and lecture.
    • Most quizzes will be 15 minutes
  • Individual Contributions: 5%
    • Corrections to a quiz key
    • Piazza and in-class comments of substance
  • There will be no final exam.

Teams will give intermediate presentations during the semester. If a team has an idea on specification, design, evaluation, or implementation (but no code sharing without permission) that they would like to share, then they can do so in class and/or online (Piazza). Teams that share get credit for the “intermediate progress reports” section above; teams that do not share do not get credit under that category. A team that never gives an intermediate update is probably looking at a C grade for team members (under the assumption of near perfect grades in other categories). There are rules associated with sharing though (See below).

On days that your team does in-class (i.e., Zoom) presentations, you are required to be present and ideally (but not strictly required) to be part of the presentation. But there is not otherwise an attendance requirement. It is expected that the quizzes will measure your level of in-class presence. If you are traveling, then ask someone to record the class proceedings or otherwise provide you with notes, but ideally you will Zoom in even when traveling.

On the quizzes I will ask all kinds of questions, both conventional (e.g., in reading X on the robotic geocaching challenge, the heuristic for real-time A* was X, Y, or Z?) and unconventional (e.g., in the presentation by team 7 on using uncertain reasoning to judge  the costs and benefits of a diplomatic approach, the methodology advocated was hidden Markov models, bagged decision tree forests, recurrent artificial neural networks, or …?). The quizzes will be mostly multiple choice and multiple selection questions, but there may be other formats, like short answer, as well.

The intent of both the quizzes and the extra credit for citation of other teams is that you be sharp and engaged, even if “just” careful listening, during class.

Letter grades will be assigned using conventional ranges:

  • [92.0, 100] A
  • [90.0, 92) A-
  • [87.0, 90) B+
  • [82.0, 87) B
  • [80.0, 82) B-
  • [77.0, 80) C+
  • [72.0, 77) C
  • [70.0, 72) C-
  • [67.0, 70) D+
  • [62.0, 67) D
  • [60.0, 62) D-
  • [0, 60) F

There is no rounding up. There is no “curve” — thus no hidden disincentive to share. A+ is possible, if allowed in the school of the student, but rare.

Prerequisite Knowledge

My expectation is that you know the CS 4260 prerequisite material, and I won’t test you on that material, except as it comes up in the forum or in-class, and I will evaluate your use of that basic material in your project.

Collaborative Course Organization, and implications for the honor code

The interactions among teams, namely in-class and on-forum sharing of ideas, is loosely collaborative. During the semester teams can share information and insights, even possible posting of code subject to restrictions on the timing and size of these posts, and by permission from me only. Teams can only collaborate with each other “in the open” — that is, in class and on the discussion forum, which is to say that if a team wants to share with another team, then they must share with all teams. If a team adopts and adapts the insights of another team or individual outside their own team, then they must acknowledge that usage in all applicable deliverables, both intermediate and final. The contents of this section represent honor code policy for the course.

In Part 2 of the project, in the latter part of the semester, some teams may choose to “gamify” their simulations (which shouldn’t be hard), and to play against other teams or different instances (nations) of their own project. In the former case, there will be competition among some teams, but loose collaboration will continue, so the course will become ‘coopetitive’ (cooperative and competitive).