Course Web Page
Contact Info for Instructor and TA, office hours, assignments, tests,
and general information is all on the course web page.
This course is an introduction to the formal mathematical concepts of computer
science for the beginning student. Topics include logic, set theory, deduction, induction, number theory, algorithmic processes and basic graph theory.
Text: Our text is Discrete Mathematics and Its Applications by Kenneth Rosen.
Math-162L (Calculus I) and CS-152L (Computer Programming Fundamentals).
The homeworks will be challenging and will be where you do much of your learning. Start early!!! Even spending $10$ minutes reading all the problems will prime your brain to start working on them. Some additional information:
- Assignments are due at the beginning of class on the due
date. Assignment deadlines are strict: late homeworks will
automatically receive a grade of zero, without prior
approval. Prior approval is generally given only in the case of a
medical problem or family emergency.
- Group collaboration is encouraged on the homeworks, provided that
you write at the top of your homework the names of all the other
students that you collaborated with. Note that although collaboration
is encouraged, the solutions must always be written up
individually. You should not look at or copy another student's
solution and should not copy solutions from the
Internet. A rough rule of thumb here is the ``American Idol`` Rule. After working with your group,
go watch a half hour of American Idol on TV (or your favorite mindless but fun TV show) before you write up the solutions.
You may consult other textbooks or the Internet as you would another student (i.e. cite your source and use the ``American Idol'' rule).
Remember Copying solutions from another student or from the
Internet is cheating. In case a student presents a solution that
is essentially identical in whole or in part to solutions from another
student or other source, that student will receive a 0 on the
assignment, may be reported to the University Administration and may
not be permitted to continue in the class.
- Put pages of hw in order. We don't care what order you
solve the hw in, but before you turn it in, you must put the problems
in order (this makes grading much easier)
- Staple hws, do not use paper clips, folding, tape, putty,
gum, etc. Prof Saia and the TA do not bring staplers to class, so
make sure you staple the hw before class (stapling helps us keep
together all pages of your hw)
- Regrades: if you feel a mistake was made grading your hw, please
let the TA know about it (if you still feel there is a problem, then
please talk to Prof. Saia). Please ask for a regrade within one week
of receiving the graded assignment.
Notes on Grading Hws
Your hws and test answers should have the following properties. We will be looking for
these when we grade:
- Clarity: Make sure all of your work and answers are clearly
legible and well separated from other problems. If we can't read it,
then we can't grade it. Likewise, if we can't immediately find all of
the relevant work for a problem, then we will be more likely to grade
only what we see at first.
- Completeness: Full credit for all problems is based on both
sufficient intermediate work (the lack of which often produces a
'justify' comment) and the final answer. There are many ways of doing
most problems, and we need to understand exactly how YOU chose to solve
Here is a good rule of thumb for deciding how much detail is sufficient:
if you were to present your solution to the class and everyone understood
the steps, then you can assume it is sufficient.
- Succinctness: The work and solutions which you hand-in should be
long enough to convey exactly why the answer you get is correct, yet
short enough to be easily digestible by someone with a basic knowledge
of this material.
If you find yourself doing more than half a page of dense algebra,
generating more than a dozen numeric values or using more than a page
or two of paper per problem for your solution, you're probably doing
too much work.
Don't turn in pages with scratch work or multiple answers - if you need to
do scratch work, do it on separate scratch paper. Clearly indicate your
final answer (circle, box, underline, etc.).
Note: It's usually best to rewrite your solution to a problem before you
hand it in. If you do this, you'll find you can usually make the
solution much more succinct.
You should read the material in the textbook before we cover it in class. The class material will be challenging and the class pace will be fast - you will get lost very quickly if you come into the classes unprepared. Topics will likely include (total weeks in the semester is roughly 15)
- The Foundations: Propositional Logic, Predicates, Quantifiers, Rules of Inference, Proofs (roughly 2 weeks, all of Chapter 1)
- Sets, Functions, Sequences, Sums, Functions (roughly 2 weeks, Chapter 2)
- Basic Algorithms and Number Theory: Growth of Functions, Complexity of Algorithms, Modulo Arithmetic, Euclid's Algorithm, Chinese Remainder Theorem (2 weeks, Chapter 3.1-3.5)
- Applications of Number Theory: RSA Encryption, Residue Number Systems, Secret Sharing Based on the Chinese Remainder Theorem (2 weeks, Chapter 3.6-3.7)
- Induction and Recursion: Strong Induction, Recursive Algorithms and Recurrences (2 weeks, Chapter 4)
- Graphs: Terminology and Graph Types, Isomorphism, Connectivity, Paths and Cycles, Coloring (2 weeks, Chapter 9)
- Basics of Modeling Computation: Finite State Machines and Turing Machings (2 weeks, Chapter 12)
- Time Permitting: Probability, Randomized Algorithms and Expectation (1 week Chapter 6)
- Homeworks, 20%
- Midterm 30%
- Final 40%
- Class Participation, 10%. I expect about 90% attendance in class, and will frequently ask questions to the class. The participation grade will based on attendance and class participation. It will be a very coarse grade: students who attend the lectures regularly and speak up will likely receive full marks for participation.
"No deals, Mr. Bond.": Grades assigned at the end of the semester are final. You will not be able to do any additional projects, papers, etc. to change your grade.