Winter Quarter 2003: January 3, 2003 - March 14, 2003
| Section 1: | Tue & Thu | 11:10 am | - | 12:30 pm | in | R. G. Sproul Hall 1102. |
| Section 2: | Tue & Thu | 8:10 am | - | 9:30 am | in | J. W. Olmsted Hall 1208. |
| Section 21: | Tue | 2:10 pm | - | 5:00 pm | in | Surge Bldg. 171. |
| Section 22: | Tue | 2:10 pm | - | 5:00 pm | in | Surge Bldg. 172. |
| Section 23: | Wed | 11:10 am | - | 2:00 pm | in | Surge Bldg. 171. |
| Section 24: | Wed | 11:10 am | - | 2:00 pm | in | Surge Bldg. 172. |
| Section 25: | Thu | 6:10 pm | - | 9:00 pm | in | Surge Bldg. 171. |
| Section 26: | Fri | 6:10 pm | - | 9:00 pm | in | Surge Bldg. 172. |
| Section 27: | Mon | 8:10 am | - | 11:00 am | in | Surge Bldg. 283. |
| 15% | Quizzes, typically given during lab sessions. |
| 20% | Midterm. |
| 30% | Final. |
| 12% | Weekly in-lab programming exercises, attendance, participation, and adherence to coding standards. |
| 15% | In-lab independent programming projects, typically given two or three times during the quarter. |
| 8% | Home programming assignments, typically given every two weeks and due a week after assigned. |
| Date | Topics | Readings |
|
Tue
Jan 07 |
Course overview.
Review of some basic ideas behind computer programming: binary numbers, computer organization, programming languages, compilers, linkers, executables. |
Review chapters 1 and 2, then read the handout on computer organization. [handout 1] |
|
Thu
Jan 09 |
Review of Procedural Programming: top-down and
bottom-up approaches to solving programming problems.
Review of elementary C++: basic data types, variables, operators, expressions, flow of control, functions, call by value, call by reference, function overloading. |
Read chapters 3 and 4 to review the material you learned in CS 10. |
|
Tue
Jan 14 |
Introduction to Data Structures.
Elementary Data Structures: Arrays. C++ and statically defined arrays. |
Read chapter 5. |
|
Thu
Jan 16 |
Elementary Data Structures: Stacks.
Functions and Activation Frames. |
Read the handout on stacks and activation frames. [handout 2] |
|
Tue
Jan 21 |
The Divide-and-Conquer approach to solving programming
problems.
Recursion [Tower of Hanoi demo]. |
Read chapter 13. Recursion is non-intuitive at first, so make sure to read this chapter carefully. |
|
Thu
Jan 23 |
C++ Structures.
C++ Pointers and Dynamic Arrays. C++ Static and Dynamic Memory Allocation. |
Read sections 6.1, 10.1, and 10.2. Pointers confuse many beginners, so read those sections very carefully. |
|
Tue
Jan 28 |
Introduction to Object-Oriented Programming.
C++ Classes. Brief introduction to UML. |
Read sections 6.2, 7.1, and 20.2. |
|
Thu
Jan 30 |
C++ Constructors.
C++ Namespaces. |
Read section 7.2 and chapter 11. |
|
Tue
Feb 04 |
C++ Operator Overloading, Friends, and References.
Classes and Dynamic Memory Allocation, Destructors. |
Read chapter 8 and section 10.3. |
|
Thu
Feb 06 |
Midterm Exam | |
|
Tue
Feb 11 |
The C++ String and Stream classes. | Read chapters 9 and 12. |
|
Thu
Feb 13 |
Inheritance I. | Read section 14.1. |
|
Tue
Feb 18 |
Inheritance II.
Polymorphism I. |
Read sections 14.2 and 15.1. |
|
Thu
Feb 20 |
Polymorphism II. | Read section 15.2. |
|
Tue
Feb 25 |
Abstract Data Types.
C++ Templates. |
Read chapter 16. |
|
Thu
Feb 27 |
Elementary Data Structures: Linked Lists I. | Read section 17.1. |
|
Tue
Mar 04 |
Elementary Data Structures: Linked Lists II. | Read section 17.2. |
|
Thu
Mar 06 |
[not actually covered this quarter]
Containers and Iterators. Error handling: Exceptions. |
Read section 17.3 and chapter 18. |
|
Tue
Mar 11 |
[not actually covered this quarter]
C++ Standard Template Library: Containers and Iterators. |
Read sections 19.1 and 19.2. |
|
Thu
Mar 13 |
[not actually covered this quarter]
Introduction to Complexity Theory: Big-O Notation. C++ Standard Template Library: Generic Algorithms. |
Read section 19.3. |
|
Tue
Mar 18 |
Optional Review Session | |
|
Thu
Mar 20 |
Section 1 Final Exam: 8:00 am - 11:00 am | |
|
Sat
Mar 22 |
Section 2 Final Exam: 8:00 am - 11:00 am |
| Week | Topics/Activities | Assignments |
|
1
Jan 06 - 10 |
Login assignments.
How to send and read email using Pine. How to turn in your work electronically. Basic UNIX commands, Emacs, gcc. |
In-lab programming exercise 1: functions. |
|
2
Jan 13 - 17 |
Writing code: style and attitude. Coding standards.
Presentation of chapter 1 of K & P. Quiz 1, on material and readings from week 1 lectures, and on chapter 1 of K & P. |
Read chapter 1 of K & P.
Home programming project 1: arrays and stacks. out on Jan 12, due 9 pm Jan 20 |
|
3
Jan 20 - 24 |
Presentation on recursion, structures, and pointers.
Quiz 2, on material and readings from week 2 lectures. |
In-lab programming exercise 2: recursion, structures, and pointers. |
|
4
Jan 27 - 30 |
Brief presentation on UML.
Quiz 3, on material and readings from week 3 lectures. |
In-lab programming exercise 3: debugging. |
|
5
Feb 03 - 07 |
Debugging.
Presentation of chapter 5 of K & P. |
Read chapter 5 of K & P. |
|
6
Feb 10 - 14 |
Discussion of midterm solution.
Testing. Presentation of chapter 6 of K & P. |
Read chapter 6 of K & P.
In-lab independent programming project 1: Structures and pointers. |
|
7
Feb 17 - 21 |
Quiz 4, on chapters 5 and 6 of K & P, and on lecture material from week 6. |
Home programming project
2: operator overloading.
out on Feb 15, due 9 pm Mar 3 |
|
8
Feb 24 - 28 |
Presentation on C++ Templates.
Quiz 5, on lecture material from week 7. |
In-lab programming exercise 4: class inheritance and polymorphism. |
|
9
Mar 03 - 07 |
[not actually covered this quarter]
Presentation on Containers, Iterators, and Exceptions. Quiz 6, on lecture material from week 8. |
In-lab programming exercise 5: separate compilation. |
|
10
Mar 10 - 14 |
[not actually covered this quarter]
Presentation on Complexity Theory and Big-O notation. |
[cancelled]
In-lab independent programming project 2: linked-lists and templates. |
| My own | Savitch's | |
| 1: | pdf / pps | - |
| 2: | pdf / pps | - |
| 3: | pdf / pps | Ch. 5: pdf / pps |
| 4: | pdf / pps | - |
| 5: | pdf / pps | Ch. 13: pdf / pps |
| 6: | pdf / pps | - |
| 7: | pdf / pps | - |
| 8: | pdf / pps | - |
| 9: | pdf / pps | Ch. 8: pdf / pps |
| 10: | pdf / pps | Ch. 14: pdf / pps |
| 11: | see lec 10. | Ch. 15: pdf / pps |
| 12: | pdf / pps | - |
| 13: | pdf / pps | Ch. 17: pdf / pps |
| Exam | Questions / Solutions |
| Midterm | |
| Section 1 Final Exam | - |
| Section 2 Final Exam | - |
© 2003 Wagner Truppel. All rights reserved.