CS 493 Course Information


Professor: 
Email Address: 
Office Location: 
Strain 203C
Office Hours: 
Mon, Tues 10:30 - 11:30am
Thu 1:30-2:30pm
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 step3. Next semester you will complete the remaining steps.

Schedule:



Date

Topics
Homework & Assignments

Notes
Week 1
Aug 26
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
Aug 28
Continue discussing project ideas
DUE: daily stand-up

OUT: project proposal
References format

Writing for Computer Science
Week 2
Sep 2
Defining project goals and the point of the project
Writing project proposals
Elevator pitch
DUE: daily stand-up Developing your project proposal
Sep 4
Software development process and planning:agile, scrum, sprint, stand-up, epic, user story, scrum master
Sprint retrospective / next sprint planning
DUE: daily stand-up
DUE: first draft of project proposal

Week 3
Sep 9
Introduction to ScrumDo
DUE: daily stand-up Scrum Master: Shereen
Sep 11

Individual meetings
DUE: daily stand-up
DUE: final project proposal

Week 4
Sep 16
User stories and acceptance criteria

Project proposal peer review

DUE:
daily stand-up


User Stories
Sep 18

Acceptance Criteria
DUE: daily stand-up
DUE: backlog contains

Acceptance Criteria
Week 5
Sep 23


Sprint retrospective / next sprint planning
DUE: daily stand-up
DUE: All user stories have acceptance criteria
Scrum Master: Troy
Sep 25
Epics
DUE: daily stand-up
Week 6
Sep 30

Estimation
DUE: daily stand-up
DUE: Add epics to the backlog

Oct 2



DUE: daily stand-up
Week 7
Oct 7
Sprint retrospective / next sprint planning DUE: daily stand-up Scrum Master: Ben
Oct 9
Topic Lead: Ryan, Kai
DUE: daily stand-up
Week 8
Oct 14
12 steps to better code
Bug tracking in agile
DUE: daily stand-up
Oct 16
Topic Lead: Ben, Josh
DUE: daily stand-up
Week 9
Oct 21
Sprint retrospective / next sprint planning
DUE: daily stand-up Scrum Master: Josh
Oct 23
Class cancelled because of workshop at Nike DUE: daily stand-up
Week 10 Oct 28
Introduction to refactoring
DUE: daily stand-up
Oct 30
Topic Lead: Troy DUE: daily stand-up
Week 11 Nov 4
Sprint retrospective / next sprint planning DUE: daily stand-up Scrum Master: Kai
Nov 6
Refactoring Ben's code

DUE: daily stand-up
Week 12 Nov 11
Refactoring video rental example:
Customer.java
Main.java
Movie.java
Rental.java
DUE: daily stand-up
Nov 13
Unconscious bias
1 - Complete at least one test (preferably 2) from Project Implicit. Be prepared to describe the test that you took.
2 - What are examples of unconscious bias
3 - Are all biases bad? Can you give an example of a good bias?
4 - How important are structured interviews vs. finding the best 'fit'?
5 - What one action will you take to try to overcome unconscious bias?
6 - What is micro aggression? Research an example that is different than the one given in the video.
7 - What is stereotype threat? How does it affect the hiring into technology jobs?
DUE: daily stand-up
Week 13 Nov 18
Sprint retrospective / next sprint planning DUE: daily stand-up Scrum Master: Ryan
Nov 20
Practice presentations: Troy, Kai
DUE: daily stand-up
Week 14 Nov 25
Practice presentations: Ben, Josh, Ryan
DUE: daily stand-up
Assigned: Final Report

Nov 27
No Class - Thanksgiving


Week 15
Dec 2
Sprint retrospective / next sprint planning DUE: daily stand-up
Dec 4
12pm - Final Presentations
DUE: Final Report