Note: These projects will be quite challenging and will require extensive investment of your time and effort. Make sure that you start early on the assignments, understand the specifications and ask questions if you face any problems.
The programming projects must be implemented in ANSI C/C++, as described in the course notes. You many use any ANSI conformant compiler you wish. However, your programs will be compiled and tested using Microsoft Visual C++ .NET, running on Microsoft Windows NT/2000/XP.
The Microsoft Visual C++ .NET compiler is the only supported compiler for this courses. That means that neither the TAs nor I will answer questions about the use of any other compiler, including earlier versions of Visual C++. The Visual C++ compiler is installed on a number of Windows PCs in various computer labs around campus. If you are using another compiler, it is advisable to test each of your programming projects in the lab prior to submission.
All the programming projects are subject to runtime testing under the Curator system. See the Curator homepage (http://www.cs.vt.edu/curator/) for details, including the instructions you will need in order to submit assignments to the curator. Be sure to read the Student Guide to Submitting that is available off the curator website - it contains answers to most of the questions students have about the automated grading system. The Student guide also contains information about how the Honor Code applies when using the Curator; be sure to read and follow the guidelines given there.
A number of programming projects will also be graded for adherence to good software engineering principles, including documentation, design, conformance to the stated specification, and programming style. Each project specification will include explicit guidelines that you will be expected to follow. The TAs will grade your (first) submission to the Curator that received the hightest score, and email you the results. Note that if you make an incomplete submission (eg., omitting required documentation) and that receives a perfect score, then the TAs will evaluate that incomplete submission. There will be no exceptions to this policy. If you do not make a submission for a project, then you will receive a zero for software engineering for that project.
Short quizzes will be given during lecture sessions throughout the semester. Quizzes will mostly cover material from the previous lectures. There will be approximately 20 quizzes. There will be atleast one quiz per week. Some of these quizzes may be unannounced. Remember to keep a number 2 pencil with you for all lectures since most of the quizzes will have to be answered on opscan forms.
Note 1: There will be no make-up of the midterm or final exams, unless there is a valid reason. If you have a valid excuse for not being able to take the exam in the scheduled time-slot, please inform the instructor atleast 24 hours in advance. The request has to be accompanied by a letter from the Dean's office.
Note 2: You must bring your VT ID card to all the exams! Because the exams are multiple-choice and are scored via machine, also bring a number 2 pencil and a good eraser.
Note: Delays resulting from machine availability, lab schedules, hardware failures or your failure to maintain a backup of your work do not merit an extension.
An exhaustive list of Honor Code violations would be impossible to present here, but among other things, each of the following is a flagrant violation of the Virginia Tech Honor Code, and violations will be dealt with severely (Honor Court):
It is acceptable to discuss with classmates a homework assignment in a general way, i.e., to discuss the nature of the assignment. In other words, you may discuss with your classmates the goal of an assignment 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 instructor/TAs. Please feel free to discuss the assignment and your program or solution specifically with the instructor/TAs. The discussion of your individual program or solution must be limited to the instructor/TAs.
Feel free to discuss the homework assignments and your program source code with the teaching assistants assigned to CS 1044, the instructor, or the free tutors provided by the UPE. The discussion of your program source code must be limited to these people. Note that this specifically excludes discussion of your program source code with other students (even if they are not enrolled in CS 1044), or with tutors except for those named above.
Privately hired tutors are not an exception to this requirement, nor are athletic or other tutors provided by the university.
Copies of all submitted work are retained indefinitely by the department. Submitted programs are subject to automated analysis for detection of copying.
If you have any question as to how the Honor Code applies to this class, remember that:
The Honor Code will be strictly enforced in this course. All assignments will be considered pledged graded work, unless otherwise noted. All aspects of your work will be covered by the Honor System. Honesty in your academic work will develop into professional integrity. The faculty and students of Virginia Tech will not tolerate any form of academic dishonesty.
Every assignment in this course in any form carries an implied signature on the following pledge:
On my honor: - I have not discussed my program code with anyone other than my instructor or TAs assigned to this course. - I have not used program code obtained from another student, or any other unauthorized source, either modified or unmodified. - If any code or documentation used in my program submission was obtained from another source, such as a text book or course notes, that has been clearly noted with a proper citation in the comments of my program. - I have not designed this program or submission in such a way as to defeat or interfere with the normal operation network services and / or the method by which assignments are fetched. You can find the Computer Science departmental policy on koofers at