Back to current lesson
All lessons

Curriculum

Module 0 — Ubuntu Working Environment

Unit 1 — Machine and Tool Setup

Lesson 1 — Core Developer Tools
5 topics
Unfinished
Lesson 2 — Project Workspace Setup
4 topics
Unfinished

Unit 2 — Command-Line Basics

Lesson 1 — Using the Terminal
4 topics
Unfinished
Lesson 2 — Filesystem Basics
8 topics
Unfinished

Unit 3 — Project Hygiene Basics

Lesson 1 — Repository and Environment Hygiene
7 topics
Unfinished
Lesson 2 — Basic Debugging Workflow
5 topics
Unfinished

Module 1 — Developer Foundations

Unit 1 — Terminal and Operating System Basics

Lesson 1 — Shell Navigation and File Work
4 topics
Unfinished
Lesson 2 — System Access and Environment
3 topics
Unfinished
Lesson 3 — Terminal Productivity
3 topics
Unfinished

Unit 2 — Git Workflow Fundamentals

Lesson 1 — Core Git Actions
4 topics
Unfinished
Lesson 2 — Branching and History Management
4 topics
Unfinished
Lesson 3 — Git Under Real Work
3 topics
Unfinished

Unit 3 — JavaScript Programming Basics

Lesson 1 — Core Language Syntax
3 topics
Unfinished
Lesson 2 — Control Structures
3 topics
Unfinished
Lesson 3 — Functions and Data Structures
4 topics
Unfinished

Unit 4 — Problem-Solving and Systems Awareness

Lesson 1 — Basic Computational Thinking
2 topics
Unfinished
Lesson 2 — Basic Networking and Processes
21 topics
Unfinished

Module 2 — JavaScript Runtime and Network Behavior

Unit 1 — Deeper JavaScript Behavior

Lesson 1 — Scope and Object Model
3 topics
Unfinished
Lesson 2 — Asynchronous JavaScript
2 topics
Unfinished

Unit 2 — Runtime and Concurrency

Lesson 1 — Event Loop and Execution
3 topics
Unfinished
Lesson 2 — Processes, Threads, and Memory
4 topics
Unfinished

Unit 3 — HTTP and Transport Foundations

Lesson 1 — Transport and Security Basics
3 topics
Unfinished
Lesson 2 — Request Metadata and Flow
3 topics
Unfinished

Module 3 — TypeScript, Validation, and Backend Structure

Unit 1 — TypeScript Foundations

Lesson 1 — Core Type Modeling
6 topics
Unfinished
Lesson 2 — Runtime Validation and Type Inference
2 topics
Unfinished

Unit 2 — Code Organization and Application Structure

Lesson 1 — Layered Backend Structure
4 topics
Unfinished
Lesson 2 — Architectural Patterns
3 topics
Unfinished
Lesson 3 — Domain Modeling
2 topics
Unfinished

Unit 3 — Node.js Application Foundations

Lesson 1 — Node Runtime Interfaces
4 topics
Unfinished
Lesson 2 — Configuration Discipline
5 topics
Unfinished
Lesson 3 — Basic Server Construction
5 topics
Unfinished
Lesson 4 — Runtime Debugging
4 topics
Unfinished

Module 4 — HTTP APIs and Request Handling

Unit 1 — HTTP Fundamentals in Practice

Lesson 1 — Core Request Semantics
3 topics
Unfinished
Lesson 2 — Header and Cookie Handling
3 topics
Unfinished
Lesson 3 — Browser Interaction Rules
5 topics
Unfinished

Unit 2 — Routing and Flow Through a Backend

Lesson 1 — Middleware and Request Pipeline
10 topics
Unfinished

Unit 3 — Input Validation and Request Safety

Lesson 1 — Input Validation Strategy
4 topics
Unfinished
Lesson 2 — Request Size and Upload Safety
24 topics
Unfinished

Module 5 — API Design, Error Handling, and Testing

Unit 1 — API Design Quality

Lesson 1 — Resource and Response Design
5 topics
Unfinished
Lesson 2 — API Evolution and Write Safety
8 topics
Unfinished

Unit 2 — Error Handling Discipline

Lesson 1 — Internal Error Architecture
3 topics
Unfinished
Lesson 2 — Safe Public Error Exposure
3 topics
Unfinished

Unit 3 — Testing Fundamentals

Lesson 1 — Core Backend Testing
4 topics
Unfinished
Lesson 2 — Advanced Testing Awareness
2 topics
Unfinished

Unit 4 — Early Service Observability

Lesson 1 — Basic Service Visibility
5 topics
Unfinished

Module 6 — Relational Data and PostgreSQL

Unit 1 — SQL and Relational Modeling

Lesson 1 — Relational Structures
4 topics
Unfinished
Lesson 2 — SQL Querying
6 topics
Unfinished
Lesson 3 — Safe Query Construction
2 topics
Unfinished

Unit 2 — PostgreSQL Operations and Lifecycle

Lesson 1 — PostgreSQL Setup and Usage
2 topics
Unfinished
Lesson 2 — Migrations and Transactions
4 topics
Unfinished
Lesson 3 — Database Connections and Pooling
6 topics
Unfinished
Lesson 4 — Performance-Oriented Data Design
3 topics
Unfinished
Lesson 5 — Data Lifecycle and Recovery
5 topics
Unfinished
Lesson 6 — Query Plan Awareness
24 topics
Unfinished

Module 7 — Authentication, Authorization, and Application Security

Unit 1 — Authentication Systems

Lesson 1 — Session and Token-Based Authentication
5 topics
Unfinished
Lesson 2 — Account Recovery and Identity Flows
5 topics
Unfinished

Unit 2 — Authorization Design

Lesson 1 — Authorization Models
4 topics
Unfinished
Lesson 2 — Authorization Architecture
2 topics
Unfinished

Unit 3 — Abuse Resistance and Threat Modeling

Lesson 1 — Abuse Prevention Controls
5 topics
Unfinished
Lesson 2 — Threat Modeling Practice
5 topics
Unfinished

Unit 4 — Common Backend Vulnerabilities

Lesson 1 — Access and Request Vulnerabilities
5 topics
Unfinished
Lesson 2 — Web Security Risks
4 topics
Unfinished
Lesson 3 — Practical Cryptography Hygiene
25 topics
Unfinished

Module 8 — Logging, Debugging, and Observability

Unit 1 — Structured Logging

Lesson 1 — Logging Design
5 topics
Unfinished

Unit 2 — Observability Foundations

Lesson 1 — Core Observability Signals
4 topics
Unfinished
Lesson 2 — Availability and Runtime Signals
5 topics
Unfinished
Lesson 3 — Metrics Design
7 topics
Unfinished

Unit 3 — Failure Investigation

Lesson 1 — Debugging with Evidence
5 topics
Unfinished
Lesson 2 — Failure Analysis
5 topics
Unfinished

Module 9 — Background Work, Caching, and Service Boundaries

Unit 1 — Asynchronous Workflows

Lesson 1 — Queue and Job Processing
4 topics
Unfinished
Lesson 2 — Reliable Job Execution
8 topics
Unfinished

Unit 2 — Caching and Dependency Behavior

Lesson 1 — Caching and Fallbacks
4 topics
Unfinished

Unit 3 — Consistency and Architectural Boundaries

Lesson 1 — Distributed Consistency Patterns
4 topics
Unfinished
Lesson 2 — Service Design Boundaries
4 topics
Unfinished

Module 10 — Realtime Communication

Unit 1 — Raw WebSocket Foundations

Lesson 1 — WebSocket Basics
6 topics
Unfinished

Module 11 — Containers, Deployment, and Production Delivery

Unit 1 — Containerized Services

Lesson 1 — Container Construction
5 topics
Unfinished
Lesson 2 — Container Security and Runtime Behavior
5 topics
Unfinished

Unit 2 — Ubuntu Service Operations

Lesson 1 — Package and Service Management
4 topics
Unfinished
Lesson 2 — Port and Firewall Inspection
4 topics
Unfinished

Unit 3 — Deployment and Traffic Handling

Lesson 1 — Basic Production Deployment
5 topics
Unfinished
Lesson 2 — Network and TLS Configuration
4 topics
Unfinished
Lesson 3 — Secure Perimeter Configuration
7 topics
Unfinished

Unit 4 — CI/CD and Release Safety

Lesson 1 — Manual to Automated Delivery
3 topics
Unfinished
Lesson 2 — Automated Delivery Checks
6 topics
Unfinished
Lesson 3 — Safe Release and Shutdown
4 topics
Unfinished

Unit 5 — Single-Host Container Deployment

Lesson 1 — Compose-Based Deployment and Its Limits
11 topics
Unfinished

Unit 6 — Secrets Management Evolution

Lesson 1 — From `.env` to Centralized Secrets
28 topics
Unfinished

Module 12 — Performance, Concurrency, and Database Tuning

Unit 1 — Performance Investigation

Lesson 1 — Application Performance Analysis
6 topics
Unfinished
Lesson 2 — Database Telemetry
2 topics
Unfinished
Lesson 3 — Disk I/O and Access Patterns
6 topics
Unfinished

Unit 2 — Concurrency and Data Integrity

Lesson 1 — Concurrency Control
4 topics
Unfinished

Unit 3 — Advanced PostgreSQL Analysis

Lesson 1 — Query and Index Analysis
4 topics
Unfinished
Lesson 2 — Transactions, Isolation, and Locking
3 topics
Unfinished
Lesson 3 — Safe Schema Evolution and Access Control
3 topics
Unfinished
Lesson 4 — Architectural Tradeoffs with Evidence
5 topics
Unfinished

Module 13 — Secure Engineering, Incident Response, and Reliability

Unit 1 — Secure Engineering Review

Lesson 1 — Security Review Process
8 topics
Unfinished
Lesson 2 — Security Tooling and Findings
7 topics
Unfinished

Unit 2 — Incident Response and Root Cause Analysis

Lesson 1 — Incident Analysis
5 topics
Unfinished
Lesson 2 — Hardening After Failure
6 topics
Unfinished

Unit 3 — Reliability Refinement

Lesson 1 — Cross-System Failure Analysis
5 topics
Unfinished
Lesson 2 — Operational Reliability Improvements
4 topics
Unfinished

Module 14 — Project Finalization and Public Proof

Unit 1 — Architecture and Project Cleanup

Lesson 1 — Structural Refinement
5 topics
Unfinished

Unit 2 — Documentation and Operational Clarity

Lesson 1 — Project Documentation
5 topics
Unfinished
Lesson 2 — Operational Documentation
6 topics
Unfinished

Unit 3 — Final Technical Verification

Lesson 1 — Final Quality Pass
8 topics
Unfinished

Module 15 — Interview Readiness and Market Positioning

Unit 1 — DSA Baseline for Hiring Readiness

Lesson 1 — Core Interview Patterns
10 topics
Unfinished

Unit 2 — Public Profile and Communication

Lesson 1 — GitHub and Portfolio Presentation
5 topics
Unfinished
Lesson 2 — Project Explanation Skills
6 topics
Current Unfinished

Unit 3 — Final Readiness

Lesson 1 — Role Matching and Application Readiness
6 topics
Unfinished

Module 16 — Capstone Project: Secure, Observable, Production-Grade Backend

Unit 1 — Product Scope and System Design

Lesson 1 — Defining the System
5 topics
Unfinished

Unit 2 — Core Backend Capabilities

Lesson 1 — Secure File and Access Flows
6 topics
Unfinished
Lesson 2 — Realtime and Background Work
3 topics
Unfinished

Unit 3 — Operational Readiness

Lesson 1 — Observability and Deployment
5 topics
Unfinished
Lesson 2 — Security and Verification
38 topics
Unfinished