Week |
Topics |
Slides |
Reading |
Assignments |
Week 1a 1/11 |
Introduction |
Lec01a.ppt |
|
|
Week 1b 1/13 |
C++ Basic 1
Lab Setup
|
Lec01b.ppt
Java vs C++
helloreader.cpp
Unix.ppt
|
ch1.1-1.2 |
|
Week 1b 1/15 |
C++ Basic 2:
Expressions, Assignment
Statements.
|
Lec01c.ppt
Generate
a
Random
Number
rand.cpp
constant.cpp
Generate
a
Random
Number
Ubuntu
on
Virtualbox
PC
|
ch1.1-1.5 |
Homework 1 |
Week 2b 1/20 |
cin/cout, Flow of Control. |
Lec02b.ppt |
Ch2.1-2.3; pp.44-81;
Ch12.1, pp.509-523 |
Homework
1
Due |
Week 2c 1/22 |
Functions |
Lec02c.ppt
doghouse.cpp
|
Ch3 pp.89-124 |
Homework 2 |
Week 3a 1/25 |
File I/O 1 |
Lec03a.ppt
simplefile.cpp
infile.txt
inputfilename.cpp
inputfilenamev2.cpp
|
Ch12.1 |
|
Week 3b 1/27 |
File I/O 2
Testing
|
Lec03b.ppt |
Ch12.2 |
|
Week 3c 1/29 |
Software Design |
Lec03c.ppt |
|
Homework
2
Due |
Week 4a 2/1 |
Use Cases |
useCases.ppt |
|
|
Week 4b 2/3 |
Class Diagram |
Lec04b.ppt |
|
|
Week 4c 2/5 |
Data Flow Diagram |
Lec04c.ppt |
|
|
Week 5a 2/8 |
Lab 1 - Use Cases |
Lec05a.pdf |
|
|
Week 5b 2/10 |
Lab 1 - Design the Menu
Class,
testing |
Lec05b-getNumber.ppt
getnumber.cpp
Lec05b-Lab 1 Menu Class.pdf
|
vi.html |
Lab1
Design
Portion
Due |
Week 5c 2/12 |
No Class |
|
|
|
Week 6a 2/15 |
Structures & Classes: Basics |
Lec06a.ppt
accountv1.cpp
accountv2.cpp
|
Ch6.1 |
|
Week 6b 2/17 |
Array |
Lec06b.ppt
fillup.cpp
maxscore.cpp
searcharray.cpp
|
Ch5.1-5.3 |
|
Week 6c 2/19 |
Lab 1 - Design the
Encounter
Class |
Lec06c-Lab 1 Encounter.pdf |
|
Lab1
Programming
Portion
Due |
Week 7a 2/22 |
Review |
Lec07a.ppt |
|
|
Week 7b 2/24 |
Call
by
Reference
Constructors
|
Lec07b.ppt |
Ch4.1
Ch6.2
|
|
Week 7c 2/26 |
Midterm
Exam |
|
|
|
Week 8a 3/1 |
Midterm Session |
|
|
|
Week 8b 3/3 |
Lab 2 - Design: Class
Diagram |
Lec08b-Lab2 Class Diagram.pdf |
|
|
Week 8c 3/5 |
System Sequence Diagram |
Lec08c-SystemSequenceDiagram.pdf |
|
|
Week 9a 3/8 |
Lab 2: System Sequence Diagram |
Lec09a-Lab2-SysSeqD.pdf |
|
|
Week 9b 3/10 |
Function Overloading |
Lec09b.ppt |
Ch4 pp.133-160 |
Lab2
Design
Portion
Due |
Week 9c 3/12 |
Remove an element from a
vector |
vectorerase.cpp
Vector.ppt
Lec09c.ppt
|
|
|
Week10 |
Spring Break |
|
|
|
Week 11a 3/22 |
Testing and Debugging |
Lec11a-Testing.pdf
How to mask passwords?
passwordc.cpp
|
Ch4.3 pp.166-172 |
|
Week 11b 3/24 |
Project
3 -
Introduction |
|
|
Lab
2
Programming
Portion
Due |
Week 11c 3/26 |
Substitution Cipher |
Lec11c-cipher.ppt |
|
|
Week 12a 3/29 |
Testing Drivers and
Stubs |
Lec12a-DriverStub.pdf |
|
|
Week 12b 3/31 |
Project
3 -
Vigenere
Cipher |
Lec12b-Vigenere.pdf |
|
|
Week 12c 4/2 |
Debugging |
Lec12c-Debugging.ppt |
|
Lab3
Design
Portion Due |
Week 13a 4/5 |
Separate
Compilation |
Lec13a-SeparateCompilation.ppt |
|
|
Week 13b 4/7 |
Makefile |
makefile.ppt
Makefile Tutorial
A sample Makefile |
|
|
Week 13c 4/9 |
Lab
3:
getcolumn()
Header
Files
|
getcolumn.cpp
makefile_v2
dtime.h
dtime.cpp
timedemo.cpp
|
|
|
Week 14a 4/12 |
Project
3 |
Lec14a-Project3.pdf |
|
Lab
3
Programming
Portion
Due |
Week 14b 4/14 |
Namespace |
Lec14b-Namespace.pdf |
|
|
Week 14c 4/16 |
Pointers
1 |
Lec14c.ppt |
|
|
Week 15a 4/19 |
Lab 4 Class Diagram |
Lec15a-Lab 4 Class Diagram.pdf |
|
|
Week 15b 4/21 |
Lab 4
System
Sequence
Diagram |
Lec15b-Lab4-SequenceDiagram.pdf |
|
Lab
4
Design
Portion Due |
Week 15c 4/23 |
Pointers
2 |
Lec15c.ppt |
|
|
Week 16a 4/26 |
Pointers
2 |
Lec16a.ppt |
|
|
Week 16b 4/28 |
Linked Data Structures
1;
Namespaces
|
Lec16b.ppt
dayofyearns1.cpp
dayofyearns2.cpp
dayofyearns3.h
dayofyearns3.cpp
dayofyearns4.cpp
|
|
|
Week 16c 4/30 |
Linked Data Structures
2 |
Lec16c.ppt |
|
Lab
4 Programming
Portion
Due |
Week
17a
5/3 |
Review
for
Final
Exam |
Lec17a.ppt |
|
|