Syllabus, Spring 2006
ed May 10, 10:05AM - 12:05PM, same roomMW 2:30-3:45, McBryde 209
Final exam: W
TAs:
Chaitanya, csanna@vt.edu
Ekta Shah, eshah@vt.edu
Office Hours: TBA
CS2204 Unix, and
CS2704 OO2, and
Math2534 Discrete
A Practical Introduction to Data Structures and Algorithm Analysis, Second Edition, by Clifford A. Shaffer (required)
4 Programming Projects: 45%
Homeworks: 15%
Midterm and Final exams: 35%
Pop Quizzes: 5%
The Honor Code, and in particular, the document "DEPARTMENTAL POLICY ON KOOFERS, OLD PROGRAMS, CHEATING, AND COMPUTER USE," (posted at the course website) applies to this course and will be strictly enforced. Homework and exams
must be done strictly on an individual basis. Design and coding of programming assignments must be done strictly on an individual basis. It is acceptable to discuss with classmates a programming assignment in a general way, i.e., to discuss the nature of the assignment. In other words, you may discuss with your classmates what your program is required to accomplish but not how to achieve that goal using C++. In no way should the individual statements of a program or the steps leading to the solution of the problem be discussed with or shown to anyone except the course teaching assistants, the instructor, or the free tutors provided by ACM or UPE. Any discussion of your program source code must be limited to these people. Always give credit for work that is not entirely your own (e.g., parts of programs or homework answers borrowed from the textbook).The Computer Science Department rigorously enforces the prerequisite requirements for all courses. Additionally, for majors or minors in Computer Science the Department enforces the requirement that all prerequisite Computer Science courses be completed with a grade of C or better. Any student not meeting these requirements and not obtaining written permission from the course instructor to remain in the course, must withdraw from the course within the first week of classes. Any student who is subsequently found not to meet these requirements
will be subject to an honors violation report on the basis of falsification of qualifications. Instructors are NOT bound to investigate the records of students to ascertain their prerequisite status; this is the student's own responsibility. In all cases, the student is responsible for knowing all prerequisite material.This is in large part a programming course, and programming projects count for 45% of your grade. You are expected to produce programs which are both readable and correct. The CS Departmental Documentation Standards entitled "Elements of Programming Style" (available from the course website) will be enforced.
One purpose of a data structures course is to teach efficient algorithms and use of appropriate data structures. Another purpose of this course is to exercise your design abilities. It is not sufficient that a program generate the correct answer and be written with good documentation style. Projects will also be graded in part on design and organization quality, and in part on efficiency. You should certainly pay attention when the instructors discuss issues related to "good" and "poor" design choices for the projects. These issues directly affect your grade.
Programming projects are due at the date and time specified. No late programming projects will be accepted. Homework assignments are due at the date and time specified. No late homework assignments will be accepted. Solutions to homework assignments must be typeset either using a word processor or in plain ASCII text. No handwritten work (including scanned documents) will be accepted. All assignments will be submitted electronically. The acceptor program used to receive your assignments will provide the official timestamp used to determine whether an assignment is on time.
It is the students responsibility to be prepared for computer failures or other problems in completing and submitting assignments. Don't push deadlines. Requests for extensions for homework or program assignments must be made at least 48 hours in advance of the due date.If any student needs special accommodations because of a disability, please contact the instructor during the first week of class.
All programming for this course will be done in
C++. The TAs will compile and test programs using Gnu G++ under Mandrake Linux. It is the responsibility of the student to submit a program that will successfully compile and execute on the specified platform. Computing facilities are available for use in the Departmental Computing Lab in McBryde 124. Test data files will be provided via the CS2604 website.The class forum can be found at
https://forum.cs.vt.edu/forum_show.pl. Occasionally, official announcements related to the class will be made on the forum. Hence, students should check the forum daily.