22C:34
Discrete Mathematics
Summer 2001
Contact/class information
You can see me outside the office hours provided it is mutually convenient.
You can use email to set up an appointment time.
Grades
Your grades are available here - this includes
your score on the final exam and your overall score for the homework.
Homework exercises
Hand in the exercises listed in red!
-
Chapter 1: Logic.
All exercises for chapter one listed in red
should be completed and handed in Tuesday 12th June.
-
Section 1: # 1, 4, 10, 15,
17, 18, 20, 23, 28, 32,
42, 47, 54.
-
Section 2: # 1-9, 14, 20,
26, 34, 35, 40, 43, 50.
-
Section 3: # 1-4,
8 10, 14,
20, 22-25,
49, 55,
59,
67-70,
71-75.
-
Section 4: # 1, 4,
7,
9,
12,
16,
18,
22,
27,
34.
-
Section 6: # 1,
3, 7,
12, 17,
18, 20,
35, 36, 38,
46.
-
Chapter 2: The language of mathematics
All exercises for chapter two listed in red
should be completed and handed in Tuesday 19th June.
-
Section 1: # 3, 6, 8, 10, 12,
16, 25-29, 31-34,
41, 43-46, 48, 51,
54, 59, 64, 80, 85.
-
Section 2: # 1-3, 5, 11,
15, 20, 24, 31, 40,
59,
82, 85,
88,
90,
94, 96, 98.
-
Section 3: # 3, 4, 7,
9, 14, 15, 21,
24,
30,
32, 37, 45, 48,
49.
-
Section 4: # 2, 7,
10, 13, 14,
19, 30, 34, 36,
39, 41, 44, 50,
57.
-
Section 5: # 3-6, 10, 11,
13, 16, 17, 18,
21,
28, 29, 32, 35, 38,
40.
-
Section 8: # 3, 8, 12,
13, 20, 23, 26, 27,
36, 38, 41,
58, 65.
-
Chapter 3: Algorithms
All exercises for chapter three listed in red
should be completed and handed in Tuesday 3rd July.
-
Section 1: # 1.
-
Section 2: # 2, 8, 14,
20. (5 points each)
-
Section 3: # 3, 6, 9, 12,
20.
(2 points each)
-
Section 4: # 7, 8, 13, 16,
22, 27. (5 points each)
-
Section 5: # 3, 8, 9,
12,
17, 21,
26,
31,
42,
44, 53. (2 points each)
-
Section 6: # 5, 6. (5 points)
-
Chapter 4: Counting methods and the pigeonhole principle
All exercises for chapter four listed in red
should be completed and handed in Tuesday 10th July.
-
Section 1: # 2, 5, 6, 7,
9, 10, 15,
20, 21-27, 32, 36, 41,
43, 46, 49, 56,
59, 60, 70.
-
Section 2: # 2, 3, 8, 11, 14,
15, 22, 30, 33,
45, 51, 59, 70,
78.
-
Section 6: # 3,
5, 8, 11, 13,
17, 20, 23, 26,
29, 34, 42, 49.
(# 29 and # 49 are worth 5 points)
-
Section 7: # 2, 4, 7, 11, 14,
20,
23,
29,
32.
(# 20-32 are worth 5 points each)
-
Section 8: # TBA (= "to be announced")
-
Chapters 4 and 5: Counting methods, and Recurrence relations
The exercises listed below in red
should be completed and handed in Thursday 19th July.
-
Chapter 4, section 8: # 1, 3, 4, 5,
7, 16-19. (2
points each)
-
Chapter 5, section 1: # 2, 3, 4, 6,
7, 9-12, 19, 20,
21,
26, 27,
38, 39, 48,
52.
(# 21, 27, 48, 52 are worth 5 points)
-
Chapter 5, section 2: # 1, 2, 3, 5,
8, 9, 12, 14
[Hint: look at bn = log(an )], 16,
23, 27, 34, 35, 48, 51.
(2 points each)
-
Chapter 5, section 3: # TBA.
-
Chapter 6: Graph theory
The exercises listed below in red
should be completed and handed in Thursday 26th July.
Description
This course is about the mathematics you will use to design and understand
algorithms and other issues in Computer Science. In particular, we will
learn about
-
Logic
-
Sets, functions and relations
-
Number systems (including modular arithmetic)
-
Algorithms
-
Counting and combinatorics
-
Graph (or network) theory and how it is used to represent and solve real
problems
The syllabus below has more details.
Textbook
Discrete Mathematics , 5th edition by Richard Johnsonbaugh (2001).
You can get this book from either the IMU Bookstore or from Iowa Book and
Supply. There may be a few second hand copies for sale.
Syllabus
-
1.
-
Chapter 1: Logic and Proofs. We will define logical propositions
are and use truth tables to help determine if a statement is logically
(always) true. Then we will talk about how to prove logical propositions,
and throw in quantifiers (``for every x, ...'' and ``there is a
...''). Finally, we will use mathematical induction to prove things that
would otherwise be impossible to show.
-
2.
-
Chapter 2: Sets and relations. A set is a collection of elements.
A sequence is an ordered list of elements, and a relation says if two elements
are related in a particular way, like ``is bigger than'' or ``is the uncle
of''. Many relations have special properties. If it has the properties
that you would expect of ``equals,'' then we have an equivalence relation;
equivalence relations are particularly useful. Also useful are ordering
relations (``if
a is bigger than b, and b is bigger
than c, then a is bigger than c''). Functions are
special kinds of relations that relate the input of the function to its
output.
-
3.
-
Chapter 3: Algorithms. We will talk about alorithms, and how to
describe them using pseudocode. We will look at some particular examples
including the Euclidean algorithm (which is useful for understanding modular
arithmetic). We will also talk about recursive algorithms and the complexity
of algorithms (How long does it take?).
-
4.
-
Chapter 4: Counting methods. We all know how to count 1, 2, 3, ....
But how do you count the number of rectangles you can find in a chess board?
Or the number of ways of going between two intersections in Manhattan,
New York? We need to use: permutations and combinations; binomial coefficients;
and the ``pigeonhole principle'' to do this kind of counting.
-
5.
-
Chapter 5: Recurrence relations. These will also help us count how
many ways to do something, as well as work out compund interest. Recurrence
relations are where xn depends on xn-1,
xn-2,
etc. Often
xn depends only on the previous value xn-1,
or xn-1 and xn-2.
We will see how to use recurrence relations to analyze algorithms and how
to solve them. A famous recurrence relation is the one that generates the
Fibonacci numbers 1, 1, 2, 3, 5, 8, 13, 21, ....
-
6.
-
Chapter 6: Graph theory. Graphs are made up with nodes (``dots'')
that are joined by edges. We will look at questions like: Can we get from
one node to any other? Can we visit all the nodes exactly once while traveling
along the edges? Can we visit each edge exactly once? How can we find the
shortest path from one node to another? When can we draw a graph without
edges crossing?
-
7.
-
Chapter 7: Trees. Trees are graphs that have no loops. These are
useful in many ways, and especially for algorithms. Trees can be used to
describe knockout competitions (when a team loses, it is eliminated from
the competition). They can also be used to efficiently code data, sort
data, encode mathematical expressions, and analyze games like chess and
tic-tac-toe.
Assessment
There will be weekly homework assignments, one mid-semester exam, and
a final comprehensive exam. The homework will count for 30% of the final
assessment, a mid-semester exam will count 20% of the final assessment,
quizzes will count for 20%, and the final exam will count for the remaining
30% of the assessment. There will also be ungraded exercises to help you
exercise your skills.
The homework is a vital part of the course. If you don't do it, you
won't just miss out on 30% of the assessment, but you probably won't get
the practice or learn what you need for doing the exams either.
Notes
The course plan may be modified during the semester. Such modifications
will be announced in advance during class periods; the student has responsibility
for keeping up with such changes.
You should also make a habit of reviewing the class web page:
http://www.math.uiowa.edu/~dstewart/classes/22c34/22c34.html
This page will have homework details and other information posted to
it as the class progresses.
The Department of Computer Science
offices are in 14 McLean Hall (MLH). You can contact the chair of the department
through the Departmental Secretary at 14 MLH or by calling 335-0746.
Please let you instructor know if you have a disability that requires
special arrangements. I need to hear from anyone who has a disability which
may require some modification of seating, testing or other class requirements
so that appropriate arrangements can be made. Please see me after class
or during my office hours.
Be sure to read the section titled Student Complaints Concerning
Faculty Actions on page 23 of the Schedule of Classes (Fall 1999).
David Stewart
4/25/2001