Programming Fundamentals
Learn how data, control flow, functions, tests, and debugging fit together across languages.
- Represent values with suitable data types
- Use conditions, loops, and functions deliberately
Topic category
Programming, web and app development, databases, systems, and security. Choose a topic, understand the learning outcomes, and start a focused conversation with a matched tutor.
Topic categories
Learn how data, control flow, functions, tests, and debugging fit together across languages.
Build accessible web pages by connecting semantic HTML, responsive CSS, JavaScript, and browser tools.
Use Python to automate tasks, manipulate data, and practise readable problem solving.
Build safer account, device, browsing, and communication habits through defensive practice.
Understand eighties home computers, processors, memory, storage, displays, software media, interfaces, electronics, and everyday use.
Build practical understanding of JavaScript values, functions, objects, asynchronous behavior, and browser APIs, then use it for building interactive interfaces, scripts, and small web applications.
Build practical understanding of Java syntax, classes, interfaces, collections, exceptions, and testing, then use it for building structured console, desktop, and service applications.
Build practical understanding of C++ types, memory, functions, classes, templates, and performance tradeoffs, then use it for building efficient programs and reasoning about resource ownership.
Build practical understanding of mobile interface patterns, application state, device APIs, testing, and release workflows, then use it for designing and building useful phone and tablet applications.
Build practical understanding of relational models, tables, keys, queries, joins, constraints, and transactions, then use it for designing data stores and retrieving reliable information with SQL.
Build practical understanding of version control, branches, command-line navigation, permissions, processes, and automation, then use it for managing code changes and working confidently in development environments.
Build practical understanding of cloud architecture, Linux, networking, containers, deployment pipelines, observability, reliability, and infrastructure automation, then use it for building, deploying, monitoring, and troubleshooting understandable cloud systems.
From search to lesson
Open a topic to see what you can learn, questions worth asking, relevant courses, and tutors suited to the subject. You can try a text conversation first, then create a learner profile to save progress, schedule lessons, or continue by voice.