CS Fundamentals
-
Computer Science small
Computer science is the layer underneath your daily tools: how data is arranged in memory, how cost grows with input size, how one machine shares itself…
-
Data Structures medium
A data structure is a way of arranging values in memory so that the operations you need are cheap.
-
Computer Networks medium
A network is a set of machines that agree on how to hand each other small chunks of data.
-
Database Internals small
A database stores data on disk and answers queries about it without losing anything or lying about what it has.
-
Concurrency & Async Programming medium
Concurrency is arranging for a program to make progress on several things at once.
-
Regular Expressions (Regex) small
A regular expression is a small pattern language for describing text.
-
Pseudocode small
Pseudocode is the logic of a program written in plain, structured language instead of a programming language.
-
Clean Code medium
Clean code is code that the next reader can change safely.
-
SOLID Principles small
SOLID is five rules of object design, collected under an acronym by Robert Martin.
-
Unit Testing medium
A unit test exercises one unit — usually a function or a class — in isolation, with every collaborator replaced by a stand-in the test controls.
-
Debugging medium
Debugging is the systematic process of finding why a program does not do what it should.
-
Git (Version Control System) medium
Git is a distributed version control system: every clone holds the full history, and commits form a graph rather than a list.
-
Unix Shell medium
A Unix shell is a program that reads commands, runs them, and connects their input and output.
-
Algorithms & Big-O medium
Big-O is shorthand for how the cost of an algorithm grows as its input grows.
-
Operating Systems medium
An operating system is the layer that shares one machine between many programs.
-
Code Reusability small
Code reusability is the practice of writing a piece of behaviour once and using it in more than one place.
-
Code Review medium
Code review is another person reading a change before it merges, looking for defects the author cannot see.
-
Design Patterns medium
A design pattern is a named solution to a problem that keeps recurring in object-oriented code.
-
Refactoring medium
Refactoring is changing the structure of code without changing what it does.
-
Test-Driven Development (TDD) medium
Test-driven development is the practice of writing a failing test before the code that makes it pass, then improving the code with the test still green.
-
Integration Testing medium
An integration test exercises two or more real components together, across a boundary that a unit test would have replaced — a database, an HTTP endpoint,…
-
Git Branching Strategies small
A branching strategy is a team's shared agreement about what branches mean: how long they live, what may be merged into what, and how a release is cut.
-
GitHub small
GitHub is a hosting service built on top of git, and it adds the parts a repository needs to be a place a team works: remote repositories, pull requests,…
-
Command-Line Interface small
The command-line interface is the habit of reaching for a terminal rather than a graphical tool: typing a command, reading its output, and building the…
-
Software Architecture large
Software architecture is the set of decisions that are expensive to change later: where the boundaries between parts of a system are drawn, who owns which…
-
End-to-End Testing medium
An end-to-end test drives the whole system the way a user does — through the real interface, against real services — and checks that the outcome is right.
-
Playwright small
Playwright is a browser-automation library for writing end-to-end and cross-browser tests.