COMPSCI 250 Syllabus, Fall 2024

COMPSCI 250 is the undergraduate core course in discrete mathematics and deals with logic, elementary number theory, proof by induction, recursion on trees, search algorithms, finite state machines, and a bit of computability.

The two lectures each day will be very similar and use very similar lecture slides. Lecture 250-01 (Dave) meets MWF 1:25-2:15 p.m. in Goessmann 20. Lecture 250-02 (Mordecai) meets MWF 10:10-11:00 a.m., also in Goessmann 20. The sections will have the same homework and exams, and will use a single Canvas site.

There are nine discussion sections each Wednesday:

Instructor Contact Info:

David Mix Barrington, 210 Computer Science Building, 545-4329, private zoom number 459 532 6175, office hours for Fall 2024: TBA

Mordecai Golin, A143 LGRC, office hours for Fall 2024: TBA

The best way to contact either Dave or Mordecai is by email. Dave will usually eventually answer email at barring@umass.edu, but not as quickly.

TA and UCA Contact Info:

This course is primarily intended for undergraduates in computer science and related majors such as informatics, mathematics or computer engineering. CICS 160 (using data structures) and MATH 132 (Calculus II) are prerequisites and are pretty strictly enforced.

The four-credit course meets for three lecture meetings a week, Monday, Wednesday, and Friday. Mordecai will lecture 10:10-11:00 in Goessmann 20 and Dave will lecture 1:25-2:15 p.m., in ELAB II Room 119 -- the lectures will be similar and will follow the textbook pretty closely. Both lecture sections of the course will have the same assignments, exams, and grade scale.

The schedule below indicates which lectures and discussions happen which days, which sections of the book to which they refer, and when the homework assignments are due.

There is one discussion meeting per week for each of the nine sections, at various times on Fridays before lecture as indicated on 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. The TA's and instructors will cover the sections in various combinations, so they will be as interchangeable as we can make them.

The course is using the Canvas course management system and the Piazza system for student discussion. We will also use a free system called ClassQuestion, which replaces the iClicker system we used in prior years. They will be used in grading only for classroom attendance. Basic information about the course will be on this site, and specifics of the course will be off of the Canvas main page once it is established.

Course Objectives:

This is a course about mathematical proof -- how and why to prove things about the objects of digital computation. In order to write programs, you need to think clearly about them, and the techniques of mathematical proof are an essential tool for that. The single most important tool is mathematical induction, which allows us to prove statements about any system that is defined in terms of itself. The natural numbers are the most familar such system, but in computing we create other structures by recursive definition, and process them with recursive algorithms. We show you recursion and induction using a variety of systems that are used in actual computation.

Learning Outcomes:

This page lists specific things that might be asked on a final exam.

Textbook:

The textbook is the current draft of Dave's in-progress book, A Mathematical Foundation for Computer Science. This is available as an e-book from Kendall Hunt Publishing (last year for $60, probably a bit more this year). It has an "assessment package" where you will need the current version of the book to answer quiz questions. The book and package can be obtained from the eCampus site or directly from Kendall Hunt. (Dave does not get royalties for purchases from students in the course -- they are contributed to the David Mix Barrington Scholarship in Computer Science.)

Schedule:

This page indicates the dates and topics of each lecture and discussion, including the sections of the textbook used in each.

Course Requirements and Grading

Your grade in COMPSCI 250 will be based on the following: