Programming Fundamentals
Level 1 — learn to program in Python, Java and C++: variables, control flow, functions and OOP from first principles.
- Choosing a LanguageLevel 1
Python, Java and C++ — where each came from, what each is for, how FAANG uses them, and which one you should start with.
programmingpythonjavacppbeginner - Variables & Data TypesLevel 1
Named boxes in memory, the types that describe what's inside them, and the bugs that happen when you get types wrong — in Python, Java and C++.
programmingvariablestypesmemory - Control FlowLevel 1
if/else decisions, for and while loops, and the logic operators that combine them — the patterns behind every program ever written.
programmingconditionalsloopslogic - FunctionsLevel 1
Parameters, return values, scope, and pass-by-value vs pass-by-reference — how code gets named, reused and reasoned about.
programmingfunctionsscopeabstraction - RecursionLevel 1
Functions that call themselves: the leap of faith, base cases, the call stack made visible, and the bridge to trees, backtracking and DP.
programmingrecursioncall-stack - Memory ManagementLevel 1
Who frees the memory: manual C++ vs garbage-collected Java/Python, leaks in every language, RAII, and what GC pauses cost in production.
programmingmemorygarbage-collectionraii - OOP BasicsLevel 1
Classes, objects, methods and the four pillars — your first object-oriented programs in Python, Java and C++.
programmingoopclassesobjects - Exceptions & ErrorsLevel 1
What happens when code goes wrong — try/catch, raising your own errors, finally/with, and the difference between expected and impossible failures.
programmingexceptionserror-handling - CollectionsLevel 1
Lists, dictionaries, sets and tuples — the four containers every program is built from, and how to choose between them.
programminglistsdictionariessetscollections - File HandlingLevel 1
Reading and writing files — text, CSV and JSON — plus paths, encodings, and why 'with' is non-negotiable.
programmingfilesjsoncsvio