CSCI 2200: Foundations of Computer Science (FOCS), Spring 2024


Personnel


Class Time and Location


Course Description

This is a theory course in discrete mathematics and the theory of computation. Every computer scientist should have a solid grasp of these concepts in order to be able to develop fast algorithms, design large systems and be able to reason about program correctness.

Discrete Mathematics
(i) Proofs, especially induction (ii) Sums and Recurrences (iii) Graphs (iv) Counting and Probability

Theory of Computing
(v) What is computing? (vi) How to compute? (vii) What can we compute? (viii) How fast? (P vs. NP)

Textbook

Discrete Mathematics and Computing, M. Magdon-Ismail.

The textbook is required. Reading the book is complementary to lecture material – you are also required to work through all exercises in addition to attending the lectures. Homework problems will be assigned from the book as well.

Grading


Useful Resources


Announcements

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

Assignments

Unless otherwise noted, each assignment will be due at midnight Tuesday. All assignments must be submitted through Submitty. You are expected to work alone on all assignments - please check the syllabus for a clarification of what constitutes academic dishonesty.

Past Quizzes and Exams


Quizzes and Exams


Lectures