| Instructor: | Donald Allison |
| Office: | 626 McBryde, tel. 231-4212, allison@cs.vt.edu |
| Office Hours: | MW 2.30 – 4.00 pm, F 10.00 – 11.00 am, and by appointment |
| Class Meets: | MW 11.15 am – 12.05 pm in Hancock 100 |
| Labs Meet: | W 4.00 – 6.00 pm (index# 11349), Th 2.00 – 4.00 pm (index# 16225), Th 5.30 – 7.30 pm (index# 16224) |
| GTA: | Peter DePasquale |
| GTA Office: | 521 McBryde, tel. 231- 5914, pjdepasq@vt.edu |
| GTA Office Hours: | W 2.00 – 3.50 pm |
| Textbook: | Dale, Weems, and Headington, Programming and Problem Solving in C++ (2nd edition), Jones and Bartlett,2000 (suggested) Computer Science 1044 notes available from A-1 Copies |
| WWW: | http://courses.cs.vt.edu/~cs1044/spring02/allison |
| Grading Policy: | Homeworks 30% | Labs 25% |
| Midterm I 10% | Final 20% | |
| Midterm II 10% | Quizzes 5% |
Assignments and Grading Policy:
Above all READ and UNDERSTAND notes discussed in class. Experience has shown that the single most important thing you can do in this course is to come to class faithfully.
This is in large part a programming course, and the homework components will count for 30% of your grade. You are expected to produce programs which are readable as well as correct. Programs (source code files) will be submitted to the Enhanced Automated Grader. There is information on the website describing how to prepare a program for submission and how the Automated Grader scores your submission.
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.
Course Outline Reading
1. Introduction
Problem Solving: Simple C++ program p. 1-42
Computer Systems: Hardware and Software Notes
2. Programming Process
Algorithms, Program Translation Notes
Top Down Design, Program Documentation
3. C++ Fundamentals
Syntax, Semantics p. 47-57
Data Types: Constants, Statements p. 58-73
Arithmetic Expressions, Operator Hierarchy p. 107-116
Input/Output and examples p. 123-8, 154-176
4. Booleans and Selection
Boolean Expressions, Truth Tables, Operator Hierarchy p. 212-227
If/Else statements, nested If statements p. 228-243
Switch Statements p. 462-466
5. Looping Structures
Count and Event Controlled Loops p. 276-302
Do - While, For statements p. 468-474
Break and Continue Statements p. 475-477
6. Functions
Function Structure, Scope p. 326-342
Parameters: Types, Lists, Mechanisms for Passing Parameters p. 344-355
7. Number Representation
Integers, Floating Point Numbers p. 496-501
Precision, Size, Difficulties, Errors p. 520-530, Notes
8. Elementary Types
User Defined, Enumerated Types p. 532-546
Type Coercion
9. Arrays
Structured types, Indices, Array Operations p. 664-675
Array Parameters p. 676-678
Parallel and Multi-Dimensional Arrays p. 685-704
10. Structures (Records)
Structure Referencing, Access, Manipulation p. 579-589
Arrays of Structures, Hierarchical Structures
11. Searching and Sorting
Linear, Binary Search p. 764-771
Bubblesort, Selection Sort, Examples Notes
If any student needs special accommodations because of a disability, please contact the instructor during the first week of classes.