Date

Lecture and Lab

Assignments

wk 1
Tues
3/30

Lecture:
Introduction to Software Engineering;
class mechanics.

Project:
Project expectations and deliverables;
team advice.

wk 1
Thurs
4/1

Lecture:
Software reverse-engineering;
software development processes, methodologies.

Project:
Project selection expectations;
architecture expectations
Project:
  • Join/create a project team either before/in/right after class.

Review:

  • Lifecycle Planning, Chapter 7 of Rapid Development, by Steve McConnell, Microsoft Press, 1996, p. 133-161.
    (Check out the guidelines for writing and submitting reviews.)
Read:

wk 2
Tues
4/6

Lecture:
Software project management,
software risk analysis

Project:
Outline presentation expectations

Project:
  • Choose a project for your team
  • Submit Project Selection document

Review:

Read:

wk 2
Thurs
4/8

Lecture:
Scenarios, requirements

Project:
Scenario expectations

Presentations:
Project outlines

Lecture Slides

Project:
  • Submit Software Architecture document
  • In-class Project Outline presentation (5 minutes each)
Review: Read:

wk 3
Tues
4/13

Lecture:
Requirements specification and analysis

Project:
Requirements expectations

Homework:
Hand out Homework #1

LAB (TA):(Mon/Tues/Wed)
SVN/DForge tutorial
config control expectations

Lecture Slides

Project:
  • Submit Scenarios document

Review:

wk 3
Thurs
4/15

Lecture:
User interface design,
paper prototyping,
GUI bloopers

Project:
Time & risk expectations

Lecture Slides
Project:
  • Create a DForge site for your project
  • Submit Configuration Control document

Review:

  • Budget Tracking, from Object-Oriented Project Management with UML, Murray Cantor, Wiley 1998 pp. 304-311

wk 4
Tues
4/20

Lecture:
Software architecture

Project:
Overview presentation expectations

Lecture Slides
Project:
  • Submit Requirements document

Homework: Turn in Homework #1 at beginning of class

Read: Read:

wk 4
Thurs
4/22

Lecture:
Teamwork

Some lecture notes
Project:
  • Submit Time estimate & risk analysis document

Review:

  • Fundamentals of Software Engineering, Sections 2.1, 2.2 (pp 17-36, Software: Its Nature and Qualities) and Chapter 3 through Section 3.5 (pp. 43-53 Software Engineering Principles), Carlo Ghezzi, Mehdi Jazayeri, Dino Mandrioli, Prentice-Hall, 1991.

wk 5
Tues
4/27

Project:
User Manual expectations
Design document expectations
Lecture slides

Presentations:
Project overview
Black Diamond
WINAG
Ricochet
Pardon our French(not yet)
L8 Buffet
Dyve

LAB (TA):(Mon/Tues/Wed)
Exam #1 review session

Project:
  • In-class Project Overview presentation (~10 minutes each)

Read:

wk 5
Thurs
4/29

Lecture:
Software design, abstraction, modularity
Lecture slides

Guest Lecture:
Raymie Stata on the Architecture of Bloomba

Exam: Hand out home Exam #1

Project:
  • User manual

Review:

wk 6
Tues
5/4

Lecture:
Software design:
Decomposition, example
Lecture slides

Exam: Turn in take home Exam #1 at beginning of class

Read:

wk 6
Thurs
5/6

Lecture:
Design patterns
Lecture slides

Project:
ATP expectations

Project:
  • Design document

Read:

wk 7
Tues
5/11

Lecture:
Inspection video
Asserts, exceptions
Lecture slides

Project:
Software Inspections expectation

Homework:
Hand out Homework #2

Read: Also see Sun's documentation on asserts.

wk 7
Thurs
5/13

Lecture:
Testing, black box testing, JUnit

Best practices, esp Swing Lecture slides

Project:
  • Acceptance test plan

Read:

wk 8
Tues
5/18

Lecture:
White box testing, test coverage
Paper prototyping video
Lecture slides

Project:
  • Software inspections will be run this week

Review:

  • Software Aging, D.L. Parnas, Proc. 16th International Conference on Software Engineering, Sorrento, Italy, May 16 - 21 1994, pp. 279-287.

wk 8
Thurs
5/20

Lecture:
Static checking tools:
Types for concurrency,
Extended static checking,
Model checking
Lecture slides

Homework: Turn in Homework #2 at beginning of class

Read:

wk 9
Tues
5/25

Guest Lecture:
Erik Hilsdale on Aspect-Oriented Programming

Exam:
Hand out EXAM #2 (due 6/3)

Read:

wk 9
Thurs
5/27

Lecture:
Performance, Evolution, Agile processes

Lecture slides

Review: Read:

wk10
Tues
6/1

Presentations:
Final project presentations

Lecture slides

WINAG slides

Black Diamond slides

Pardon Our French slides

Project:
  • In-class Final Project presentations (~20 minutes each)
  • Acceptance Test Performance this week

wk10
Thurs
6/3

Lecture:
Course wrapup and instructor eval

Presentations:
Final project presentations

Ricochet slides

L8 Buffet slides

DYVE 2 slides

Project:
  • In-class Final Project presentations (~20 minutes each)
  • Acceptance Test Performance this week
  • Submit Final project notebook

Exam: Turn in take home Exam #2 at beginning of class

Review: