Course Schedule

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