- Lecture 1: 2650 Humanities, MWF: 11:00 am - 11:50 am
- Lecture 2: 132 Noland, MWF: 1:20 pm - 2:10 pm
- Beck Hasti
5375 Computer Sciences, hasti (at) cs.wisc.edu
- Monday 2:30 - 3:30 pm
- Tuesday 1 - 3 pm
- Friday 9 - 10 am
- and by appointment
- Amanpreet Singh Saini
- Anant Gupta
- Karan Dharni
- Karthik Chandrashekar
- Luke Swanson
- Qian Zhang
- Shashank Rajput
- Shitao Li
- Surya Teja Chavali
- Zhili Feng
- The CS 240 website is under construction for the fall 2017 semester.
- Discussion sections will not meet on Thursday, September 7
- Notify Beck Hasti within the first three weeks of classes if:
- you participate in religious observances that may conflict with course
- you have a VISA from the McBurney Disabillity Resource Center.
CS 240 gives an undergraduate-level introduction to discrete mathematics geared towards prospective Computer Science and Electrical and Computer Engineering majors. It covers fundamental concepts of mathematics (definitions, proofs, sets, functions, and relations) and focuses on the discrete structures that are ubiquitous in digital computing: integers, bits, strings, graphs, and trees.
The goal of the course is two-fold:
- making you familiar with those structures and related notions that are relevant to computer science, and
- developing your skills to reason rigorously about those structures and notions, especially in an algorithmic context.
Basic concepts of mathematics (definitions, proofs, sets, functions, and relations)
with a focus on discrete structures: integers, bits, strings, trees, and graphs.
Propositional logic, Boolean algebra, and predicate logic.
Mathematical induction and recursion.
Invariants and algorithmic correctness.
Recursion, recurrences, and asymptotic growth analysis.
Fundamentals of counting.
Regular expressions and finite automata.
One semester of calculus (Math 221).
It will be useful to have some prior programming experience.
Final letter grades are determined from your final cumulative score that is computed using the following breakdown:
- 60% Exams :
3 exams, 2 during the semester and one during the final
exam period each worth 20% of your final grade
- 34% Homeworks :
12 homework assignments, the first worth 1%, the other eleven each worth 3% of your final grade
- 6% Participation :
zyBook Participation Activities, scheduled to be due prior to that material being covered in lecture
Letter grades are assigned at the end of the semester.
The curve is determined after the final exam is completed.
The median student's course grade is anticipated to be a low B or high BC.
Below is a tentative schedule of the topics and order in which they will be covered. Course content comes from the lectures and discussion sections as well as a zyBooks E-Text and a set of on-line readings (linked in the schedule below).
Each topic roughly corresponds to one week.
See Canvas for the most up-to-date schedule.
- Propositions and Predicates
- Program Correctness
- Asymptotic Analysis
- Relations and Functions
- Finite State Automata and Regular Expressions
Checklist of things to do to get started with the course:
Register for the course zyBook
We will be using an electronic text provided through zyBooks.
In addition to readings, it also provides interactive demonstrations and activities that
facilitate active learning.
Participation activities count towards the participation part of the course grade;
challenge activities will be part of the homework assignments.
- Use your NetID based @wisc.edu email address to sign up for an account at
- Enter the zyBook code: WISCCOMPSCIMATH240HastiFall2017
- Click Subscribe (cost is $48)
- If you've never used zyBooks before, complete the How to Use zyBooks
Activate your Piazza Account
Piazza is a free online tool for asking and answering questions related to CS 240 material.
- Follow the Piazza account activation link
- Click "Join Classes"
- Be careful to include your NetID based @wisc.edu email address when creating this account.
Check your schedule for exam conflicts
The exams are:
- Exam 1 : Monday, October 16th, 7:15 pm to 9:15 pm
- Exam 2 : Monday, November 13th, 7:15 pm to 9:15 pm
- Exam 3 : Wednesday, December 20th, 12:25 pm to 2:25 pm
If you have a conflict, send email to Beck with the subject "CS 240 Exam N conflict"
where N is replaced with the exam number (1, 2, or 3).
In the body of the email, please indicate the reason for the conflict (e.g., a Physics 101 lab).
- Read the Introduction
and start working on zyBook Chapter 1 (Getting started: some foundational material).
Last Updated: 9/19/2017 ©2017 Beck Hasti