CMSC210 (Fall 2003) On-line
Table of Contents
Questions, Sections, Background, Topics, Textbooks, Course grades, Lectures/Exercises, Evaluation workshops, SOCS
If you have a question (especially, administrative one), please check the
following pages first.
If none of these answer your question, see
the "how to contact" section of the instructor's student information page.
Course work section of the instructor's page for students, esp. regarding
the following: announcements, attendance, holidays, in-class/take-home exercises, make-up policy, and academic integrity.
- On-line course handbook (this page)
Sections All sections of CMSC210 cover the core materials as described
in the course description. The course syllabus and the way each section
is run may differ from one section to another. Normally, multiple
sections are taught by the same instructor at the same pace and share most
of the course materials.
Background According to the current recommended
sequence for a Computer Science major, CMSC210 is to be taken during the
fall semester of the sophomore year. At the same time, MAT127 (Calculus
A) is now made prerequisite for this course. As a result, we will assume
some mathematical sophistication at a college level. Students are expected
to be familiar with the notion of function and the basics of mathematical
arguments. Furthermore, CS majors must have taken CMSC220 (CS1) and CMSC230
(CS2) [or CMSC250 (accelerated CS1+2)], where many concepts relevant to this
course are introduced either explicitly or implicitly. However, if
there are students who have not taken these CS courses (esp. non-CS majors),
we will not automatically assume the materials covered in these courses.
There are two non-CS courses that have significant overlap with CMSC210.
One is MAT200 (Discrete Math) and the other is PHL120 (Logic).
If you have taken MAT200, you will see substantial overlap with CMSC210.
If you have taken PHL120, you will feel the logic part of
These students must consult the instructor before or early in the semester
so that they can focus on the topics/approaches that are not covered in these
courses. Special arrangements can be (and should be) made.
To find out more about the concepts, definitions, and notations that are covered in this course, see Topics.pdf linked from the course page. Where the text does not provide definition/description for certain
concepts, this document gives a concise definition/description. More details and
examples will be discussed in class and appear on lecture slides. This
document may be revised.
This course (this section) is organized around the instructor's plan to
integrate the topics listed in the course description. It
is not based on the textbook. Therefore, you should primarily focus
on the materials discussed in class. You should not expect that we
read/cover the text page by page. Although the relevant
sections/pages from the text are indicated on the syllabus, they may contain topics not covered
in lectures, which you can skip. In this course, students are not expected
to prepare for lectures. On the other hand, if you need to review the
material covered in a lecture, the text must be helpful.
Just for your information, here is a list of discrete math (and related)
textbooks that have been/could be used for this course:
Here is a list of other (some advanced) books from which some parts
of the course materials (or some inspiration) are derived:
- Mathematical Methods in Linguistics by Barbara H. Partee, Alice
G. Ter Meulen, and Robert Wall. Kluwer. 1990.
[used in Sections 3 & 4, Fall 2002]
- Discrete Mathematical Structures, 4th ed. by Bernard Kolman, Robert C. Busby, and Sharon Ross. Prentice Hall. 1999. [used in Sections 2 & 5, Fall 2002]
- Introduction to Abstract Mathematics, 2nd ed. by John F. Lucas. Ardsley House. 1990. [text for MAT200; similar coverage]
- Discrete Mathematics, 5th ed. by Richard Johnsonbaugh.
Prentice Hall. 2001. [used in the past; older edition available in the TCNJ library]
- Discrete Mathematics and its Applications, 5th ed. by Kenneth
H. Rosen. McGraw-Hill. 2003. [broad coverage (except for general ideas about
- Discrete Mathematical Structures for Computer Science by Ronald
E. Prather. Houghton Mifflin. 1976. [more materials on
algebra, less on logic; available in the TCNJ library]
- Discrete Structures of Computer Science by Leon S. Levy.
John Wiley & Sons. 1980. [good motivational examples; also as
Fundamental Concepts of Computer Science, 1988; available in the TCNJ library]
- Discrete Mathematics in Computer Science by Donald F. Stanat
and David F. McAllister. Prentice Hall. 1977. [coverage close to this course; available in the TCNJ library]
- Representation and Invariance of Scientific Structure by Patrick Suppes. CSLI. 2002. [contains a lot of ideas discussed in this course in detail; probably readable and useful after this course (at least some part of it)]
- Specification of Abstract Data Types by Jacques Loeckx, Hans-Dieter
Ehrich, and Markus Wolf. John Wiley & Sons. 1996. [emphasizes the connection
between logic and algebraic structures]
- Formal Specification: Techniques and Applications by Nimal
Nissanke. Springer-Verlag. 1999. [many examples]
- Elementary Mathematical Modelling: A Dynamic Approach by James Sandefur. Brooks/Cole. 2003. [contains many examples of modeling dynamic phenemena]
- A Mathematical Introduction to Logic, 2nd ed. by Herbert B.
Enderton. Academic Press. 2000. [classic]
- Mathematical Logic
by Stephen Cole Kleene. John Wiley & Sons. 1967. [some discussion
on logic-structure connection; available in the library]
- What is Mathematical Logic? by J. N. Crossley, et al.
Dover. 1990. (originally from Oxford Univ. Press in 1972). [short; good to grasp
the big picture (but not an introduction)]
- Mathematical Logic by Stephen Kleene. John Wiley & Sons. 1967. [available in the library; ]
- An Introduction to Formal Languages and Automata, 3rd ed. by Peter Linz.
2001. Jones & Bartlett. [good explanation]
- Handbook of Logic and Proof Techniques for Computer Science
by Steven G. Krantz. Birkhäuser. 2002. [useful as a reference]
- An Introduction to Information Theory by Fazlollah M. Reza. Dover.
1994. (originally from McGraw-Hill in 1961). [helpful explanation
of the background of information/entropy]
The course grade will be determined as described in the syllabus.
There will be no extra-credit components. You may be able to get some
idea about the relation between the performance on each component and the
||Take-home exercises (35%)
||Comprehensive exercises (60%)
|1||100% (of 35%)
In order to perform well in this course, you will need to complete nearly all take-home exercises as this component will help
you to master the material in a timely manner.
The goals of lectures are described as follows (there may be variations
In this course, students are not required to prepare for each lecture.
The pace of a lecture is set so that most students can follow most
of the points without preparation. I will check the progress regularly
through in-class/take-home exercises. However, if the majority of
the students can follow lectures and a small number of students have difficulty,
I will contact the students who have difficulty, and discuss with them a
customized study plan.
- Introduce real-world problem that can be represented by using discrete
- Identify the discrete math concepts needed for the problem.
- Introduce and explain the discrete math concepts.
- Discuss how to apply the concepts to similar problems.
- Summarize the main points.
- Do in-class exercise at any point to appreciate introductory problems,
understand the material, and/or review the topics.
- Introduce take-home exercises.
In general, by the evening before each lecture, I will post a preliminary version
of lecture notes. Although students are not required to use this information,
it might be helpful to bring a printout so that you can take note on it.
After each lecture, exercises will be posted as well as a revised version
of lecture notes, if necessary.
Students are encouraged to do exercises in groups. However, it
would be best if you work on your own and have some answer before discussion.
If necessary, you might also consider Tutoring Center in Forcina Hall Room 145. Their web site is here.
In this class, please bring extra sheets of paper
for in-class exercises.
Evaluation WorkshopsThe reason I will
try evaluation workshops in place of traditional exams is partly due to the
transformative change, which is taking place at The College. I agree
with the general ideas of goal-oriented, learning-centered education. One
of the points discussed by the proponents of this approach is that students
must be evaluated in a manner they can use the skills learned in a course.
It seems that timed, closed-book exams are inappropriate for this purpose.
This semester, I will be trying a non-traditional format of evaluation involving self-evaluation,
which hopefully fits within the exam slots I used in the previous semester.
I hope that this format works better for students' learning.
One point raised in the education research literature is that weak students
tend to overestimate their achievements and strong students tend to underestimate
theirs. It is important that all the students understand their levels
as accurately as possible so that they all achieve the course performance
goals, through improvements following accurate evaluations. For this
reason, I will need to be straightforward about my review of your self-evaluation.
Since there are three midterm evaluation workshops, you should be able
to compare the evaluations by yourself and me and to reflect it in later
We will not make an extensive use of SOCS
in this course. The only functions that are currently enabled are
discussion board and e-mail list. You can use discussion board for
communication among students in your section
of this course. However, if you have a question for me, please send
it to me by e-mail so that I can post your question (anonymously) and my
answer on the Q&A page, which can be shared by students in multiple sections.
I would like to thank the CS faculty/staff and the students who provided me with constructive feedback.
I would also like to thank Max Mintz at the University of Pennsylvania, who taught
me discrete math many years ago with great enthusiasm and also supported my lecturership there.