UMBC CMSC202, Computer Science II, Fall 1998,
Sections 0101, 0102, 0103, 0104
C++ with Object-Oriented Programming by Paul S. Wang, PWS Publishing.
The course prerequisites for CMSC 202 are CMSC 201 (Computer
Science I) and MATH 151 (Calculus I), or their equivalents. We will assume
that you have mastered the following programming skills in C: writing
functions, using header files, character handling, string handling,
advanced pointer manipulations, using pointers as parameters, file I/O and
structures, linked lists, stacks and queues. In addition, you should
understand the following programming concepts: functional/procedural
abstraction, top-down design, separate compilation, libraries and memory
allocation. If you are unfamiliar with a significant number of these skills
and/or concepts, you should take CMSC 201. This course will not review
material that has been covered in CMSC 201.
The objectives of this course are:
- To learn programming in C++ and object-oriented programming.
- To master some basic data structures, including: linked lists,
stacks, queues and binary search trees.
- To understand the fundamental programming concepts of abstract
data types, recursion, memory allocation and functional parameters.
- To gain familiarity with basic algorithms for searching and
sorting, including: hashing, binary search, Merge Sort and Quicksort.
Your grade for this course will be based upon 5 projects, 2 exams and the
final exam. Each project is worth 8 percentage points, each exam is worth 18
percentage points and the final exam is worth 20 points. The remaining 4
points are based upon your attendance in lecture and disucssion. Note that
the due dates for the projects and the dates of the exams are already set
(q.v. the syllabus and project policy handout). Please plan your schedules
Your final letter grade is based on the standard formula:
0 <= F < 60, 60 <= D < 70, 70 <= C < 80, 80 <= B < 90, 90 <= A <= 100
Your grade might be curved upward, but under no circumstance will your
grade be curved downward. Your grade is given for timely work done during
the semester; incomplete grades will only be given for medical illness or
other such dire circumstances.
Attendance and Readings:
You are expected to attend all lectures. You are responsible for all
material covered in the lecture, even if they are not in the textbook. You
should keep up with the assigned readings during the semester. Some reading
material will distributed through the course web page. You are responsible
for the material in the readings, even if they are not covered during
You are also expected to attend the discussion sections. New material will
be covered during discussion for which you are responsible. For example,
help with the projects, review for exams and instruction on the use of the
UNIX system will take place during discussion rather than lecture.
Your attendance in lecture and discussion is worth 4 percent of your grade.
On days where attendance at lecture or discussion is low, attendance will
be taken by a roll call. If attendance is uniformly high throughout the
semester, then attendance will never be taken and every student will
receive the full credit for attendance. Otherwise, each student will
receive credit for attendance that is proportional to the number of times
he or she is present for a roll call.
Email is great -- much better than voice mail. If you need to contact me
(Prof. Chang) about this class outside of lecture and office hours,
email is much better than the telephone. You should, however, observe the
- Do not include your programs unless I request it. Email is good
for lots of things, but it is horrible for debugging. You should use my
office hours, the TAs' office hours or the Help Center for debugging
- Use your real name. I get a lot of junk email (spam). Email from
"Hot Stuff" gets deleted without being read.
- Include a meaningful subject line, something like "CMSC 202
Project 2 question."
- Send email to the email address, email@example.com, rather than a
slew of other email addresses that I have.
- If you ask a good question by email, I will send your question and
the reply to the entire class as well. If you do not want your question
repeated to the entire class, please state so clearly in your message.
- Know the difference between "reply" and "reply to all".
- Know how to include a plain text file in an email message without
sending it as an attachment. Attachments are really annoying. It is
rare that a plain text file needs to be sent as an attachment.
- You should also know that email is not secure. It is quite easy for
someone to send mail to you pretending to be someone else. When I send
important email messages (e.g. class cancellation notices, project
extensions, grade reports), I will sign the message using a digital
signature. You can then use the pgp utility to check that the message
indeed came from me, rather than someone pretending to be me.
Instructions on how to use pgp is available on the course web page.
30 Aug 1998 22:10:15 EDT
to Fall 1998 CMSC 202 Section Homepage