Week |
Tuesday |
Thursday |
1
|
Jan 8
|
Lecture 1: Introduction
|
- Course administration, set up
- Projects and teams
- Introduction to software engineering
|
|
Jan 10
|
Project 1 Q&A: Application specification
|
- Customer requests, whishes and requirements
- Negotiation of features, options, limitations
- Q & A
|
|
2
|
Jan 15
|
Lecture 2: Software development process
|
- Application specification
- Software architecture design and specification
- Version control
|
|
Jan 17
|
Project advice: Graphical User Interface
|
|
|
3
|
Jan 22
|
Lecture 3: Version control with CVS
|
- Setting up the project repository
- Project check-out and check-in
- Concurrent updating and merging
|
|
Jan 24
|
Team meetings!
|
- Software development
- Implementation of alpha version
|
|
4
|
Jan 29
|
Lecture 4: Data Structure Design
|
- Project status and discussion
- Data structure design
- Discussion
|
|
Jan 31
|
Team meetings!
|
- Software development, testing, debugging
- Implementation of beta version
|
|
5
|
Feb 5
|
Lecture 5: Software development tools
|
- Linux commands and tools
- Linux compiler tool chain
- Software profiling and optimization
|
|
Feb 7
|
Team meetings!
|
- Software optimization and tuning
- Software documentation
- Preparation of software release
|
|
6
|
Feb 12
|
Lecture 6: Presentations, Midterm Exam, Competition
|
- Team presentations on project 1
- Oral exam: individual contribution to project 1
- Chess tournament
|
|
Feb 14
|
Project 2 Q&A: Application specification
|
- Help Mr. Nob Ackup recover his source code
- Discussion of features, options, limitations
- Q & A
|
|
7
|
Feb 19
|
Lecture 7: Project 2 updates, discussion
|
- Unit testing
- NetPBM package
- System calls
|
|
Feb 21
|
Team meetings!
|
- Project 2 specification
- User manual
- Software architecture manual
|
|
8
|
Feb 26
|
Lecture 8: Introduction to C++
|
- "Crash course" introduction to C++
- Classes, members and methods
- Constructors, destructors
|
|
Feb 28
|
Team meetings!
|
- Software development
- Implementation of alpha version
|
|
9
|
Mar 5
|
Lecture 9: Team presentations
|
- Main features of expected product
- Current status and early results
- Next steps, open issues, Q+A
|
|
Mar 7
|
Team meetings!
|
- Software development, testing, debugging
- Implementation of beta version
|
|
10
|
Mar 12
|
Lecture 10: Course wrap up
|
- Wrapping up Project 2
- "Crash course" introduction to C++
- Classes, a deeper look
|
|
Mar 14
|
Team meetings!
|
- Software optimization and tuning
- Software documentation
- Preparation of software release
|
|
Final
|
|
Mar 21
|
Final Exam: Oral exam on Project 2
|
8:00am - 12:00pm
EH 1151 (lab)
|
|