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.

Things to un-learn about team work

  • If you're lucky, you get a good team.
  • The point of a team is to divide up the work.
  • Everyone should work on what they know best.
  • The team should work on many things in parallel.
  • The team should assign everyone tasks at the start of each week.
  • A large team should split it into front-end and back-end subteams.

Thing to un-learn about product development

  • First you should collect all requirements.
  • Then you should design all the screens.
  • Build the must-have's first, e.g., login, user profiles, database...
  • Measure project progress by code written.
  • Plan for a big push at the end.

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
Campuswire Announcements, discussions, links
394 Github organization Project repos, team data

Thanks to Hakim El Hattab for RevealJS