Spring Quarter 2003: March 26, 2003 - June 13, 2003
| Lecture Schedule | Lab Schedule | Downloadable Material |
| Electronic Turn-in | Grades | Course Email List | Anonymously Report Suspected Cheating | Anonymously Provide Comments/Suggestions | Previous CS12's |
| Section 1: | Tue & Thu | 6:40 pm | - | 8:00 pm | in | R. G. Sproul Hall 1340. |
| Section 2: | Tue & Thu | 8:10 am | - | 9:30 am | in | R. G. Sproul Hall 1102. |
| Section 21: | Mon | 6:10 pm | - | 9:00 pm | in | Surge Bldg. 172. |
| Section 22: | Tue | 8:10 am | - | 11:00 am | in | Surge Bldg. 172. |
| Section 23: | Wed | 6:10 pm | - | 9:00 pm | in | Surge Bldg. 172. |
| Section 24: | Thu | 8:10 am | - | 11:00 am | in | Surge Bldg. 172. |
| Section 25: | Thu | 6:10 pm | - | 9:00 pm | in | Surge Bldg. 172. |
| Section 26: | Fri | 2:10 pm | - | 5:00 pm | in | Surge Bldg. 172. |
| 15% | Quizzes and/or homework assignments. |
| 20% | Midterm. |
| 30% | Final. |
| 12% | In-lab programming exercises, attendance, participation, and adherence to coding standards. |
| 8% | In-lab practical exams. |
| 15% | Take-home programming assignments. |
| Date | Topics | Readings |
|
Tue
Apr 01 |
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
Apr 03 |
No lecture today. | |
|
Tue
Apr 08 |
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. |
|
Thu
Apr 10 |
Introduction to Data Structures.
Elementary Data Structures: Arrays. C++ and statically defined arrays. |
Read sections 10.1, 10.2, and 10.3. |
|
Tue
Apr 15 |
Elementary Data Structures: Stacks.
Functions and Activation Frames. |
Read the handout on stacks and activation frames. [handout 2] |
|
Thu
Apr 17 |
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. |
|
Tue
Apr 22 |
Quiz 1.
C++ Structures. C++ Pointers and Dynamic Arrays. C++ Static and Dynamic Memory Allocation. |
Read sections 6.1, 12.1, and 12.2. Pointers confuse many beginners, so read those sections very carefully. |
|
Thu
Apr 24 |
Introduction to Object-Oriented Programming.
C++ Classes. Brief introduction to UML. |
Read sections 6.2 and 6.3. |
|
Tue
Apr 29 |
Midterm Exam | |
|
Thu
May 01 |
C++ Constructors.
C++ Namespaces. |
Read chapter 9. |
|
Tue
May 06 |
C++ Operator Overloading, Friends, and References.
Classes and Dynamic Memory Allocation, Destructors. |
Read chapter 8, sections 10.4 and 12.3. |
|
Thu
May 08 |
The C++ String, Stream, and Vector classes. | Read sections 5.1, 5.2, 5.3, 11.2, and 11.3. Some of these sections are material you've seen in CS 10. |
|
Tue
May 13 |
Quiz 2.
Inheritance I. |
Read section 16.1. |
|
Thu
May 15 |
Inheritance II.
Polymorphism I. |
Read sections 16.2 and 16.3. |
|
Tue
May 20 |
Polymorphism II. | Read CS 12 readings. |
|
Thu
May 22 |
Quiz 3.
Abstract Data Types. C++ Templates. |
Read chapter 14. |
|
Tue
May 27 |
Elementary Data Structures: Linked Lists I. | Read section 15.1. |
|
Thu
May 29 |
Elementary Data Structures: Linked Lists II. | Read section 15.2. |
|
Tue
Jun 03 |
Quiz 4.
[unscheduled material] |
|
|
Thu
Jun 05 |
[unscheduled material] | |
|
Thu
Jun 12 |
Section 2 Final Exam: 8:00 am - 11:00 am | |
|
Fri
Jun 13 |
Section 1 Final Exam: 7:00 pm - 10:00 pm |
| Week | Topics/Activities | Assignments |
|
1
Mar 31 - Apr 4 |
Login assignments.
How to send and read email using Pine. How to turn in your work electronically. Basic UNIX commands, Emacs, gcc. |
basic UNIX commands. |
|
2
Apr 7 - Apr 11 |
g++
Makefiles Man pages |
basic programming tools. |
|
3
Apr 14 - Apr 18 |
Arrays | array exercises |
|
4
Apr 21 - Apr 25 |
Testing and Recursion | Code testing and recursive functions |
|
6
May 5 - May 9 |
Using the Debugger | GDB |
|
7
May 12 - May 16 |
Vectors | Vectors & Array Exercises |
|
8
May 19 - May 23 |
Lab Practical
Static modifiers |
Lots of Static |
|
10
June 2 - June 6 |
Arrays, Classes Final Review |
Pointers, Arrays, Classes, Oh My! |
| Assignment | Due Date | |
| 1: | Caesar Cipher | Sunday, April 13, 8pm |
| 2: | Mastermind | Sunday, April 27th, 8pm |
| 3: | Maze Solver | Sunday, May 18th, 8pm |
| 4: | Fairytales and Object Oriented Programming | Sunday, June 1st, 8pm |
| Exam | Questions / Solutions |
| Midterm |
© 2003 Wagner Truppel. All rights reserved.