course is a
new undergraduate laboratory course to be offered from Spring 2012.
Here's a flyer.
Lecture (#16645). TTH 9:30 to 11AM in ENS 116.
Labs (#16648) Tue 2-5PM in ENS 307 or (#16649) Tue 6:30-9:30PM in ENS 307
Office Hours: TTH 11AM-12PM in ACES 5.118
Teaching Assistants: Kevin Boos and Rui Qiu
|Lecture||Laboratory Materials||Project and Exams|
Lecture 2. Collaborative Software Development
Version Control System
Version Merging and Conflict Resolution
Problem Report Database
Subversion Version Control System
Exercise 1b: Project - Saros (Distributed Pair Programming)
Commands Part 1
Lecture 4. Unix Commands and Shell Scripting Part 2
and Command-line Utilities
Requirements Elicitation and Analysis
Lecture 6. Requirements Analysis using UML Use Cases and Statecharts
|Exercise 3: Unix Commands and Bash Shell Scripting|
Object-Oriented Design and Analysis
Lecture 8. Object-Oriented Design and Analysis using UML
Class Diagram and Message Sequence Charts
|Exercise 4: UML|
9. Design Patterns Part 1
Lecture 10. Design Patterns Part 2
Abstract Factory, Factory Method, Singleton, Adapter,
Flyweight, Bridge, Observer, Mediator, Strategy, Visitor
|Week 6||Continuation of Design Patterns||Exercise
5: Improving Design
Design Pattern and Refactoring
11. Design Patterns Part 3
Lecture 12. Refactoring Part 1
13. Refactoring Part 2
|Week 9||Midterm Review
Lecture 14. Testing, Statement, Branch, and Path Coverage, JUNIT
|Exercise 6: jUnit Testing|
on Test Coverage, Test Generation and Regression Test Selection
7: Ant Build System
Extension Part C. Implementation and Testing
SAROS Part C Starter Files.zip
15. Build Management and Documentation, ANT, JAVADOC
Lecture 16. Debugging and Eclipse Debugger, GDB, DDD
|SAROS Project part C Q&A sessions|
on Automated Debugging, Delta Debugging
Lecture 17. Software Inspection, Code Review, Pair Programming, Hoare Logic
8: Eclipse Debugger
Exercise 9: Bug Finding & FindBug
18. Static Program Analysis, Hoare Logic, Loop Invariant, Data Flow
Analysis, Program Slicing
Lecture 19. Dynamic Program Analysis, Profiler, and Runtime Verification
|Exercise 10: Program Understanding|
Continuation of Static and Dynamic Analysis.
Lecture 21. Review of Lectures and Final Exam Practice Questions
|Demo your project Part C solution during the lab session.||SAROS
Extension Part D. New Feature Proposal
- You can propose a new feature and justify your rationale.
- The assignment will be out on 4/24 during the lecture and will be due 4/30 11:59PM sharp. As I said in the class, no late policy applies to Part D.
- 10% of the project grade
|Week 15||Class Presentations (5/1 and 5/3)||In-class
presentation of new features, why
you think the features are necessary, etc.
Mock-up screenshot. We will present 10 teams in each lecture. You will
be given 4 minutes each. Two slides
maximum per team.