Xiao Qin's Teaching

Auburn University

COMP2710 Software Construction

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