CS 4701: Practicum in Artificial Intelligence

Enrollment Questions

Most questions about enrollment are not specific to this course and you'll find the answers at:

If, after reading the above resources, you still have a question about getting into the course, please file a help ticket at https://tdx.cornell.edu/TDClient/193/Portal/Home/. Thank you!

Course Staff:

Course email

Orientation lecture

We will be having a mandatory in-person orientation lecture 3-4pm January 23 in Hollister B14. If you cannot make it in person we will release slides on Canvas. Reading the slides should fully substitute for attending the lecture.

CS 4701 online




Characteristics of a Successful Project

The best CS 4701 projects are those that the team members have some real engagement with. Pick something that excites you! Think about doing something that you could put up on a website that you could point potential employers to. Be ambitious! It's totally ok if you try something and it doesn't work out the way you liked. The point of the practicum is to build something of significance, that you've thought carefully about what you're trying to do and how to show success or failure, and then to document your outcomes. BE AMBITIOUS! Glorious failure is better than timid success.


  1. Make sure your work is focused on AI and not on ancilary things like your user interface, database back ends, etc. You will likely want to spend time on an interface, but if at the end of the semester your report is mostly discussing the time you spent on the UI you will have missed the point of 4701. AI should be front-and-center.
  2. This is an AI programming course. Many recent successes in AI are powered by machine learning, and you might very well choose a project that has some significant machine learning in it. If so, make sure this is a programming project as opposed to one where your coding was largely writing scripts that invoke machine learning packages, exploring your learning algorithm's parameter space but without doing anything particularly original in terms of exploring the design and implementation of AI algorithms.
  3. CS 4701 is a highly self-directed courses. There are no regular meeting times, just regular milestones. This is fantastic for some students, and horrific for others. Think about what motivates you to do the work in a class. If the idea of immersing yourself in a project without twice-a-week class meetings taking you along on a carefully crafted shared journet with other students, this is a great choice for you. If, however, if it is the regular contact points, graded assignments, etc., that serve to motivate your classroom efforts, CS 4701 is probably not a good choice for you. These statements do not impose a value judgment on one being better than others, it's simply a fact that students learn differently. Are you a student who would likely let the major work for 4701 languish until the end of the semester approaches because of the lack of constant classroom meetings, reminders, etc.? There is no way to hide when this happens, and the resulting projects turn out bad, resulting in bad grades. For some the course provides a freedom to lose oneself working on an exciting semester-long programming journey. For others it's an unstructured nightmare. Be true to yourself and take this class only if you think you have the personality to thrive in one of the few open-ended programming project classes that CS offers.

Class Policies

Sample Projects

It can be dauting to select your own project from scratch. To help you think of possible projects, here are some example ideas you could pursue.