Bring in real stories about software, specifically games, sometimes going wrong! It is important for students to learn that development usually takes more than just a day and there is no ultimately correct solution.

  • A great example of software engineering failure is the Denver Airport Computerized Baggage Handling Software.
  • Use recently rolled-out video games that need a lot of patches as examples of software engineering problems, like Assassin’s Creed Unity which launched in 2014, to promote understanding of the important software development topics.
  • Search for examples that would or could directly involve your students.
    • Location based examples or one’s that impact activities and items they engage with everyday allow students to really connect to the story.
  • There are great examples in the book: Java Software Solutions: Foundations of Program Design by Lewis and Loftus
  • Use a recent example from the news or popular culture to discuss:
    • the importance of debugging, software design, and testing.
    • how online software distribution gives software engineers the potential to patch buggy versions of code.
    • does the advent of the web allow unfinished software to be released, or is unfinished software released due to increasing complexity (e.g. a game today requires hundreds of thousands of lines of code; ten years ago, not so much)?
      • This is a great question for a lively debate.