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

"The required techniques of effective reasoning are pretty formal,
but as long as programming is done by people that don't master them,
the software crisis will remain with us and will be considered an incurable disease."

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. The aim of FOCS is to give you the tools necessary to establish certainty about your algorithms: that they do what they claim to.

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
This is the study of objects that can be counted—including proofs, sums and recurrences, graphs, counting, and probability—this toolbox is essential for showing algorithms do as we claim.
Theory of Computation
This branch of CS helps delineate what kinds of problems can even be hoped to be solved, and how efficiently. Understanding this helps you to avoid tilting at windmills.

See the course syllabus for more details.

Course Logistics

Lectures: Mondays and Thursdays 8:00am-9:50am ET in Darrin 308

Course Discussions: Piazza

Announcements: It is the student's responsibility to be aware of and understand all announcements made in the lectures and on Piazza.


Instructors: Dan DiTursi (ditursi) and Alex Gittens (gittea)

TAs: Mei Huang (huangm10), Junseob Kim (kimj43), Lilian Ngweta (ngwetl), Eric Scheer (scheee2), Xingjian Zhao (zhaox8)

Undergraduate mentors: Angelo Arrandale (arrana2), Bryan Diep (diepb), Harry Hargreaves (hargrh), Catherine Li (lic26), Sophia Lin (lins12), Ronin Silvestre (silver3), William Young (youngw), Justin Zhang (zhangj50)

If you need testing accomodations (e.g. a shift or extension in your test time), please contact the instructors. We will send emails to ensure that you are informed about your test time accomodations near to the tests and quizzes.


Office Hours:
Tuesday 9:30am-12pm ET, Thursday 2:00pm-4:30pm ET AE 123A Dan DiTursi
Monday 12pm-2pm ET AE 127 Mei Huang
Thursday 2pm-4pm ET AE 127 Junseob Kim
Monday, Thursday 10am-11am ET Lally 316 Alex Gittens
Friday 2pm-4pm ET AE 127 Lilian Ngweta
Thursday 12pm-2pm ET AE 118 Eric Scheer
Monday 2pm-4pm ET AE 127 Xingjian Zhao
Sunday 2pm-6pm ET AE 118 Rotating: one TA and two mentors

Recitations:
Wed 10:00am-11:50am ET Troy 2018 Eric Scheer
Wed 12pm-1:50pm ET Troy 2018 Mei Huang
Wed 2pm-3:50pm ET Troy 2018 Xingjian Zhao
Wed 4pm-5:50pm ET Troy 2018 Junseob Kim

Course Details