| Date |
Book Sections |
Lecture Topics |
Due |
Wed 4/25
|
|
Welcome and Announcements |
|
Fri 4/27
|
1.6, 1.7, 2.1, 2.2 |
Errors, Problem Solving: Algorithm Design, Variables, Arithmetic |
Lab 0 |
Mon 4/30
|
2.2, 2.3, 2.4, 2.5, 3.1 |
Arithmetic, Input and Output, Problem Solving: First Do It By Hand, Strings, The if Statement |
Lab 1 |
Wed 5/2
|
3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7 |
The if Statement, Comparing Numbers and Strings, Multiple Alternatives, Nestd Branches, Problem Solving: Flowcharts, Problem Solving: Test Cases, Boolean Variables and Operators |
Lab 2 |
Fri 5/4
|
3.7, 3.8, 4.1, 4.2 |
Boolean Variables and Operators, Application: Input Validation, The while Loop, Problems Solving: Hand-Tracing |
Lab 3 |
Mon 5/7
|
4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9 |
Problems Solving: Hand-Tracing, The for Loop, The do Loop, Processing Input, Problem Solving: Storyboards, Common Loop Algorithms, Nested Loops, Random Numbers and Simulations |
|
| Tue 5/8 | | | Lab 4 |
Wed 5/9
|
4.9, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6 |
Random Numbers and Simulations, Functions as Black Boxes, Implementing Functions, Parameter Passing, Return Values, Functions Without Return Values, Problem Solving: Reusable Functions |
|
| Thu 5/10 | | | Exam 1 Due |
Fri 5/11
|
5.7, 5.8, 5.9 |
Problem Solving: Stepwise Refinement, Variable Scope and Global Variables, Reference Parameters |
|
Mon 5/14
|
5.9, 5.10, 6.1, 6.2 |
Reference Parameters, Recursive Functions, Arrays, Common Array Algorithms |
Lab 5 |
Wed 5/16
|
6.2, 6.3, 6.4, 6.5, 6.6 |
Common Array Algorithms, Arrays and Functions, Problem Solving: Adapting Algorithms, Problem Solving: Discovering Algorithms by Manipulating Physical Objects, Two-Dimensional Arrays |
|
| Thu 5/17 | | | Lab 6 |
Fri 5/18
|
6.6, 6.7, 7.1 |
Two-Dimensional Arrays, Vectors, Defining and Using Pointers |
|
Mon 5/21
|
7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 8.1 |
Arrays and Pointers, C and C++ Strings, Dynamic Memory Allocation, Arrays and Vectors of Pointers, Problem Solving: Draw a Picture, Structures and Pointers, Reading and Writing Text Files |
|
| Tue 5/22 | | | Lab 7 |
Wed 5/23
|
8.1, 8.2, 8.3, 8.4, 8.5, 8.6 |
Reading and Writing Text Files, Reading Text Input, Writing Text Output, String Streams, Command Line Arguments, Random Access and Binary files |
|
Fri 5/25
|
9.1, 9.2, 9.3, 9.4, 9.5 |
Object-Oriented Programming, Specifying the Public Interface of a Class, Data Members, Member Functions, Constructors |
|
Wed 5/30
|
9.5, 9.6, 9.7, 9.8, 9.9, 10.1 |
Constructors, Problem Solving: Tracing Objects, Problem Solving: Discovering Classes, Separate Compilations, Pointers and Objects, Inheritance Heirarchies |
Lab 8 |
Fri 6/1
|
10.1, 10.2, 10.3, 10.4, 11.1 |
Inheritance Heirarchies, Implementing Derived Classes, Overriding Member Funtions, Virtual Functions and Polymorphism, Triangle Numbers |
Exam 2 Due |
Mon 6/4
|
11.1, 11.2, 11.3, 11.4 |
Triangle Numbers, Thinking recursively, Recursive Helper Functions, The Efficiency of Recursion |
|
Wed 6/6
|
11.4, 11.5, 11.6 |
The Efficiency of Recursion, Permutations, Mutual recursion |
|
Fri 6/8
|
11.6 |
Mutual recursion |
Lab 10 |
Mon 6/11
|
11.6 |
Mutual recursion |
Lab 11 |
| Thu 6/14 | | | Exam 3 Due |