Module · 5 lessons

Engineering Foundations

The core principles behind maintainable software, the five SOLID principles, the software development lifecycle, and the methodologies teams use to run it, all through Ledgerly, a small invoicing app.

At a glance

Level
Beginner
Lessons
5 lessons
Time to complete
1 week
Cost
Free forever · no sign-up

Welcome to Engineering Foundations, the first module of the Software Engineering Fundamentals course. Here you’ll build the mental toolkit every later module assumes you already have: the difference between code that merely works and code that stays easy to change. You’ll learn six core principles — modularity, abstraction, encapsulation, DRY, KISS, and YAGNI — then go deeper into object-oriented design with the five SOLID principles.

From there, you’ll zoom out from individual classes to the whole process of building software: the six phases of the software development lifecycle, and the methodologies — Waterfall, Scrum, Kanban — teams use to move through them. The module ends with a guided project where you plan and build one real feature for Ledgerly, a small invoicing and subscription-billing app for freelancers, from a rough idea to a tested, SOLID-respecting code skeleton.

Every code example in this module runs for real. Start with Lesson 1, where you’ll meet Ledgerly’s codebase and the principles that keep it maintainable.

Lessons in this module

Achievement

Complete all 5 lessons to finish the Engineering Foundations module.

Start module
Sponsor

Keep DATATWEETS free. Help fund practical data, AI, and engineering lessons for learners worldwide.

Buy Me a Coffee at ko-fi.com