Level 8 · Module 34

Software Design

A structured module covering the essential ideas of software design.

Difficulty
intermediate
Published path
8 lessons · 80 min

What you will learn

  • Separation of concerns
  • Modularity
  • Coupling
  • Cohesion
  • Abstraction
  • Interfaces
  • Dependency inversion
  • Composition
Prerequisites:Git & Version Control

Start here

Lessons · 80 min

  1. Separation of concernsPlanned

    Planned lesson: Separation of concerns. This lesson has not been written yet.

    10 min · intermediate
  2. ModularityPlanned

    Planned lesson: Modularity. This lesson has not been written yet.

    10 min · intermediate
  3. CouplingPlanned

    Planned lesson: Coupling. This lesson has not been written yet.

    10 min · intermediate
  4. CohesionPlanned

    Planned lesson: Cohesion. This lesson has not been written yet.

    10 min · intermediate
  5. AbstractionPlanned

    Planned lesson: Abstraction. This lesson has not been written yet.

    10 min · intermediate
  6. InterfacesPlanned

    Planned lesson: Interfaces. This lesson has not been written yet.

    10 min · intermediate
  7. Dependency inversionPlanned

    Planned lesson: Dependency inversion. This lesson has not been written yet.

    10 min · intermediate
  8. CompositionPlanned

    Planned lesson: Composition. This lesson has not been written yet.

    10 min · intermediate

What you will cover

Module units

  1. Separation of concerns

    A planned unit covering Separation of concerns.

  2. Modularity

    A planned unit covering Modularity.

  3. Coupling

    A planned unit covering Coupling.

  4. Cohesion

    A planned unit covering Cohesion.

  5. Abstraction

    A planned unit covering Abstraction.

  6. Interfaces

    A planned unit covering Interfaces.

  7. Dependency inversion

    A planned unit covering Dependency inversion.

  8. Composition

    A planned unit covering Composition.