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