About This Course

Goals

There are three deliverables for this course.

  • Your team project
  • Your client project
  • You and your team

The third is what matters in the long run.

Topics

Technologies
half-life: 2 years
React, React Native, React Testing Library, Github, Github Actions, Trello, Cypress, ...
Agile
half-life: decades
iteration, timeboxes, TDD, velocity, and much more

Other courses have learning goals.

This course has un-learning goals.

Un-Learning Goals

Things to un-learn about team work:

  • Work on what you know best.
  • Divide up the work to get the most done.
  • Work on many things at once.
  • Assign everyone tasks at the start of each week.
  • Plan for a big final push.

Un-Learning Goals

Things to un-learn about software development:

  • Get all the requirements first.
  • Start with the architecture.
  • Start with a low-fidelity mockup.
  • First implement login, then data entry, then ...
  • Measure progress by time spent, code written.

How the course works

Activities

This is a learn-by-doing class. No exams.

Two projects Weekly iterations, prototype (not mockup) demo in a week
Individual activities Technical tutorials, retrospectives

Online Tools

394 web site Public resources: slides, task descriptions, tutorials, links, ...
Canvas Class resources: assignments, shared documents, scores, ...
Google Drive Shared presentations and progress spreadsheets
Piazza Announcements, discussions, links
394 Github organization Project repos, team data

Grading

Components

Component Calculation
Team 75 points × score from team 360° reviews
Individual 25 points × participation on individual assignments and class activities

Team Reviews

  • Weekly self + team reflections, comments, and scores
  • Equal emphasis on contribution to development of team and app
  • Team review based on self reviews and data!
  • Goal: continuous improvement

Individual Activities

  • Individual coding tasks, e.g., coding and running unit tests
  • In-class activities and discussions

Thanks to Hakim El Hattab for RevealJS