Class #1 Outline

I will usually slice our 4 hour journey into 3 lectures. This way, we can all fool ourselves into thinking that we're going to three classes, rather than one marathon 4 hour session. Yes?

Anyway, our Larman text muses OO analysis is an effort to "do the right thing", while OO design is an effort to "do the thing right". Let's find out what he's talking about...

Oh, one last thing. I love the quote in Larman, page 47, because it is so appropriate to our class:

"The best is the enemy of the good"
- Voltaire

1.1 Intro, Homework and Reading

I'm planning on usually starting the morning with a discussion of our reading and our homework assignment.

  • Welcome
    • Me, my philosophy
    • Class goals and motivation
    • 2 texts: examples (CAD program, ATM, Monopoly)
    • Syllabus
  • DPE Ch 2 UML
  • Homework #1 discussion, part 1

1.2 OO Principles, and coding review

Introduction to the motivation and the basics of OO design.

  • DPE Ch 1 OO Paradigm
  • OO Principles (congealed from many sources and experience)
  • Review language-specific OO concepts you should know from Java and/or C++ 

1.3 Design Patterns

Introduction to patterns and then we'll discuss a couple.

  • DPE Ch 5 Intro to Patterns
  • Homework #1 discussion, part 2
  • DPE Ch 9 The Strategy Pattern
  • OO design problem: Weather-O-Rama
  • We'll add a couple more patterns to your toolkit

1.4 Wrap

We'll end each Saturday with a review of next week's TODO's. I anticipate (ha!) being around for as long as you need me on Saturday afternoon. This probably won't be an issue after the first class, but it may be of use to you later.

  • Next week's reading will be heavy on analysis:
    • Larman Ch 1 OO Analysis and Design
    • Larman Chs 3 - 7 Requirements Specification and Use Cases
    • Larman Ch 9 Domain Models
  • Next week's scanning... we are so pressed for lecture time, that I will probably ask you to scan certain chapters so that you don't come into lecture cold. Sorry.
    • Do I have any? Sane a couple patterns that aren't in HW #1/#2?
  • Homework #2