CS-31 | Tufts University | Fall 2026 · Tu · Th 12:00 PM – 1:15 PM
Collaborative Learning and Innovation Center (574 Boston Avenue), Room 204
Instructor: Dr. James Skripchuk, Assistant Teaching Professor of Computer Science
Contact: james.skripchuk@tufts.edu
Course Assistants: Anne Wu, Elias Lipman
Office Hours: Link
Course Piazza: Link
Last Updated: 9/12/26
It is said that to explain is to explain away. This maxim is nowhere so well fulfilled as in the area of computer programming, especially in what is called heuristic programming and artificial intelligence. For in those realms machines are made to behave in wondrous ways, often sufficient to dazzle even the most experienced observer. But once a particular program is unmasked, once its inner workings are explained in language sufficiently plain to induce understanding, its magic crumbles away; it stands revealed as a mere collection of procedures, each quite comprehensible.
— Joseph Weizenbaum, MIT professor and inventor of the first chatbot, ELIZA, 1966
Artificial Intelligence is whatever computers can't do yet.
— Common joke
CS31 is a class that will give you the technical foundations of using and building artificial intelligence systems. This course will give you a bird’s-eye view of the methods and algorithms used in a variety of scientific, engineering, and business domains to build and evaluate systems that plan, act, and react to complex scenarios. This course will be a mix of programming, mathematics, design, and evaluation - and there will be multiple hands-on assignments where you will be asked to apply and evaluate AI methods in a variety of contexts.
You should take this course if you ever found yourself asking things like the following:
By the end of this course, students will be able to...
This course is specifically designed for students outside of Computer Science who have some introductory programming experience and some introductory college level math experience. The course will begin with a review of programming fundamentals and will be mindful of the fact that students will still be getting experience with programming. Requisite mathematics will be introduced as needed through the course.
Programming: CS 10 OR ES 2
AND
Math: MATH/CS 61 OR one of: MATH 21, 32, 34, 65, or 70
CS-131 (Artificial Intelligence)?
CS-31 is an introduction to a variety of AI methods for those with some programming experience, and how to
apply them to scientific and engineering domains. CS131 goes “under the hood” of these methods for those
with an advanced programming background, and focuses less on how they are used and more on the mathematical
and algorithmic theory behind them. Note: CS-31 is not intended to be a prerequisite for
CS-131 - they serve different populations.
CS-35 (Foundations for Machine Learning)?
CS-31 is a holistic introduction to a variety of methods in AI, while its companion course CS-35
specifically focuses on data-driven methods. CS-35 will cover topics not covered in this course such as
regressions, statistical methods, deep learning, data wrangling, and model validation. Data-driven methods
have become an extremely successful component of AI systems - warranting a course of its own - but
most AI systems are successful because they combine data-driven methods with the topics covered in this course.
You are certainly welcome to take the course, but it may feel a bit slow in places. As stated above, this class is for students with minimal programming experience and thus will be tailored accordingly. In addition, many students will be taking this as part of the Minor in Application of AI, which is open to all students in AS&E except those pursuing a B.S. in Computer Science, Data Science, or Computer Engineering in the School of Engineering (or a B.A. or B.S. in Computer Science in the School of Arts and Sciences). However, if you're early in your CS/DS/CE degree, and you have a spare credit, you're certainly welcome to take this course!
This course is NOT about best practices on how to use LLM-based chatbots (such as ChatGPT or Claude Code) to create apps or generally be productive. While we may discuss agentic chatbots, their functions and limitations, and their appearance in modern scientific and engineering scenarios, this course focuses on foundational topics in artificial intelligence beyond chatbots.
Foundations of artificial intelligence (AI) from both a programming and mathematical perspective, with a focus on practical applications across a number of disciplines and domains.