Discrete Structures (CS 173), Lecture B – Spring 2014 Instructor

Discrete Structures (CS 173), Lecture B – Spring 2014
Instructor: Derek Hoiem
Co-instructor: Margaret Fleck (Section A)
Room: 1320 Digital Computer Laboratory (DCL)
Times: 11:00 - 12:15 Tuesday and Thursday
Contact: dhoiem [at] uiuc.edu, Siebel 3312
Webpage: http://courses.engr.illinois.edu/cs173/
Piazza: https://piazza.com/class#spring2014/cs173b (University of Illinois, CS 173 [B], pw: athena)
Moodle: https://learn.illinois.edu (register for CS 173 BL2/BL3 SP14: Discrete Structures B)
This syllabus is meant to provide a quick initial overview. See the course webpage for details and the
latest information.
Discrete Structures is the foundational course for learning how to computationally solve problems.
Solving a problem requires modeling the world, devising an algorithm, and determining the correctness
and efficiency of the algorithm. This course serves as a foundation for data structures, algorithms,
artificial intelligence, and many applications of computer science.
Course Objectives
This course teaches how to model the world, strategies for proving or disproving statements, and how
to model the behavior of algorithms. By the end of the course, you will be able to represent the world
in terms of logic, sets, relations, graphs, and functions and to manipulate those models to infer new
relations or quantities. You will get much practice with proving or disproving statements using various
strategies such as direct, existential, contrapositive, and inductive proofs. You will master the basics of
number theory and be able to characterize an algorithm’s speed as a function of the number of
elements and relations in the model. Most importantly, this course will teach you how to think
This course assumes that you have taken an introductory programming class similar to CS 101, CS 125,
or ECE 190. ECE 198KL is also fine, but ECE 198JL is not sufficient. We plan to enforce this prerequisite.
So if you have taken courses elsewhere or have informal programming experience, you must sort out
transfer credit or pass the CS 101 or CS 125 proficiency exam or provide other convincing evidence that
you have equivalent background. The university should automatically give you credit for CS 101 if you
have a score of 4 or 5 on the CS AP exam. It is possible to use CS 103 to satisfy the programming
prerequisite. However, we recommend this route only if you got an A in CS 103. See here for details.
General Information
Textbook: The official course text is Building Blocks for Theoretical Computer Science by Margaret
Fleck, version 1.3. I suggest you buy a hardcopy in the bookstore for $18. You are required to buy a
discussion packet ($5) and a duplicate lab notebook (~$15). The lab notebook is used to turn in
duplicates of your work/solutions during discussion sections. You can use the notebook made available
in the store or another that serves the same purpose. If you want more detail, we have a second
optional text: Discrete Mathematics and its Applications, Kenneth H. Rosen, 7th edition, McGraw-Hill,
New York, 2011. This is available from the book store or on-line booksellers. The 6th, 5th and
international editions are good and less expensive alternatives. It's also on reserve at Grainger library.
Sometimes it helps to read explanations of an idea from several different people. Another text is also on
reserve: Martin Liebeck, A Concise Introduction to Pure Mathematics. This text is designed for a course
with somewhat different topic coverage, but it is very well written.
Attendance is expected and is necessary to get the most from the course. You are expected to attend
lectures and a discussion section. If you cannot be there, you must arrange to pick up any handouts or
returned homeworks you may have missed, e.g. by coming to office hours. Discussion sections are
Thursdays 2pm, 3pm, 4pm, 5pm and Fridays 10am, 11am, and 4pm, all at Siebel Center 1111. See TAs
and schedule here.
Newsgroup: Many announcements, including homework hints, are distributed on the class discussion
group. You must read the newsgroup regularly (at least once a day). Only particularly important
announcements will be duplicated on the course home page. You are encouraged to use the newsgroup
to initiate and participate in discussion related to the class. However, students should not post solutions
or hints to homework problems. To sign up, enroll in CS 173 on the Piazza web site. You will need an
access code provided on the first page.
To obtain disability-related academic adjustments and/or auxiliary aids, students with disabilities must
contact the course instructor and the Disability Resources and Educational Services (DRES) as soon as
possible. To contact DRES you may visit 1207 S. Oak St., Champaign, call 333-4603 (V/TDD), or e-mail a
message to [email protected]
Assignments and Grading
Grading is based on homeworks and exams. The final letter grade should reflect practical and theoretical
grasp of concepts introduced in class, as demonstrated through regular and final projects and the exam.
The thresholds for guaranteed grades are: A 94%; A- 90%; B- 80%; C- 70%; D- 60%. If you score above
these thresholds you will receive at least the corresponding letter grade. We reserve the right to assign a
higher grade based on a curve or exceptional circumstances. In previous terms, this course has given
about 20% A's, 30% B's, 30% C's, 15% D's, and 5% F's. We expect to be at least this generous. As the
term progresses, we will try to keep you informed about where we think you stand in terms of letter
grade. See here for details on classwork and grading.
Exams (65%): There will be two midterm exams and one final exam, held in class, roughly 1/3 and 2/3 of
the way through the term. The dates will be indicated on the Lectures page. Details and review materials
will be available on the Exams page. The midterms are worth 20% each, and the final is worth 25%.
Reading Quizzes (5%): After every lecture (due at 11:59pm the same day), there is a short quiz. The
purpose of this quiz is to make sure you are attending lectures and/or reading the book and on track in
the course. The quizzes are immediately and automatically graded, and you can resubmit this quiz any
number of times without penalty. The lowest two quiz scores will be dropped.
Homeworks (30%): There are three types of homeworks. Discussion problems are submitted as
duplicates from your lab notebook at the end of each discussion section. Full credit requires
demonstrating at least a good attempt at the problem. This is worth 5% of your grade. Minihomeworks are submitted to using Moodle and automatically graded for immediate feedback. These
are similar to reading quizzes but may have more challenging problems. You are expected to do these on
your own: you may not ask others for answers, but you may discuss concepts. Mini-homeworks are
worth 10%. Long-form homeworks may contain more complex problems such as proofs and are worth
15%. For each type, the overall homework grade is the average of the individual homework grade
percentages, excluding the lowest-scoring homework of that type. Both mini and long-form homeworks
will be due each week on Wednesday, submitted using Moodle.
Collaboration and Academic Integrity
In this course you are allowed to discuss homework problems with your classmates, and to work
together in small groups (e.g. 2-3 people). Read the cheating and collaboration policy for details of what
is and is not allowed. In particular, notice that each person in a homework group must write up and turn
in their own solutions, in their own words.
The goal of homework problems is to understand the material and the goal of working in groups is to
help all of you understand the material. If you merely copy someone else's solutions, you will do poorly
on the exams, which are worth much more than the homeworks.
Violations of academic integrity will be reported to the university and could result in a zero for the
assignment, a reduced final grade, or failing the course.