Foundations of Computer Science, CSCI 2200, RPI, Spring 2025
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 |
| 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 |