Software Engineering Design Symposium 2012

Software Engineering Design Symposium 2012

Today, fourth-year Software Engineering students showed off the fourth-year design projects they’ve been working on over the last three terms, demonstrating the scope of what they’ve learned over the past five years they’ve spent at the University of Waterloo.

Michael’s Picks

For future reference, here are a few that I liked:

Team 5: Synthesizing Iterators from Declarative Abstraction Functions (Whyness)

  • Research-focused
  • Code that generates code
  • Elegant poster

Team 6: Locally Integrated Multi-Brain Systems (Causal)

  • Pretty colours!
  • Real client: professor from political science dept.
  • Feels like “magic”
  • Clever undo/redo architecture to handle black-box components (not just command or memento patterns)

Team 7: Pathways (Deferred)

  • Proxy client: real client in London, UK; local professor with domain knowledge represented during meetings
  • Replicated diagrams shown in client’s research papers; added graphical editing (direct manip.)

Team 10: Verifyy

  • Chopsticks (tactile prop) for demo – keeps visitors engaged

Team 18: Chronostation (Symphony)

  • Branching undo/redo/replay for learning how to draw
  • Reasonably simple mental model
  • Rough around the edges wrt UX, but functionally complete

Tips From 4Bs

  • Start early
  • Choose members based on shared interests
    • Temptation to choose people you already know
    • Friends might not be equally invested in your project ideas / your interests
      • Work might not be distributed evenly if someone isn’t passionate
  • Communicate expectations clearly and regularly
    • What technologies used?
    • Level of familiarity with technologies, on-boarding time
      • e.g. Should you really use django if you’re the only person on your team that knows Python?
    • What got done this week (ala scrum/agile)
  • Meet often
    • Living together ⇔ impromptu meetings
    • Telecommuting ⇔ out of sight, out of mind
  • Coordinate electives
    • If everyone takes real-time (trains), shared deadlines will be stressful
  • Research competitors early
    • Helps avoid late-stage (i.e. 4A) redesigns
  • Have a good client
  • Ladies: During symposium, wear comfortable shoes (flats, not heels!)
    • Standing for a good eight to ten hours; grad ball the next night in the worst case