Winter
2008
Rogers 440, TR 12:00 –
13:20
Carlos Jensen (cjensen @
eecs…)
Office hours:
TR
10:00 – 11:30
TR
14:00 – 15:30
By
Appointment
The goal of this class is to give
you, the student, hands-on experience in software engineering and project
management by working on a real, long-term team project. While doing so,
students will be introduced and research advanced topics in Software
Engineering techniques, topics, and tools. This is the second course in a 2
course sequence. CS561 is an enforced prerequisite. This class is meant to
build on the requirements and project ideas derived by teams in the first
course. The focus of this course is on the second half of the design and
software engineering cycle; team management, development & testing.
- Code management tools & techniques
- Project management tools & techniques
- Test methodology & tools
- Engineering for security & privacy
- Software engineering in a multi-core world
|
Topic |
Tuesday |
Thursday |
|||
|
Topic / Slides |
Reading / Assignment |
Topic / Slides |
Reading / Assignment |
||
|
W1 (1/8) |
Project Management |
Introduction & Overview |
- Project Team reorganization |
Project Planning |
- Team Status Report |
|
W2 (1/15) |
Risk Management |
Team Management & Project Sustainability |
- Team Checkpoint (Project Plan, Revised Requirements) |
||
|
W3 (1/22) |
Code Management |
Code/Project Management tools |
|
Class Canceled |
|
|
W4 (1/29) |
Joining Projects |
- Team Status Report - Group
awareness in distributed software development - The Social Structure of
Free and Open Source Software Development -
Information Needs in Collocated Software Development Teams. - Summary |
Code Visualization tools (1) |
- Let’s go to the whiteboard: How and why software developers draw code - Code thumbnails: using spatial memory to navigate source code - Summary |
|
|
W5 (2/5) |
Test Methodology |
Testing Overview |
Testing
Fundamentals |
- Team Status Report |
|
|
W6 (2/12) |
- Automated Whitebox Fuzz testing |
Reviewing 25 years of testing technique experiments |
- Team Checkpoint (Test Plan) |
||
|
W7 (2/19) |
Multi-Core |
|
|
- Team Status Report |
|
|
W8 (2/26) |
No Class |
|
|
- Team Checkpoint (Test Results, Prototype) |
|
|
W9 (3/4) |
Security & Privacy |
|
- Mining Rule Semantics to Understand Legislative Compliance - Specifying Privacy Policies with P3P and EPAL: Lessons Learned - Team Status Report - Assignment 2 Report |
||
|
W10 (3/11) |
|
|
|
- Final Presentation |
|
|
Finals |
|
|
- Assignment 2 turn-in - Final project SW & Report |
|
|
- In-class presentation: Each student will be required to lead discussion on up to two class topics
- Team Status Reports: 5 minute update on what you have accomplished this week/problems you face
- Team Checkpoint: 15 minute mini-presentation on the progress of your development & testing
- Summaries: Students will be required to come prepared for class and keep up with the readings so they can participate in discussions. To ensure this happens, all students are required to submit weekly 1 page summaries of readings/lecture topics
- Assignment 1: Joining Project Experience. Students will need to research a Open Source community, and document it’s structure & history
- Assignment 2: TBD (pending IRB)
- In-class presentations 10%
- Class Participation 10%
- Summaries 10%
- Assignment 1 15%
- Assignment 2 15%
- Project 40%
o Requirements 10%
o Design 20%
o Test Plan 20%
o Test implementation 20%
o Presentations 10%
o Documentation 20%
