Friday, April 28, 2023

What we learned in CS222: Spring 2023 edition

Today was the last day for me to talk to my CS222 class. Monday's class will be their final presentations back to me. As part of my wrap-up, I kept my tradition of having the students make a list of what they learned and then voting on the things that are the most important to them. This year's CS222 class came up with 99 items in 15 minutes. I gave each of then six stickers for voting. The winners are:

  • TDD (6)
  • Version Control (6)
  • Clean Code (5)
  • Red-Green Refactor (5)
  • git & GitHub (4)
One could argue that there are two pairs in that list that are essentially equivalent. There was only one item with four votes and many with three, though, and so this was a convenient place to draw the line.

For the deeply curious (or future self who wishes access to these data for research purposes), here's the complete list of items the students came up with and their vote totals. 
  • TDD (6)
  • Version Control (6)
  • Mob Programming
  • CRC Cards
  • Meaningful Iterations
  • Model-view separation (2)
  • Dart (1)
  • Flutter (2)
  • Studio
  • Clean Code (5)
  • Teamwork
  • Agile
  • SRP (2)
  • Prioritization
  • Google is your Friend (1)
  • Stack Overflow (2)
  • Defensive Programming (2)
  • OOP (1)
  • APIs (1)
  • Legibility
  • git & GitHub (4)
  • UI stuff (1)
  • Branch management (1)
  • Time management (1)
  • Error correction
  • Data modeling
  • Diagnosing
  • Debugging (1)
  • Breakpoints (2)
  • Refactoring
  • Accountability
  • Hot keys
  • User stories (1)
  • SMART
  • Product delivery (1)
  • Finding packages
  • Researching over invention (1)
  • Human success & failure modes
  • Change notifier
  • Enumerated types
  • Acceptance testing (3)
  • Red Green Refactor (5)
  • Conditions of Satisfaction (1)
  • Humble view
  • Essay formatting
  • Experimental code (2)
  • Learning tests (3)
  • Production code
  • When are we done?
  • Human interaction (1)
  • Generalization
  • Class work vs career work
  • Design thinking (1)
  • Formatting
  • Take a break and come back
  • Fonts
  • Utilizing professor's feedback
  • Async
  • Work distribution
  • Managing state (3)
  • Widgets
  • DRY (2)
  • Scaffolding in UI Design
  • Mobile vs Desktop views
  • Releases (e.g. EXEs)
  • GitHub Actions (2)
  • Tagged releases
  • Commit messages (1)
  • Merging vs Rebasing
  • Lifetime Learning
  • Test coverage
  • Format on Save (1)
  • Rollbacks
  • Feature branches
  • Shelving (2)
  • Commit conventions
  • JSON data
  • Switch
  • gitignore (2)
  • Key management
  • Presentations
  • Null safety
  • Futures
  • pubspec.yaml
  • Minimizing state
  • "late" variables
  • Flutter template
  • Pop
  • Prepping for internship
  • Professionalism
  • Resume crafting
  • Separating classes
  • Android manifests
  • Overflow boxes
  • Team communication tactics (1)
  • Public accessibility / licensing
  • Group discussion (3)
  • Teaching a lesson
  • README files (1)

No comments:

Post a Comment