CS 493 Course Information


Professor: 
Email Address: 
Office Location: 
Strain 203C

Software Engineering

The goal of this course is to help you get a good start on your project and to become a responsible,productive software programmer. The purpose of this course is to complete the design of your senior project and to begin implementing it. There are six main phases to completing your project:
  1. Requirements analysis
  2. High level design
  3. Implementation
  4. Testing
  5. Analysis of results
  6. Final report
During this semester you will complete steps 1 and 2 and start on step 3. Next semester you will complete the remaining steps.

Schedule:



Date

Topics
Homework & Assignments

Notes and Reading
Week 1
Aug 29
What is a senior project?

What ideas do you have for a project?

How do you come up with a project?
OUT: Project Ideas
The New Methodology

Syllabus
Aug 31


Project topics
DUE: Project Ideas

OUT:
Background research, supporting documentation, and elevator pitch
Planning your Project
Week 2
Sep 5
Elevator pitch
DUE: Background research Writing for Computer Science

References

Developing your project proposal
Sep 7
Finalizing the projects

Defining project goals and the point of the project

Writing project proposals




OUT: Project Proposal

Computer Science Writing Style


Week 3
Sep 12
Peer review of writing


Sep 14
Introduction to scrum software

Software engineering methodologies
Software development process and planning:agile, scrum, sprint, stand-up, epic, user story, scrum master
Sprint retrospective / next sprint planning
DUE: draft project proposal

Week 4
Sep 19
Introduction to ScrumDesk

Project proposal feedback




Sep 21
User stories and acceptance criteria

Acceptance Criteria
DUE: project proposal
User Stories

Acceptance Criteria
Week 5
Sep 26
Sprint Planning:
- Assign stories to sprints
- Assign tasks to the stories for this sprint
- Assign users to tasks


DUE: All user stories have acceptance criteria
Scrum Master:
Sep 28
Size stories
Set up software in lab
DUE: daily stand-up
Week 6
Oct 3
Sprint burndown charts

DUE: daily stand-up

Oct 5
Topic Lead: Shereen
DUE: daily stand-up
Week 7
Oct 10
Sprint retrospective / next sprint planning DUE: daily stand-up
DUE: Add epics to the backlog
Scrum Master: 
Oct 12
Topic Lead:
DUE: daily stand-up
Week 8
Oct 17
Refactoring
DUE: daily stand-up
Oct 19
Topic Lead:
DUE: daily stand-up
Week 9
Oct 24
Sprint retrospective / next sprint planning
DUE: daily stand-up Scrum Master: 
Oct 26
Topic Lead: DUE: daily stand-up
Week 10 Oct 31
Refactoring Exercise
DUE: daily stand-up
Nov 2
Topic Lead: DUE: daily stand-up
Week 11 Nov 7
Sprint retrospective / next sprint planning DUE: daily stand-up Scrum Master: 
Nov 9

Topic Lead:
DUE: daily stand-up
Week 12 Nov 14
Programming Interviews
DUE: daily stand-up
Nov 16
 Discussion on presentations and final report
One-on-one meetings
DUE: daily stand-up
Week 13 Nov 21
Sprint retrospective / next sprint planning DUE: daily stand-up Scrum Master: 
Nov 23
No Class - Thanksgiving


Week 14 Nov 28
Practice presentations:
DUE: daily stand-up


Nov 30
Practice presentations
DUE: daily stand-up
Week 15
Dec 5
Sprint retrospective / next sprint planning DUE: daily stand-up