Foundations of Computer Science, CSCI 2200, RPI, Spring 2020

Dear Students in Computer Science Courses,

The members of the faculty and staff of the Department of Computer Science are working hard to adjust our courses to the new realities of on-line only education. This includes: (a) alternate ways of delivering lectures and having discussions within lectures, (b) reorganizing labs, recitations and office hours while trying to preserve to the extent possible the individualized attention that is so important to your learning, and (c) modifying the course syllabi as needed. We ask you to be patient as we try out new ideas and solutions, discarding things that don't work, and expanding on what does. This will happen over an extended period. Suggestions are welcome.

Please work with your professor and your TAs to solve issues that arise in your course, understanding that it may take some time to do so. If issues remain unresolved after a significant amount of time, please feel free to contact me ( to discuss them and I will do my best to help out.

Chuck Stewart, Professor and Department Head

We will be delivering the FOCS lectures online (synchronously, at the usual lecture times) through WebEx, and office hours will similarly be held online (synchronously, at the usual office hour times) through WebEx.

As before, email us if you need to schedule an appointment, also held through WebEx, outside of these usual hours. The WebEx link for each instructor and TA are of the form<RCSID>; use these to join the office hour queues. For instance, Dr. Gitten will be accessible, during his office hours, at

Here are instructions for working with WebEx; please ensure you have your video and audio working before joining lectures or office hours.

As a computer scientist, your goal will be to choose or design, then implement, efficient algorithms that accomplish the goals for which they were designed, with certainty. The aim of FOCS is to give you the tools necessary to establish certainty about your algorithms: that they do what they claim to.

As such, this course introduces the fundamental mathematics used in computer science for the purpose of ensuring such certainty: discrete mathematics and the theory of computation. Discrete mathematics is the study of objects that can be counted (vague, I know)—including proofs, sums and recurrences, graphs, counting, and probability—this toolbox is essential for showing algorithms do as we claim. The theory of computation helps delineate what kinds of problems can even be hoped to be solved, and how efficiently.

Lead Instructor: Alex Gittens (gittea at rpi dot edu)

Lectures: Tue/Fri 10am-11:50am ET; Darrin 308

Office Hours: Tue/Fri 12pm-1pm ET, or by appointment;

Instructor: Uzma Mushtaque (mushtu at rpi dot edu)

Office Hours: Mon-Thu 11:30am-12:30pm ET, or by appointment;

Additional staff (email for appointments):

Shianne Hulbert, Course Coordinator (hulbes)

TAs (email for appointments):

Shaunak Basu (basus6), Abhishek Gupta (guptaa10), Anish Sethi (sethia), Yufei Wu (wuy31), Shuting Yang (yangs21)

Undergraduate mentors:

Patrick Berne (bernep), Zixiang Zhou (zhouz9), Haoyu He (heh3), Brandon Klein (kleinb2), Myron Rios (riosm2), Roman Silen (silenr), Huanchen Sun (sunh8), Samuel Marks (markss), Mingzhen (Tommy) Zhao (zhaom4), Xiangjian Zhao (zhaox8)

TA Office Hours:
Mon: 12-2pm ET, Yufei Wu,
Tue: 4-6pm ET, Anish Sethi, Carnegie 205,
Wed: 5-7pm ET, Shaunak Basu, AE 118,
Thurs: 10-12pm ET, Shuting Yang, AE 118,
Fri: 4-6pm ET, Abhishek Gupta, Carnegie 205,
Sun: 2-6pm ET, (TAs and UG-mentors), Sunday Office Hours channel in FOCS space on WebEx Teams
Wed 10-11am ETAnish Sethi, WebEx Events
Wed 11-12pm ETAbhishek Gupta, WebEx Events
Wed 12-1pm ETShuting Yang, WebEx Events
Wed 1-2pm ETYufei Wu, WebEx Events
Wed 4-5pm ETShaunak Basu, WebEx Events

Questions: Piazza

Course Details

Email List: The class email list is extracted directly from SIS. If you are not registered, you will not be on the email list.

Announcements: Announcements which are made in class may not be repeated via email. It is the student's responsibility to be aware of and understand all announcements made in class.