Full Static Course Package

Software Design & Principles

This is the full TeqVault Study course version: complete lesson notes, worked examples, labs, quizzes, assignments, student notes, progress tracking, a capstone handbook, and instructor guide. No framework. No npm. No build step.

14 Full Lessons

Each week includes lecture notes, examples, lab steps, assignment, discussion prompts, and quiz questions.

70 Quiz Questions

Every lesson has a 5-question checkpoint and the quiz bank page collects all questions by week.

Real Capstone

Students build a small but clean system with requirements, diagrams, tests, design pattern, and presentation.

Course Map

Open any week below. Student progress is stored locally in the browser.

Week 1

What Software Design Really Means

Design is the structure that lets working code survive change.

software designarchitecturemaintainabilityreadability
Open Lesson
Week 2

Requirements, Constraints, and Acceptance Criteria

You cannot design well until you understand the problem well.

functional requirementnon-functional requirementuser storyacceptance criteria
Open Lesson
Week 3

Decomposition, Modularity, Cohesion, and Coupling

Large systems become manageable when responsibilities are separated cleanly.

modulecomponentseparation of concernscohesion
Open Lesson
Week 4

Object-Oriented Design That Does Not Fight You

Classes should protect rules, express concepts, and collaborate cleanly.

classobjectencapsulationinvariant
Open Lesson
Week 5

SOLID Part 1: SRP, OCP, and LSP

The first three SOLID principles help you avoid classes that break when requirements change.

Single Responsibility PrincipleOpen/Closed PrincipleLiskov Substitution Principleextension point
Open Lesson
Week 6

SOLID Part 2: Interfaces, Dependency Inversion, and Testability

Design improves when high-level rules stop depending directly on low-level details.

Interface Segregation PrincipleDependency Inversion Principledependency injectionabstraction
Open Lesson
Week 7

DRY, KISS, YAGNI, and Naming

Simple design is not lazy design. It is disciplined design.

DRYKISSYAGNIpremature abstraction
Open Lesson
Week 8

UML and Practical Design Diagrams

A useful diagram explains one idea clearly.

UMLclass diagramsequence diagramcomponent diagram
Open Lesson
Week 9

Design Patterns Part 1: Strategy, Factory, Observer, Singleton

Patterns are tools for recurring design problems, not decorations.

design patternStrategyFactoryObserver
Open Lesson
Week 10

Design Patterns Part 2: Adapter, Decorator, Command, Repository, MVC/MVVM

Some patterns help connect systems, extend behavior, and separate application layers.

AdapterDecoratorCommandRepository
Open Lesson
Week 11

Testing and Testable Design

If important behavior is hard to test, the design is probably telling you something.

unit testintegration testend-to-end testmock
Open Lesson
Week 12

Software Architecture Basics

Architecture is the system’s big shape and its most important boundaries.

architecturelayered architectureclient-serverAPI
Open Lesson
Week 13

Refactoring, Code Smells, and Technical Debt

Improve design without changing external behavior.

refactoringcode smelltechnical debtgod class
Open Lesson
Week 14

Final Design Review and Professional Presentation

A designer must explain not only what was built, but why it was built that way.

design reviewtradeoffrationalepresentation
Open Lesson