Schedule


Date Topic Reading Assignment
Tuesday 8/31 Intro, Syllabus, get into groups
Thursday 9/02 Software Engineering discussion, Get into groups, Intro to project
Slides.pptx/Slides.pdf
Ost07 - A Future for Software Engineering
Bro87 - No Silver Bullet
Tuesday 9/07 Project Management
Slides
N Examples of Why Time Estimates are Always Wrong
CM+05Finding the right data for software cost modeling
Assignment 1 - Use Eclipse and pick a sourceforge project
Assignment1.pdf
Scrabble Package
Thursday 9/09 Human Centered Design
Slides
Bod99 - Scenarios in User Centered Design
PG03 - Personas: Practice and Theory
Tuesday 9/14 Requirements Engineering
Slides
ATB06 - Requirements Engineering - a roadmap
SP+07 - On Generating EFSM Models from Use Cases
Assignment 2 - Project Plan
Thursday 9/16 Requirements Engineering
Slides
IEEE spec
Tuesday 9/21 Usability
Slides
Usability techniques
Usability and safety critical systems
Assignment 3 - Requirements spec.
Thursday 9/23 Design and Architecture
Slides
PW92 - Foundations for the study of software architecture
Browse the UML site to learn about UML
Also check out wikipedia's material on UML
Tuesday 9/28 Design and Architecture
Slides
TMA+96 – A component and message-based architectural style for GUI software
Read the Design Patterns wikipedia page, and choose three patterns to learn more about, read up on those so you can share them in class.
Thursday 9/30 Design and Architecture
Slides
Look up what kind of tool you can use to create your software design for example ArgoUML or Visio and make sure it works on the computer you will be using. Assignment 4 - Interaction Design spec.
Tuesday 10/05 Formal Methods, students present papers Canceled class
Thursday 10/07 Programming Languages Software Engineering and Programming Languages
Sourcerer
Assignment 5 - Design of existing software
Tuesday 10/12 Formal Methods, students present papers SPIN
Alloy
Thursday 10/14 Java crash course Find and read a Java tutorial Assignment 6 - Design your feature
Tuesday 10/19 Testing Slides Find and read a JUnit tutorial
Thursday 10/21 Testing & Analysis
Slides
Data flow
Regression testing
Assignment 7 - Unit tests and begin implement your feature
Tuesday 10/26 Configurations Management & Version control Configuration Mgmnt
Find and read a version control tutorial, such as for SVN
Update the class on your feature development
Thursday 10/28 Software Processes Spiral process
Extreme programming
Assignment 8 - Test plan, Update the class on your feature development
Tuesday 11/02 No Class Work on your feature and prepare your usability test for next week. Usability instructions
Thursday 11/04 HCI activity on project Assignment 9 - First delivery of feature, Update test plan to include usability tests
Tuesday 11/09 TBA - probably no class
Thursday 11/11 TBA - probably no class Assignment 10 - Second delivery of feature
Tuesday 11/16 Ubiquitous Computing TBA
Thursday 11/18 Software Engineering and Embedded Systems TBA Assignment 11 - Testing & Debugging report
Tuesday 11/23 Traceability TBA
Thursday 11/25 No Class Assignment 12 - Update all previous docs to reflect actual software
Tuesday 11/30 TBA
Thursday 12/02 TBA Assignment 13 - Finish up any loose ends
Tuesday 12/07 Practice demo
Thursday 12/09 No Class
Final Presentations
Location: Gore Hall 204
Time: TuTh 5:00 - 6:15 PM

Course Links