Spring 1998
|
8:00 - 9:15 am TTh (Index #1358) GTA: Val Ovechkin vvo@vt.edu GTA:Kent Swartz kswartz@vt.edu |
Dr. Verna Schuetz schuetzv@vt.edu McB 660 (231-6932) |
Course WWW site:
http://ei.cs.vt.edu/~cs1044/spring.98
Educational Objective: To provide an introduction
to structured programming using the C/C++ language. Note: Object-oriented
design and programming will not be taught. That is covered in CS
2704, for which this course and CS 2574 are prerequisites.
Prerequisites: None. However, familiarity
with basic desktop computer functions such as using a word processor, working
with an operating system that uses a windowing environment, and understanding
the concept of files will be helpful. All students should also know how to use e-mail and access documents on the World Wide Web. Those who need assistance should ask the undergraduate consultants who work in McB 116/118 in the evening.
Text and Other Materials:
Office Hours: 10:00 - 11:00 am WF and 1:30
- 2:30 pm MTTh. I can also be reached by e-mail and am available by appointment
through the secretary at the above phone number. Except for emergencies
or appointments, please observe the office hours listed for this class.
Grades:
| Homework and Quizzes | 10% |
| Programming Assignments (6) | 35% |
| Test 1, Tu, February 26 | 15% |
| Test 2, Th, March 26 | 15% |
| Final Examination | 25% |
| (Final may be commontime. Announcement later in semester.) |
Quizzes: There will be regular pop quizzes.
The
three lowest quiz grades will be dropped. No make-up quizzes will be
given. Quizzes missed for absences for job interviews, athletic team
participation, illness, or other reasons are included in the three
lowest grades to be dropped.
Tests: The dates for the two tests
are listed above. If a serious illness prevents
you from taking either of the tests, you should notify me (phone or e-mail)
no later than 5 pm on the day before the test. Also, to establish a valid
excuse for an illness, you must obtain a note from a physician or the University
infirmary. Excuses other than an illness mut be reported to your Dean's
office so the Dean can send me a written explanation of the absence. If
you need to be away for an official university event, this must be cleared
with me in advance. No make-up tests will be given. For students
with valid test absences, the 15% of the grade dependent on the missed
test will be added to the Final Examination, which will be comprehensive.
Course Policies:
Compiler Support: The programming projects must
be implemented in ANSI C/C++. You may use any ANSI conformant compiler,
but GTA and lab support will only be given for Microsoft Visual C++ 5.0.
Your programs will be compiled and tested using Visual C++ 5.0, running
under Windows NT. These compilers are available on the PCs in the
McBryde 116/118 computer lab. If you use a different compiler, it is your responsibility
to test each of your programming projects in the lab prior to submission.
Projects that do not compile and run under Visual C++ 5.0 will be graded
as non-working programs.
The programs you write in this class will be graded by the CS Department's
automated grader. You will be able to submit each assignment up to four
times; the submission with the highest grade will be counted.
The grader's evaluation will be returned through you VT e-mail address.
Programming Standards: This course is largely devoted
to the development of skills in structured programming. Therefore, in addition
to producing programs which are functionally correct, i.e., run and produce
correct output, you will be expected to submit well-structured, well-documented,
readable programs. The Computer Science Department documentation standards,
described in Elements of Programming Style
(in the appendix of the course notes and on the course Web site), will be
enforced by the GTA's. Several of the programming assignments will be
selected at random to be graded for adherence to the style standards. Your
last submission will be the one graded for documentation.
Backups: It is your responsibility to maintain
until the end of the semester an up-to-date backup copy of each programming
project. The hard drives of the lab
machines are recloned periodically, so don't try to leave a backup there!
Keep a spare copy of all the relevant files for each project on floppy
disk in case your hard drive fails or your assignment is lost through
malfunction of the grader.
Late Policy: Programming projects
are to be submitted to the automated grader by midnight on the due date.
Except in the very rare case that an extension
is granted, late submissions (projects 1 - 5 only) will incur a penalty
of 20% per day (no prorating for portions of a day) for up to a maximum
of three days, after which assignments will not be accepted.
Note:
Due to time constraints for grading, the last programming project (#6)
of the semester will not be accepted late. Requests for extensions
to projects 1 - 5 must be made by noon at least one day prior to the due
date. They will be granted only for unusual documentable circumstances
such as being in the hospital with a broken leg or absence from campus
due to a death in the family.
Plan your time carefully for the programming projects,
especially if you will be using computers in the McBryde 116/118 labs. You will
be competing with other students for scarce resources, so don't put things
off until the last minute. Note well: delays resulting from machine
availability, lab schedules, hardware failures, or your failure to maintain
a backup of your work do not merit an extension.
Statute of Limitations: While the instructor establishes
the grading standards, the GTA will do the actual grading of quizzes, homework
assignments, and programming projects. Therefore, when you have questions
about the grading of these items, please see the GTA first. See the instructor
about the grading of the two tests. All questions regarding grading
of quizzes, homework, programming projects, and tests must be resolved
within one week of the return of the graded work or, in the case of tests,
the posting of grades.
Be sure to pick up all graded work and keep it until the
end of the semester. In case your grade is incorrectly recorded, you must
produce the graded original in order for the recorded grade to be changed.
Work not picked up within two weeks of its initial return date in class
will be discarded.
Honor Code: All non-programming homework
assignments, some programming projects, all quizzes, all tests, and the final examination are to be
solely the work of each individual student and are fully governed by the Virginia Tech Honor Code
and the statement on Koofers, Old Programs,
and Cheating in the appendix of the class notes and on the Web site.
Cooperative work on designated programming
projects. Several of the programming projects will carry the designation
on the assignment sheet that they can be done and submitted jointly by
teams of not more than two people. On the projects so designated, at most
two people can work together as a team. One project will be jointly submitted
bearing both names, and both team members will receive the same grade.
It will be assumed that both team members contributed equally. The instructor
will not assign different grades based on any disputes that may
arise between partners. Students who choose to work alone instead of with
a partner will not earn greater credit for having done all the work of
the project alone.
Violations: 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 reported to the Honor Court:
** On programming projects where cooperative work in teams of two is allowed, the above prohibitions apply to discussions, copying, etc., between teams rather than between the two members of a single team.
It is acceptable to discuss with classmates a programming assignment in a general way. In particular, you may discuss 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 those people cited below under the heading "Legal Help" or your team partner on assignments where cooperative work within a team of two is allowed.
Feel free to discuss the assignments and your programs
with the instructor or GTA or the undergraduate Computer Science lab consultants
who work in the evenings (usually after 6 pm) in McB 116/118.
Class Etiquette: Please observe common courtesy
toward your fellow classmates, all of whom are in this class to learn.
To do your part in helping create a good learning environment, please:
Thank you!
Topics to be Covered:
Reading:
Programming and Problem Solving with C++, Chapters 1 - 14