CS246 logo: Object-Oriented Software Development

Buhr's lecture notes can be found here, and the slides version can be found here. They should be more or less identical.

Downloading Savitch's slides requires the password given out in class; click on the link to access them. Send email to the TA if you don't have the password.

This schedule will change regularly to reflect what actually happens in class

3.4 Source code Mgmt 4.4 Software Methodology
4.5 Design Quality
4.6 Design Principles
4.8 Testing Scrum process
RUP Process
Week #
Tues
Buhr schedule
Other lecture materials
Savitch slides
Due dates
1
Sept 11
1. Shell
1.1 File System
1.2 Pattern Matching
1.3 Quoting
1.4 Shell Commands
Additional slides    
2
Sept 18
1.5 System Commands
1.6 File Permission
1.7 I/O Redirection
1.8 Programming
1.9 Cleanup Script
1.10 Regress Script
Test Script   Assgt 1: 19 Sept
3
Sept 25
2. C++
2.1 First program
2.2 Program Structure
2.3 Declaration ... string (9), references ...
2.4 Expression
2.5 Control Constructs
2.6 Structured programming
  1. C++ basics
2. Flow of control
3. Function basics
4. Parameters, Overloading
5. Arrays
6. Structs & classes
Assgt 2: 4 Oct
4
Oct 2
2.7 Type Construction
2.8 Modularization
2.9 Routine
2.9.1 Arg/Param Passing
2.9.2 Array Param
2.10 Input/Output (12)
2.10.1 Formatted I/O
*2.10.2 Unformatted I/O
+2.11 Command-line Arguments
GPS Example    
5
Oct 9
+2.12 Preprocessor
+2.13 Assertions
+2.14 Debugging
2.15 Dynamic Storage (10)
  7. Constructors [2.15.3], tools
8. Operator overloading [2.13.3], friends, refs
 
6
Oct 16
2.16 Overloading (8)
*2.17 Routine Pointer
2.18 Object
2.18.1 Obj Member
2.18.2 Obj Operator member
2.17.3 Constructor (7)
2.18.4 Destructor
2.18.5 Copy Constructor
2.18.6 Initialize const
2.18.7 Static member
*2.19 Random Numbers
2.20 Declaration Before Use
2.21 Encapsulation
Activation Records 9. Strings [2.3]
10. Pointers, dynamic arrays [2.11]
 
7
Oct 23
2.22 System Modelling, UML (20)
2.23 Separate Compilation (11)
  11. Separate compilation [2.20] & namespaces [2.24]
12. Streams & File I/O [2.7]
Midterm Thursday, October 25, 2012 Time: 16:30-18:20
8
Oct 30
+2.24 Inheritance (14) (15) ...
+2.25 Inheritance, Composition
     
9
Nov 6
2.26 Template, STL (16) (19)
2.27 Namespace
     
10
Nov 13
3. Tools
3.1 C/C++ Composition
3.2 Compilation
3.3 Compiling Complex Programs, "make"
  13. Recursion
14. Inheritance [2.21]
15. Polymorphism, virtual fcns [2.21]
 
11
Nov 20
Code smells / refactoring
4.7 Design Patterns
Smells / Refactoring
Smells / Refactoring #2
Design patterns
16. Templates [2.23]
17. Linked data structures
18. Exception handling
19. Std template lib [2.23]
 
12
Nov 27
4.2 Software Development
4.3 Development Processes
Testing
Process and Version Control
20. UML slides [2.19]
Design patterns slides [4.7]
 
Classes end Dec 3