Master Computer Science Through Real Courses

A structured academy for serious learners: buy standalone live courses individually, or subscribe for self-paced computer science tracks.

Codend learning platform

2

Course Types

CS

Core Focus

26

Hands-on Lessons

How it works

Choose your path

Choose your path

Pick a standalone live course or a subscription track based on your goals

Try eligible standalone courses

Try eligible standalone courses

Standalone courses can start with a trial session before you buy

Start learning

Start learning

Get access to structured lessons, labs, quizzes, exams, and certificates

Simple, transparent pricing

Subscribe for full access to all subscription-based CS courses. Standalone courses are sold separately on the courses page.

Flexible

Monthly

$12.99/ month
    Best Value

    Yearly

    $8.42/ month

    $100.99 / year

    Save 35%

      Course Catalog

      Browse standalone courses sold individually and subscription courses included with membership.

      Computer Architecture
      Beginner38 lectures

      Computer Architecture

      Every line of code you write eventually becomes electricity. This course explains exactly how that happens. Computer Architecture bridges the gap between software and hardware the layer most developers never see but always depend on. You'll start at the lowest level (transistors and logic gates), build up through number systems and circuits, and arrive at a full picture of how a CPU fetches, decodes, and executes your code. Along the way you'll understand why cache matters, what a pipeline hazard is, and why some programs are faster than others on the exact same machine. This isn't a theory course. Every concept connects directly to something a programmer or engineer encounters in the real world. **What you'll cover:** - Digital signals, transistors, clock cycles, and voltage logic - Binary, hexadecimal, two's complement, and floating-point numbers - Logic gates, Boolean algebra, adder circuits - CPU internals: registers, ALU, fetch-decode-execute cycle, pipelining - Memory hierarchy: SRAM, DRAM, cache, virtual memory - I/O systems, buses, interrupts, and DMA - Performance metrics: CPI, Amdahl's Law, bottleneck analysis - Instruction Set Architecture (ISA) and reading assembly **Who this is for:** Computer science students, self-taught developers curious about what's "under the hood," and anyone preparing for systems-level roles or low-level programming. **Prerequisites:** Basic comfort with binary numbers helps but isn't required. No programming experience is assumed though if you write code, this course will change how you think about it.

      Operating Systems
      Beginner25 lectures

      Operating Systems

      Your operating system is running right now managing memory, switching between processes, reading from disk and most developers never think about it. This course changes that. Operating Systems is one of the hardest and most important subjects in computer science. This course makes it approachable without dumbing it down. You'll learn how an OS manages processes, schedules CPU time, handles memory, and controls I/O all with hands-on simulator labs that let you see these systems in action rather than just reading about them. By the end, you'll have a mental model of what happens on your machine between the moment you run a program and the moment you see output. **What you'll cover:** - What an OS actually does: kernel, shell, system calls, and the boot process - Processes and threads: lifecycle, scheduling, context switching - CPU scheduling algorithms: FCFS, SJF, Round Robin, multilevel queues - Process synchronisation: critical sections, mutex locks, semaphores, deadlock - Memory management: logical vs. physical addressing, paging, contiguous allocation - Virtual memory: page replacement algorithms, page faults, thrashing - File systems and I/O: allocation methods, disk scheduling, hardware and software layers **Who this is for:** CS students taking their first OS course, developers who want to understand performance at the system level, and anyone preparing for interviews where OS internals come up. **Prerequisites:** A solid understanding of basic programming. Familiarity with processes and memory at a high level is helpful but not required the course builds up from first principles.

      Software Engineering / Design Patterns
      Beginner23 lectures

      Software Engineering / Design Patterns

      Writing code that works is the easy part. Writing code that holds together six months later, when requirements change and your team doubles in size that's what this course is about. Software Engineering & Design Patterns covers the principles and patterns that professional developers use to build systems that are maintainable, extensible, and actually understandable by other humans. You'll move from the fundamentals of the software development lifecycle through OOP principles and SOLID, then into the classic Gang of Four design patterns creational, structural, and behavioral and finally to the architectural patterns that structure entire applications. Every pattern is taught in context: not just "here's how it works" but "here's the problem it solves and what goes wrong without it." **What you'll cover:** - Software engineering fundamentals: SDLC phases, Agile vs. Waterfall - OOP recap and the SOLID principles - Design heuristics: DRY, KISS, YAGNI, coupling and cohesion - Creational patterns: Singleton, Factory Method, Abstract Factory, Builder - Structural patterns: Adapter, Decorator, Facade, Proxy - Behavioral patterns: Observer, Strategy, Command, Template Method - Architectural patterns: MVC, Repository, Dependency Injection - Anti-patterns: what to recognize and how to refactor out of them **Who this is for:** Intermediate developers who can write working code but want to level up their design skills, CS students studying software engineering, and anyone who's inherited a codebase and thought "why is this so hard to change?" **Prerequisites:** Comfortable with OOP in at least one language (Python, Java, C#, or similar). You should know what a class and interface are before starting.

      Considering a standalone course?

      Book a trial session for an eligible standalone course before you commit. Subscription-based courses do not include trial sessions.