CS 1044
Programming in C - 3 Credits
Summer II 2000


Chris Knestrick (cknestri@vt.edu)


McBryde 128

Office Hours:

M-F 2:00 - 3:00 PM

Class Meets:

M-F 11:00 - 12:15 in GBJ 104


Jacob Somervell (jsomerve@vt.edu) M-F 10:00-11:00 AM, 1:00-2:00 PM


Dale, Weems, and Headington, Programming in C++, 2nd edition, 2000
Computer Science 1044 notes available from A-1 Copies (The online version is not printable)



Grading Policy:

Projects (4) 32% (each will be worth an increasing percentage of the total)
Homeworks/Quizzes (2 - 3) 18%
Midterm (1) 20%
Final 30%

Programming Assignments:

A large component of this course is programming.  There will be 4 programming assignments, each worth an increasing percentage of your final grade.  Programs will be submitted using the Enhanced Automated Grading System (EAGS).  Detailed information on EAGS configuration and submission can be found on the CS 1044 EAGS Documentation Page.

You are expected to produce programs that are readable as well as correct.  Each program will not only be graded by the EAGS for correct output, but will also be graded by hand for programming style.  Please refer to the Program Style Guidelines (Elements of Programming Style) for more information.

Late Policy:

Due to the limited amount of time that we have for this course (6 weeks), it is imperative to keep up with all assignments.  You will have about a week for each programming assignment, so any extra time spent on one assignment severally impacts the amount of time you have for next one.  Getting a day or two behind can quickly snowball.  Because of this, there will be a very limited late policy for each assignment.  The exact late policy for a given project will be specified in the project spec, but as a general rule, there will be a maximum of 24 hours allowed for a late assignment (with a penalty).  Please budget your time accordingly.  You don't want to be working an assignment until 5 minutes before the due time, only to discover that a network error that lasts 6 minutes won't allow you to connect to the EAGS.

Any questions about a grade must be brought up with the instructor/GTA who graded the assignment within 5 days of it being returned.  After that time, grades will not be changed.    

Honor Code:
The honor code will be strictly enforced in this course. All assignments submitted shall be considered graded work, unless otherwise noted. All aspects of your course work are covered by the honor system. Any suspected violations of the honor code will be promptly reported to 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. If you have any questions as to how the Honor Code applies to this class, remember that:

All graded programs will be submitted to MOSS (Measurement of Software Similarity), a plagiarism detection program.  MOSS looks at a set of submitted programs and finds suspicious looking code - that is, code that is similar in 2 or more programs.  MOSS is very accurate - it looks at program structure rather than specific content.  This means that simple tricks used to make plagiarized programs appear different, such as changing variable names or program formatting, will not fool MOSS.  Every semester students are warned that their programs are being electronically checked, and invariably every semester a large amount of students are still caught cheating.  Please do not tempt fate - a bad grade on an assignment is less damaging than an honor code conviction!

Equipment and Programming Language:
All programming will be done in the C++ programming language. Programming will be done on an IBM PC or compatible running Windows NT using the Microsoft Visual C++ compiler. Several of these machines are available in the departmental Computing Lab in McBryde 116/118.  To get an account on the Computer Lab machines, go to http://www.cslab.vt.edu/online.html.  This account is different from your university account (though it uses the same PID), so, unless you have one from a previous course, every student will need to apply for one.  If you need to get help on a program from the GTA in the lab, it will be necessary to have an account, so it is best to take the time and apply, even if you do not anticipate using the lab machines for work.

If any student needs special accommodations because of a disability, please contact the instructor during the first week of classes.


Tentative Schedule


Week starting

Topics Discussed

July 3

Program design,C++ Fundamentals

July 10

I/O with streams, Boolean selection

July 17

Iteration, Functions, Arrays MIDTERM EXAM (tentative)

July 24

Arrays (cont.), Data Types, Structures

July 31

Searching & Sorting, Strings, Arithmetic & Precision

August 7

Recursion, Binary numbers