CS 493 Course Information


Professor: 
Email Address: 
Office Location: 
Strain 203C
Office Hours: 
Mon, Tues, Thu 2:00 - 3:00pm
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
Sep 1
What is a senior project?

What ideas do you have for a project?

How do you come up with a project?

Scrum Master: Shereen

The New Methodology

Planning your Project
Sep 3


Project topics
OUT: Background research
Writing for Computer Science

References

Developing your project proposal
Week 2
Sep 8


Elevator pitch
DUE: Investments

DUE: background research

Sep 10
Finalizing the projects

Defining project goals and the point of the project

Writing project proposals




OUT: Project Proposal

Computer Science Writing Style

Usability Goals
Week 3
Sep 15


Scrum Master: Shereen
Sep 17
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 22
Introduction to ScrumDesk

Project proposal feedback




Sep 24
User stories and acceptance criteria

Acceptance Criteria
DUE: daily stand-up


User Stories

Acceptance Criteria
Week 5
Sep 29
Sprint Planning:
- Assign stories to sprints
- Assign tasks to the stories for this sprint
- Assign users to tasks
DUE: project proposal

DUE: All user stories have acceptance criteria
Scrum Master: Nicole & Evan
Oct 1
Size stories
Set up software in lab
DUE: daily stand-up
Week 6
Oct 6
Sprint burndown charts

DUE: daily stand-up

Oct 8
Topic Lead: Shereen
DUE: daily stand-up
Week 7
Oct 13
Sprint retrospective / next sprint planning DUE: daily stand-up
DUE: Add epics to the backlog
Scrum Master: 
Oct 15
Topic Lead: Abby, Kelsey
DUE: daily stand-up
Week 8
Oct 20
Refactoring
DUE: daily stand-up
Oct 22
Topic Lead: Lauren, Kevin Jian
DUE: daily stand-up
Week 9
Oct 27
Sprint retrospective / next sprint planning
DUE: daily stand-up Scrum Master: 
Oct 29
Topic Lead: Bri, Jacob DUE: daily stand-up
Week 10 Nov 3
Refactoring Exercise
DUE: daily stand-up
Nov 5
Topic Lead: Alex, Nicole DUE: daily stand-up
Week 11 Nov 10
Sprint retrospective / next sprint planning DUE: daily stand-up Scrum Master: 
Nov 12

Topic Lead: Evan, Kevin Jo
DUE: daily stand-up
Week 12 Nov 17
Programming Interviews
DUE: daily stand-up
Nov 19
 Discussion on presentations and final report
One-on-one meetings
DUE: daily stand-up
Week 13 Nov 24
Sprint retrospective / next sprint planning DUE: daily stand-up Scrum Master: 
Nov 26
No Class - Thanksgiving


Week 14 Dec 1
Practice presentations:
DUE: daily stand-up


Dec 3
Practice presentations
DUE: daily stand-up
Week 15
Dec 8
Sprint retrospective / next sprint planning DUE: daily stand-up
Dec 9
12pm - Final Presentations
DUE: Final Report