COMP 2710 Software Construction

Fall 2009

   

Instructor: Dr. Xiao Qin

TR 9:30 - 10:45am, Shelby Center, Room 1122

Office hours: TR 10:45-11:55am


Lectures and Schedule

Week

Topics

Reading Assignments

Slides

Assignments

Due

 Week 1a, 08/18

 Introduction to C++

 

 Lec01a.ppt

 

 

 Week 1b, 08/20  C++ Basics 1: Introduction and Variables   Ch1.1-1.2; pp. 2 - 9  Lec01b.ppt 

 Unix.ppt

 Week 2a, 08/25  C++ Basics 2: Expressions, Assignment Statements, cin/cout, Program Style, Libraries and Namespaces  Ch1.2-1.5 pp.10-38  Lec02a.ppt 

 vi.html

 Week 2b, 08/27  Flow of Control; File I/O  Ch2.1-2.3; pp.44-81;
 Ch12.1, pp.509-523
 Lec02b.ppt   Lab 1
 Week 3a, 09/01  Functions: Basics  Ch3 pp.89-124  Lec03a.ppt
 Week 3b, 09/03  Functions: Overloading (Xiaojun Ruan)  Ch4 pp.133-160  Lec03b.ppt
 Week 4a, 09/08  Functions: Templates  Ch16 pp.675-688  Lec04a.ppt
 Week 4b, 09/10  Arrays  Ch5.1-5.3  Lec04b.ppt
 maxscore.cpp
 fillup.cpp
 searcharray.cpp
 Week 5a, 09/15  Structures & Classes: Basics  Ch5.4, Ch6.1  Lec05a.ppt
 
sortarray.cpp
 accountv1.cpp
 
accountv2.cpp 
 Lab 1 Written Portion
 Week 5b, 09/17  Constructors  Ch6.2  Lec05b.ppt
 
dayofyear.cpp
 
dayofyearv2.cpp
 Week 6a, 09/22  Constructors and Other Tools  Ch7.1-7.3  Lec06a.ppt
 accesspriv.ppt
 
holiday.cpp
 static.cpp
 
vector.cpp
 vectorv2.cpp
 vector2d.cpp
 vectorsort.cpp
 Week 6b, 09/24  Software Process: Basics of Analysis   Lab 1
 Week 7a, 09/29  Software Process: Design  Lec07a.ppt  Lab 1 Programming Portion
 Week 7b, 10/01  Review  Lec07b.ppt
 Week 8a, 10/06  Midterm Exam
 Week 8b, 10/08  Midterm Exam Session     Lab 2    
 Week 9a, 10/13  Software Design  - A Case Study 1  Lab 1 and Lab 2  Lec09a.ppt
 lab1-testing.cpp
 Week 9b, 10/15  Software Design  - A Case Study 2
 Vectors
 KNN
 Lec09b.ppt  
 Week 10a, 10/20  How to use gdb?  Lec10a.ppt
 
getnumber.cpp

 Lab 2 Written Portion
 Week 10b, 10/22  The KNN algorithm
 sort an array/vector of struct in c++
 Lab 2
 Week 11a, 10/27  Overloading Basic  Ch8.1 pp315-326  Lec11a.ppt   Lab 2 Programming Portion
 Week 11b, 10/29  Operator Overloading, Friend
 Use Cases
 Ch8.1-Ch8.2  Lec11b.ppt
 
useCases.ppt
 
money.cpp
 friend.cpp
  Lab 3
 Week 12a, 11/3  Optimization and Search  Lab 3 - Algorithms
 Week 12b, 11/5  Software Design - Lab 3
 Lab 3 Written Portion
 Week 13a, 11/10  Separate Compilation and Namespaces  Ch11  Lec13a.ppt
 
A sample Makefile
 dtime.h
 dtime.cpp
 timedemo.cpp
 Week 13b, 11/12  Inheritance
 Makefile
 Ch14  Lec13b.ppt
 
makefile.ppt
 Makefile Tutorial
 A sample Makefile
 employee.h
 
employee.cpp
 
hourlyemployee.h
 
hourlyemployee.cpp
 
salariedemployee.h
 
salariedemployee.cpp
 
 Week 14a, 11/17  Pointers,
 Dynamic Arrays
 Ch10.1-10.2  Lec14a.ppt
 pointer_basic.cpp
 pointer_callbyvalue.cpp
 
 
 Week 14b, 11/19  Polymorphism   Ch15.1  Lec14b.ppt  Lab 4  Lab 3 Programming  Portion
 Week 15a, 11/24  Thanksgiving Break
 Week 15b, 11/26  Thanksgiving Break  Lab 4 Written Portion Due: 11/28
 Week 16a, 12/01  Virtual Functions
 Linked Data Structures
 Lec16a.ppt
 Week 16b, 12/03  Final Review  Lec16b.ppt  Lab 4 Programming Portion Due: 12/7
 Week 18a, 12/15  Final Exam  Grade Due: 6:30p Dec.17