Unit |
Date |
Topic |
Slides, Handouts |
Reading Assignments |
Lab1: Get Started |
Wed Aug 31 |
Intro, Lab |
Intro slides (intro.ppt)
|
Lab1: InflationRate Part1&2 |
Review CS1 Functions |
Thu Sep 1 |
Review of Functions |
Function Slides (functions.ppt).
|
Big C++ Chapter 5 |
Anatomy of a Function Call |
Wed Sep 7 |
Finish Functions, Call-By-Reference |
Summary of CS1 (basics, flow of control, functions) |
Review Chapter 6 (Arrays) |
Finish Function Review |
Thu Sep 8 |
Review of Functions |
Function Slides (functions.ppt).
|
Big C++ Chapter 5 |
Arrays |
Mon Sep 12 |
Arrays in functions, find min, sort |
Array Slides (ppt, pdf)
|
Read Chapter 6 (Arrays) |
Common Array Algorithms |
Thu Sep 15 |
Searching and modifying arrays |
Array Slides (ppt, pdf)
Code: reverse.cpp
|
Read chapter 6 especially 6.3 |
Basic pointers |
Mon Sep 19 |
|
pointer syntax, address-of, memory (ppt) ++*p, *p++ example |
Read chapter 7 |
Lab3: More Arrays |
Wed Sep 21 |
IntArrayPlay: Arrays, Search, Insert, Delete |
Array and Function
|
Read chapter 7 |
Advanced pointers |
Thu Sep 22 |
Dynamic allocation |
(Sampe code: address.cpp,pointer.cpp, dynamic.cpp)
Pointers(ppt), Program Memory Model(pdf) |
Memory model: Stack and Heap here. |
Dynamic Pointers and arrays |
Mon Sep 26 |
Continue on pointers, typedefs (Sample code:
dynamic_new.cpp,
array_para.cpp,
returnArray.cpp
address.cpp,
precedence.cpp, dynamic.cpp) |
Pointer slides (ppt, and
|
Finish reading chapter 7 |
Minilab 1: Pointer and gdb lab |
Wed Sep 28 |
Pointers and gdb: how to use them |
pointers: gdb lab |
Read chapter 7 |
Pointers and memory |
Thu Sep 29 |
Dynamic memory, examples, program memory
(Sampe code: address.cpp,precedence.cpp, dynamic.cpp) |
Pointers(ppt), Program Memory Model(pdf) |
Memory of a program: stack and heap here. |
Multidimensional Arrays |
Mon Oct 03 |
Multidimensional arrays |
(ppt), (pdf) |
Read chapter 7 |
Lab4: Galton Board |
Wed Oct 05 |
Dynamic Arrays |
Dynamic Array and memory Galton Board Lab |
Read chapter 7 |
C-Strings and Strings |
Thu Oct 06 |
c-string vs string class |
cstring functions, strings, vectors slides (StringVectors.pptx) |
Savitch chapter 8 |
Lab5: Palindromes |
Wed Oct 12 |
Palindrome Lab |
Lab 4 palindrome vectors and strings Vector tutorial: vectors |
Read chapter 9 |
Strings and Vectors |
Thu Oct 13 |
c-string vs string class |
cstring functions, strings, vectors slides
(StringVectors.pptx)
(here)
Tutorial page on vectors here |
Sample code using strings
|
Savitch chapter 8 |
Introduce Structs |
Mon Oct 17 |
Intro to Structs |
Structs (class_intro.pptx) |
Savitch chapter 8 |
QUIZ |
Wed Oct 19 |
Quiz on functions, arrays and pointers |
Quiz Array, functions, pointers |
Read chapter 8 for class |
Structs and Classes |
Thu Oct 20 |
Intro to Structs |
Structs (class_intro.pptx) |
Savitch chapter 8 |
Classes |
Mon Oct 24 |
Intro to struct and class: define struct, passing struct by reference, introduce classes, member functions |
class_info slides(ppt,pdf) |
Savitch Chapter 10 |
Intro to classes |
Wed Oct 24 |
MiniLab: Simple lab on classes |
Start a lab on struct and classes
|
Savitch Chapter 10 |
Structs and Classes |
Fri Oct 18 Mon Oct 21 |
Continue struct and classes: BankAccount example, private and public members |
class_info slides(ppt,pdf) |
Savitch Chapter 10 |
Midterm Review |
Wed Oct 23 |
Lab6: simple class implementation |
Implement class Rational
|
Read Chapter 11 |
Midterm Practice Assignment |
Wed Oct 23 |
Lab6: class implementation |
Review Midterm Practice exam Finish code template
Date.cpp
| Functions, arrays, pointers, dynamic arrays
Chapters 4-5, 7, 8, 9, 10 |
Midterm |
Fri Oct 25 Mon Oct 28 |
functions, arrays, pointers, intro structs and classes |
(slides)
. Source code for bank_account,cpp |
Chapter Savitch 11 |
ADTs |
Tue Oct 29 Thu Oct 31 |
Define class: constructors, abstract data types. |
Source code for bank_account,cpp
Another class example: Box (note) |
Finish Savitch Chapter 10 |
Classes |
Tue Oct 29 Thu Oct 31 |
Class Constructors, abstract data types, examples |
(slides)
. Source code for bank_account,cpp |
Chapter Savitch 11 |
Friends / operator overloading |
Fri Nov 01 Mon Nov 04 |
Define ADT, inheritance, friends, overloading operators |
Friends, overloaded operators (slides)
| Chapter Savitch 11 |
Arrays of Objects |
Tue Nov 05 Thu Nov 07 |
Arrays of objects, arrays in objects, dynamic arrays of objects |
More operator overloading
Notes,
Money.cpp,
more operators,
more |
Read Read 11.2 |
Lab7: Extended Rational class |
Wed Nov 6 |
Lab7: Multiple Modules, Arrays of class objects
|
Extend class Rational (
|
|
overloading input/output operators |
Fri Nov 08 Mon Nov 11 |
Friends, Operator overload |
notes,
Friends, operator overloading |
Read Chapter 11 |
Lab8: Rational class as ADT |
Wed Nov 13 |
Lab8: Overload all operators; input/output operators
|
Extend class Rational (
|
|
Dynamic Arrays in Objects |
Tue Nov 12 Thu Nov 14 |
The Big Three: Destructor, Copy Constructor, operator= experiment.cpp |
More operator overloading
Notes,
| Read Read 11.2 |
Inhertiance |
Fri Nov 15 Mon Nov 18 |
Friends, Operator overload |
input.cpp,
Friends, operator overloading |
Read Chapter 11 |
The Big Three |
Tue Nov 19 Thu Nov 21 |
Inheritance: classes from other classes |
SLIDES,
StringVar.h,
StringVar.cpp,
StringVar_main.cpp
|
DynamicArray.h
DynamicArray.cpp
DynamicDriver.cpp
Rule of Big Three |
The Big Three |
Wed Nov 20 |
Dynamic arrays in classes |
|
|
Inheritance |
Fri Nov 22 Mon Nov 25 |
Inheritnce basics |
slides on inheritance (pdf,
ppt)
Employee.h
Employee.cpp
HourlyEmployee.h
HourlyEmployee.cpp
SalariedEmployee.h
SalariedEmployee.cpp
simple_test.cpp
|
Read Savitch 15 |
Inheritance access and the big three |
Tue Nov 26 Mon Dec 2 |
Access Qualifiers, Inheriting, overriding |
slides on inheritance (pdf,
ppt)
destructors.cpp
|
Read Savitch 15 |
Polymorphism |
Tue Dec 03 Thu Dec 05 |
virtual member functions |
slides on inheritance (pdf,
ppt)
destructors.cpp
|
Read Savitch 15 |
File I/0, Streams |
Wed Dec 4 |
File I/O, Streams |
streamClasses.jpg
Notes
slides
streams ppt
output.cpp
test_cin.cpp
|
|
Finish Polymorphism, Abstract classes |
Fri Dec 06 Mon Dec 09 |
Inheritnce Polymorphism |
slides on polymorphism (pdf,
Polymorphism.pdf, overloading, slicing:
destructors.cpp
ppt)
|
Finish Savitch 15, Read Polymorphism.pdf |
Templates? |
Fri Dec 06 Mon Dec 09 |
Another form of polymorphism |
Write-up with another example music
overloadride.cpp
Slides on template function/class (ppt)
template_swap.cpp
template_sort.cpp
GenericList.h
GenericList.cpp
GenericList_main.cpp
|
Savitch 17 |
Templates |
Wish Week Day1 |
Template functions, classes |
Slides on template function/class
(ppt)
template_swap.cpp
template_sort.cpp
GenericList.h
GenericList.cpp
GenericList_main.cpp
|
Savitch 17 |
Exceptions / Templates |
Wish Week Day2 |
Exceptions |
Slides on throwing exceptions (ppt)
Display-16-01.cpp
Display-16-02.cpp
Display-16-03.cpp
Display-16-04.cpp
|
Savitch 16 |
Final Review |
Tue Dec 10 11:00-1:30 |
Review JMH 302 |
C++ Constructors from Microsoft |
Write-up of Order of Construction (docx) |
Final Lab Office Hours: 11-2pm |
Tue Dec 10 |
Help finishing up labs JMH 302 |
|
Write-up of Order of Construction (pdf) |