Teaching
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 |