**Topics:** COMPSCI 250 is the undergraduate core course in discrete mathematics and will deal with logic, elementary number theory, proof by induction, recursion on trees, search algorithms, finite state machines, and a bit of computability. This course is primarily intended for undergraduates in computer science and related majors such as mathematics or computer engineering.

The two sections of the course will be taught with similar lectures and will have the same assignments, exam, and grade scale.

- Lectures: MWF 1:25 - 2:15, Goessman Lab 64 (Marius), and Herter 227 (Swarna)
- Discussions: There are six discussion sections, meeting at various times on Friday, as indicated in SPIRE. Each discussion will have a written assignment which you will carry out in groups. Discussion attendance is required, so that missing a discussion will incur a grade penalty. TAs and instructors will cover the sections, rotating as uniformly as possible.

Marius Minea (marius at cs), office: LGRC A261, office hours TBA and Swarna Reddy (skreddy at cs), office: LRGC A259, office hours Tue/Thu 3-4pm.

**Prerequisites**: COMPSCI 187 (programming with data structures) and MATH 132 (Calculus II) are prerequisites though occasionally one of these can be accepted as co-requisite.

**Textbook** (required): David Mix Barrington, Discrete Mathematics: A Foundation for Computer Science. This will be available at Collective Copies in Amherst Center. Prior versions of the textbook **that were intended for COMPSCI 250** may be used -- the most recent version of the book has some additional explanations (notably on searching), a few new problems and corrections of minor errors.

The course is using Moodle for quizzes and grades, Piazza (sign up here) for discussion and questions, Gradescope for submitting and grading homework, and the iClicker system for in-class questions.

- Course Requirements and Grading
- Learning Goals for the Course
- Syllabus and Schedule
- Piazza page for the course

Last updated: 21 January 2019