Design Principles

Learning Goals

Students will:

  • Research and articulate different programming principles

Part 1: Research (10 mins)

Count off into groups of 6. Each group of 1-6 will go their separate ways for now, but will come back together later. Remember who your group is, then go to your topic group (all the 1’s should be together, 5’s together, etc.)

For each of the following topics, work with your topic group to research the following:

  1. Code Smells
  2. Single Responsibility Principle
  3. Abstraction
  4. Encapsulation
  5. Law of Demeter
  6. DRY/YAGNI

Part 2: Solidify & Communicate (15 mins)

Each group should make a Chart Paper summarizing the assigned principle and why it is important. Examples, analogies, and diagrams are encouraged!

Part 3: Share (20 mins)

Come back together with your 1-6 group. Each member should have researched a different topic. You are now the expert - take 2 minutes to share the following on your topic:

  1. What is it?
  2. Why is it important?