SWE 2410 Weekly Outcomes, Fall 2025

Weekly, detailed outcomes for SWE 2410. See the course notes for additional detail. Week numbers are provided, but many topics will be the week before or a week later.

The overall structure of the course, with Bloom’s Taxonomic level in parentheses:

  1. Choosing classes to capture in designs: domain-driven development (Analysis)
    • Understanding requirements vs. design
    • Understanding classes using RIBS: Responsibilities, Identity, Behavior, and State
    • Using UML class and sequence diagrams to capture designs (Application)
    • Using UML at requirements, design, and implementation levels
  2. Coupling and cohesion as it relates to OO designs (Analysis)
  3. Design patterns: capturing common solutions (Application)
    • What is a design pattern?
    • Key design principles related to patterns:
      • DRY: Don’t Repeat Yourself
      • Programming to interfaces rather than implementations
      • Classes should be open to extension, closed to modification
      • Liskov Substitution Principle
    • Applying MVC to structure projects
    • Implementing several design patterns: Strategy, Observer, Decorator, Command
  4. Thread-based programming (Understanding)
    • What are threads
    • How synchronize can control concurrent access to shared memory
  5. Cloud computing concepts (Remembering)
  6. Cloud patterns (Applying)
  7. Additional design patterns (Understanding)
    • Coverage of well-known patterns with the additional goal of illustrating how patterns would be presented (see next bullet)
    • Currently covered: Adapter, Facade, Composite, Factory
    • Optional: Proxy, Iterator
  8. Student presentations of a pattern with illustrating code
    • This is a group project worth 10% of their grade
    • Groups are created midterm, and class and lab time is allocated for additional work
    • Bloom’s level: Analyzing the pattern
    • Practical impact: experience presenting technical material

Note that many of these topics are introduced early and reiterated throughout the course. In addition, the course has a heavy empahsis on using Git and participating in small teams (2–4 students) on projects.

Week 1: Motivating design, Introduction for Strategy Pattern

Week 2: Design principles, RIBS

Week 3 and 4: Coupling, Cohesion

Week 5: Decorator Pattern

Week 6: Observer Pattern

Week 7: MVC

Week 8: Command Pattern

Week 9: Threads

Week 10: Cloud Computing

Week 11: Midterm, Cloud Computing

Week 12: Cloud Computing

Week 13: Additional patterns: Adapter, Facade

Week 14: Composite, Factory

Week 15: Presentations, Final