ECS 20 — Discrete Math for Computer Science — Course Information — Fall 2013
Time and place
TR 1:40 - 3:00 in Giedt 1003.
There were two discussion sections.
Section 1 meets M 11:00-11:50 in Wellman 230.
Section 2 meets M 3:10-4:00 in Wellman 216.
You may attend whichever section you prefer (not necessarily the one you are officially enrolled in).
My name is
Phil Rogaway. I am a professor here (=UCD) whose work is in cryptography.
My office is in 3009 Kemper.
I can also be reached at firstname.lastname@example.org — but please use office hours or the newsgroup,
rather than email, for routine technical questions.
Please seem my homepage
for my current office hours.
Teaching Assistants and Reader
There are two TAs assigned to the class:
- Darren Yuxi HU: email@example.com
Office hours: Mon, 9:00-11 am in 53 Kemper.
Among other activities, Darren will be doing grading and holding office hours.
- Theo PAN: firstname.lastname@example.org
Office hours: Tue 3:10-6 pm and Wed 9-11 am in 53 Kemper.
Among other activities, Theo will be covering the discussion sections and holding office hours.
- Ali SHAHROKHI: email@example.com
Our reader, Ali will be helping with the problem set grading.
The course web page
it is where you’ll find assignments, solutions, and so.
It is a click away from my homepage, on the CS Department’s web server (not on SmartSite).
Please check the page frequently.
You are welcome to use the
chat room to ask questions of me, the TAs, or your fellow students.
But please don’t “give away” the answer to homework questions on this page..
The grading criteria this term is:
To get a passing grade in the class, you must pass the final exam.
Also, you must turn in the
first two homeworks (with reasonable attempts at solutions) and take the first quiz.
The reason for the rule of the last sentence is enrollment pressure: to make space for those who
want to take the class, I need to
“force” people to drop the class if they’re not going to be engaged in it from the beginning.
There is no making up a missed quiz, but contact me if a documented illness caused you to miss a quiz.
All exams are closed book, notes, and gadgets.
- Weekly problem sets - 20%
- Midterm - 25%
- Quizzes - 15% (three anticipated; subject to change)
- Final - 40%
I expect that only a proper subset of your homework questions will be graded.
With a class this big, there isn’t time to grade every problem, every week.
If you believe that a problem was misgraded you may resubmit it to a TA for regarding.
Make sure you understand the solution first.
Regarding requests must be done within one week of when the material was returned to you.
If something was just recorded wrong or summed wrong, please show me
after class and I will fix it.
In this class, I hope that you will:
(1) gain some mathematical maturity;
(2) improve your ability to think creatively in a rigorous domain;
(3) improve your skills with technical writing; and
(4) learn some standard material in discrete math.
You will not succeed in this class by way of memorization or pattern matching;
it just won’t work. Your goal is to thoroughly understand what we cover
and to be able to invent around it.
I haven’t really liked any of the books I’ve seen in this area: they
are often boring, or ludicrously expensive, or poor examples of how to be write mathematics.
Often all three.
Nor am I sure that all students need a book for a course like this.
All that said, most students do want to have some particular book(s) at hand,
so I requested the UCD bookstore to order the following,
Another nice books for this class is
How to Prove It, by Daniel Velleman (2006).
Its emphasis is on improving your ability to write proofs.
Discrete Mathematics, by Norman Biggs, 2003.
Schaum’s Outline of Discrete Mathematics,
by Seymour Lipschutz and Marc Lipson, 2009.
There are a zillion more discrete math texts.
The most popular ones are by
Susanna Epp and by
Either would work well if you want a more traditional text.
These and other popular textbooks are updated frequently (the above pointers are to the fourth editions),
but the old editions are as good as the current one, and should be way cheaper.
I don’t expect to assign homework problem
by reference to any book: I will explicitly write down each
question in full.
Unless indicated otherwise, homeworks will be due at 4:15 pm every Wednesday.
The first problem set will be due October 2.
Turn in homeworks in 2131 Kemper.
Homeworks will probably be picked up promptly.
No late homeworks will be accepted.
Much of what one learns in this course comes from trying to solve
the homework problems, so work hard on them.
I intend for you to find some of the problems challenging,
and it simply may not be possible for you to solve everything.
Doing a conscientious job on the homeworks is the best preparation
for the exams, and is essential for mastery of the material.
Your writeups should be clear, terse, and neat.
Aim for elegance.
Typeset solutions are appreciated, and serious, grad-school bound students
are encouraged to learn to use LaTeX.
Understandability of the solution is as necessary as correctness (if the two can even
Don’t be surprised to lose points if you provide a “correct” solution with a
poor writeup: presentation (always) counts.
If you can’t solve a problem, please indicate what you’ve tried and where
the difficulty lies; know what you know and be clear about it.
Never try to “bullshit” an answer you can’t figure out.
Oddly, many students are happier
to spend long hours hacking in front of a machine than peacefully thinking
beneath a tree.
Computer science is about thinking and problem solving, not about spending
endless hours pounding some hapless program into a kind-of-working state.
I permit but discourage collaboration on homeworks.
This is not the usual perspective you will hear (and it definitely
does not mean that I do not appreciate the value
of working with partners or on teams). But
I think that, for the material of this
class (and also for ECS 120 and maybe ECS 122A),
solitary struggling on homeworks is needed for mastery.
When we were students, my colleagues and I
enjoyed working, alone, on our math and theory courses.
Hopefully you will too.
I understand that there are many different learning styles, and that
many students do best (or think they do) by collaborating.
If you do work with others, the
manner in which you do so will have a
profound impact on how much you get out of the homeworks
(and this, in turn, will have a big impact on how you do on exams).
Here’s what I suggest.
First, think about the problems and try to solve each on your own.
If, after giving a problem some real thought,
you can’t get anywhere with it,
then discuss it with others.
Your goal on the homeworks should not be to maximize your points,
but to learn a certain set of problem-solving skills.
If you collaborate with anyone on a homework problem,
you must identify them on your solution.
You are not penalized in any way for this—it is just a matter of academic honesty.
You must likewise acknowledge any books or web page
you have consulted other than the two “official” official texts.
Unless otherwise instructed, you must
write up problems entirely on your own.
Some homework questions will have been used in prior years.
You absolutely may not consult any old problem set solution in preparing your
own. This includes both problem set solutions from prior years of ECS 20 and problem
set solutions from other institutions.
In recent terms we keep “catching’ people violating this.
It is easier to spot than people seem to think.
All instances of apparent academic misconduct will be referred to Student Judicial Affairs (SJA).
And, I should tell you, I have grown tired of students cheating.
If asked (and we usually are), I will likely advocate for the maximum penalty that SJA will permit.
If you have a problem that is driving you towards academic misconduct,
please come see me.
I am one of the CS Department’s UG advisors
(indeed I’ the “Chair” for UG advising), and I really
do like to help advise students where I can.
Top students especially should come see me, for advice on matters like
admission to top graduate programs.
I am forever busy, and have a terrible memory for names, and really cannot
recognize human faces whatsoever (honest).
All of this might make you think me indifferent.
It is not so.
A final little request: please do not wear scented products when you come to see me
in advising hours: I might not be able to breathe.
I will also have problems if you’re a smoker (but, hopefully, none of you would
do something as off-putting as that).
This class will provide your first small glimpse of theoretical computer science. I hope you like
what you see.