C M S C     2 1 4
C o m p u t e r   S c i e n c e   I I
F a l l   2 0 0 2

Prerequisites: CMSC 114 with a grade of C or better; or a score of 4 or 5 on either the A or the AB C++ AP exam; or permission of department based on satisfactory performance on the department placement exam. Corequisite: CMSC 250. Credit will be granted for only one of the following: CMSC 214 or CMSC 113. Elementary data structures, recursion, and object-oriented programming using C++.

NOTE: It is your responsibility to familiarize yourself with the policies outlined on this syllabus as they might not correspond to policies used in prior semesters, future semesters or in any other classes here at the University.

Instructors:

Name: Charles Lin Dr. Bunny Tjaden
Sections: 010X, and 020X 030X, 040X, and 050X
E-mail: clin@umd5.umd.edu tjaden@umd5.umd.edu
Office: 1127 A.V. Williams
301.405.2709
1109A A.V. Williams
301.405.8412
Office Hours: See class webpage See class webpage

Classroom Locations and Teaching Assistants:

Lab Times: All of the section numbers that end in 01 (0101, 0201, 0301, 0401 and 0501) meet on Mondays and Wednesdays from 2 to 2:50pm for lab. All of the section numbers that end in 02 meet on Mondays and Wednesdays from 3 to 3:50pm for lab.

Section # Lecture Time
and Location
Lab Location Lab TA

010X MWF 12-12:50am
in 1115 CSI
2107 CSI Jeff Odom
020X MWF 1-1:50pm
in 1115 CSI
2118 CSI Jason Burek
030X MWF 9-9:50am
in 1115 CSI
2120 CSI Gutemberg Guerra-Filho
040X MWF 10-10:50am
in 1115 CSI
3118 CSI David Wang
050X MWF 11-11:50am
in 1115 CSI
3120 CSI Nick Frangiadakis

In this course there will be a head grading TA, Alex Grushin, who will be responsible for all regrade requests and all excused absences. Details regarding who this TA is, their contact information and their office hours will be posted on the main class webpage. For more details on all of the teaching assistants please see the class webpage.

Text Book(s):

required: "Data Structures with C++ using STL", Ford & Topp, Second Edition, Prentice Hall, © 2002.
recommended: any C++ language reference, such as the CMSC 114 textbook or equivalent.

Class Webpage:

The CMSC 214 class webpage will be located at
  http://www.cs.umd.edu/class/fall2002/cmsc214/
It is your responsibility to refer to this webpage on a regular basis. In particular, project descriptions and other information will be provided on the class webpage.

Course Requirements/Grading:

Quizzes (6-10)
Programming Projects (5-6)
Midterm Exams (2)
Final Exam (comprehensive)
10%
40%
25% (12.5% each)
25%

E-mail and Office Hours:

Office hours for all of the instructional staff will be posted on the class webpage and are the primary means for communicating with the staff of this course. Note that the quickest guaranteed way to receive a response to any question is to meet with the staff in person during any of their posted office hours or before or after classes. This includes any and all questions related to programming projects and other assignments (quizzes/exams) for this course.

The email addresses of the instructional staff are provided for emergency situations only. If you do send an email to any of the staff of this course it must contain CMSC 214: at the start of the subject line of the email, along with a brief description of the contents of the email (for example "CMSC 214: computers down? ..."). In addition you must include:

at the bottom of the email. Failure to follow these guidelines may result in your email being unanswered.

More details regarding office hours and their locations will be posted on the class webpage.

Quizzes:

Quizzes will be given during Wednesday lab sections and generally will be announced at least one day prior either on the class webpage and/or in class. All quizzes must be taken in the lab section for which the student is officially registered otherwise they will receive a score of 0. Unless otherwise noted, each quiz will be worth the same percentage towards the final grade (and combined those percentages will total 10%).

Exams:

Exams will be held on the dates below unless the instructors find it necessary to move them, in which case due notice will be given to the students. The final exam date for this semester has been posted by the University since the first day of registration (which was 3/11/2002 of this year) and therefore excuses for obligations made after 3/11/2002 which require a student to miss the final exam may not be accepted. If you have a conflict with the final exam (with another final exam or any other obligation) it is your responsibility to inform your instructor of that conflict during the first two weeks of class otherwise no allowances may be made.

Exam 1:   Wednesday, October 9th during lab location:
CSI 1115 (sections 010x, 020x)
SHM 2102 (sections 030x, 040x, 050x)
Exam 2:   Monday, November 11th during lab location:
BPS 1243 (sections 010x and 020x)
SKN 0200 (sections 030x, 040x, 050x) TBA
Final:   Monday, December 16th from 4:00-6:00pm location: ARM 0131 (for sections 010x and 020x) ARM 0135(for all other sections)

Project Grading Policy:

All projects are due at 11:00pm on the day indicated on the project assignment (which will be posted on the class webpage) and must be submitted electronically as specified on the project description (using the class account provided to the student at the start of class). Projects turned in in any other form or manner will not be accepted. Any project submitted after the "Official Due Time" (ODT) will be considered late regardless of how close it was to the ODT (which is 11pm on the day indicated on the project assignment).

All programming projects must meet a "Minimal Running Criteria" (MRC) otherwise they will receive a grade of 0. MRC is defined as a program that compiles and runs without noticeable error on the primary input (to be provided with the project assignment) and produces results which match the primary output (again to be provided with each project assignment).

All submitted projects will be compiled and tested using the cxx compiler found on the UNIX class cluster machines unless otherwise specified. In addition the options -w0 and -std strict_ansi will be used when compiling, so at a minimum you must make sure that your program compiles and runs when using this command and these options on the UNIX class cluster as projects will not be tested using any other compiler. Further details will be provided on each assignment.

The electronic submission program will allow a project (that meets the MRC) to be submitted up to two (2) days late (and no submissions will be allowed after that unless an extension has been approved in advance). A project submitted up to one day late will receive an automatic 10% deduction, a project submitted up to two days late will receive an automatic 20% deduction. A project that is submitted two days late will not be accepted (unless it's project 4), and will receive a grade of 0.

A student may attempt to submit a project as many times as they want, however only the last submission received (up until the end of the 2-day late period) will be kept and used when grading the assignment.

Projects will be graded based on a number of criteria as determined by the instructional staff including, but not limited to:

Unless otherwise specified by the instructional staff, the individual weight of each project towards the final grade will be:

Project 0 1% Project 1 7%
Project 2 7% Project 3 9%
Project 4 10% Project 5 6%

Other Forms of Submitting Projects Not Accepted

You must use the submit command (which will be described in the project description) to submit your code. It must successfully meet MRC to be submitted. Do NOT email your projects. Such projects are ignored and will be deleted. Even if you have problems submitting (bad tar file, etc.), the emailed version will be ignored. Any other forms of submission (disks, hard copies, etc.) will also be unacceptable.

Project #4:

Each student required to successfully submit project #4 to pass the course. If a student is unable to complete project #4 (up to MRC), the student receives an F for the final course grade, regardless of any other grade. Passing project #4 does not guarantee you will pass the course. However, failing to complete project #4 (up to MRC) does guarantee that a student will receive an F.

Due to the importance of completing this assignment a student will be allowed to submit this project up until Friday, December 13th at 4pm. Any project #4 submission made after the end of the 2 day late period and up until 4pm on 12/13/2002, that meets the MRC, will receive a score of 10 (out of 100).

Class Computer Accounts:

In this class each student will be given a password protected computer account on a UNIX system (known as the "class cluster"). Each account is provided for the sole use of the student to which it was assigned and is intended to be used for exercises related to this class only. All class accounts will be terminated within 2 weeks after the last day of classes. The University provides WAM accounts for personal use. All questions regarding computer support and University computer resources should be directed to the Office of Information Technology (OIT). OIT's main website is www.oit.umd.edu and a wealth of information and resources can be found there.

Each instructor will have what is known as a posting account on the UNIX class cluster which may contain files and information that is publicly available to all students in the course. The posting account for Dr. Tjaden's lectures will be bt214001 and the posting account for Mr. Lin's lectures will be ch214001 and more details regarding the use of these accounts will be provided in class.

If a student is found to be abusing their OIT class account privileges, or is suspected of violating the University's Code of Academic Integrity, their class account may be terminated and any files therein confiscated. Details on the University's Guidelines for Acceptable Use of Computer Resources and other information related to class accounts can be found at the following URL:

Guidelines for Acceptable Use of Computer Resources

Late/Excuse Policies:

From time to time something may come up that requires you to miss, or turn in late, a course requirement (quiz, exam or project). If such a time does arise, an excused absence or extension may be granted assuming proper documentation is provided. All valid documentation must be in writing on paper and indicate which days you were unable to attend classes (aka dates of incapacitation) and why. Documentation concerning any medical related condition must be signed by a physician and contain appropriate contact information. Note that "Verification of Visit" forms from the University Health Center are NOT considered valid documentation. Also note that Staying at home during an illness, even with documentation from parents (unless they are physicians), does not constitute a valid medical excuse.

All requests for an excused absence or an extension on a project must be made to the head grading TA, Alex Grushin, in person (or via email if you are physically incapable of doing so in person) and they must be accompanied by the "Official Excuse Request Form" (which can be downloaded from the class webpage or you can request a copy of it from any of the instructional staff). If it is known in advance (to yourself) that you will be missing an assignment (due to a job interview, medical surgery, religious obligation, etc.) you must notify the head grading TA prior to missing the course assignment (and provide written documentation to verify your absence). If you miss an assignment due to an unplanned emergency (car accident, sudden illness, etc.) and are unable to notify the head grading TA in advance, it is your responsibility to notify them as soon as physically possible (in person or via email) afterwards - failure to do so may result in no excuse/extension being provided (as soon as possible is defined as no more than one week from the class period in which you are physically able to resume attending school).

If a quiz is missed due to a valid excuse, its score will be the average of the other non-excused quizzes. If one of the midterm exams is missed due to a valid excuse it will be excused and the other midterm and final exam will be worth 17.5% and 32.5% respectively. If both midterms are missed due to a valid excuse, a comprehensive makeup exam will be given worth 25%. If the final exam is missed due to a valid excuse an alternate final exam will be given in its place at a time deemed appropriate by the instructor of the course. Note that the list of "dates of inability to perform class related duties", found on the "Official Excuse Request Form", must include the day of the quiz or the exam in order for it to be considered a valid excuse.

Extensions on projects will only be granted on a case-by-case basis. Requests for extensions on a project must be made in a timely manner and failure to do so will result in no extension being granted. The instructional staff will determine the length and duration of all extensions and no extensions on multiple projects will be allowed without first consulting with the Departmental Undergraduate Program Coordinator. Extensions are generally not granted for events known (to the student) in advance of the due date of the project in question - it is expected that students will not need the entire time given to complete a project and that they will know how to manage their time appropriately and balance the work required for this course with their other courses and all obligations external to school.

Regrade Policy:

All requests for regrading of any course assignment must be made in writing and must be accompanied by a copy of the "Official Regrade Request Form" (which can be downloaded from the class webpage or you can request a copy of it from any of the instructional staff). All regrade requests must be submitted, in person to the head grading TA, Alex Grushin, during any of their posted office hours (which can be found on the class webpage) and must be made no later than 1 week after the material in question was returned to the class.

Note that all graded assignments may be photocopied prior to their being returned in class and that any request to have an assignment regraded may result in the entire assignment in question being regraded, possibly resulting in a loss of points.

Academic Honesty:

In this course you are responsible for both the University's Code of Academic Integrity (http://www.umd.edu/JPO/) and the University of Maryland Guidelines for Acceptable Use of Computing Resources (http://www.umd.edu/aug/). Please carefully read and consider the policies outlined in the Spring 2002 issue of the departmental newsletter, CS Tid-Bits. Note in particular the penalties for impermissible cooperation on programming projects, which is a violation of the University's Code of Academic Integrity. Any evidence of unacceptable use of computer accounts or unauthorized cooperation on tests, quizzes, or projects will be submitted to the Student Honor Council, which could result in an XF for the course, suspension, or expulsion from the University. NOTE SPECIFICALLY: projects are to be done INDIVIDUALLY. Working IN ANY WAY with another student will be considered a violation and WILL BE REPORTED to the Honor Council.

VIOLATIONS OF ACADEMIC HONESTY INCLUDE, BUT ARE NOT LIMITED TO:

For academic honesty purposes, projects are to be considered comparable to an extended take-home exam. That is, any cooperation or exchange of ideas which would be prohibited on an exam is also prohibited on a project assignment. The prior sentence clearly summarizes the boundaries for which you are obligated on programming assignments. Should you have difficulty with a programming assignment you should see your instructor or teaching assistants in office hours, NOT solicit help from anyone else in violation of these rules. Students are welcome to study together or solicit help in learning course and C++ language concepts from any others, including tutors, but quizzes, exams, and projects are to be solely and entirely your own work. Only after you have received a numeric grade for a project are you welcome, and encouraged, to compare it with any classmates who have also received a numeric grade for that project assignment.

IT IS THE RESPONSIBILITY, UNDER THE UNIVERSITY'S HONOR POLICY, OF ANY STUDENT WHO LEARNS OF AN INCIDENT OF ACADEMIC DISHONESTY TO REPORT IT TO THEIR INSTRUCTOR.

Course Schedule/Topics:

This list may vary according to the pace of lecture topics. This link to a calendar (on the class webpage) contains a tentative outline of project and exam deadlines.
Week   Topics
1   Introduction, Review
2   Linked lists, templates
3   Templates
4   Recursion, Trees
5   Trees
6   Trees, Inheritence
7   Inheritence
8   Inheritence
9   Inheritence, Graphs
10   Graphs, STL
11   Graphs, STL, Hashing
12   Heaps, AVL Trees
13   STL, Exceptions
14   Exceptions
15   Other Topics

Additional Info:

All material on this syllabus is tentative, and given due notice to the student, the instructors reserve the right to change it at any time.


See above for policies concerning email
Last Modified: Monday October 21, 2002
left up down right home