Programming education & tools
Learn programming.
Build understanding.
Clear tutorials, practical examples, and guided code walkthroughs. Learn a concept, follow the logic, and try it yourself.
name = "Ada"message = f"Hello, {name}"print(message)Choose a language
Start with the fundamentals and work through focused examples.
Python
Readable code for automation, data, and first programs.
JavaScript
Add behavior to the web and build applications.
Java
Understand object oriented programs and the JVM.
C++
Build fast applications with modern types and classes.
HTML
Structure accessible web pages.
CSS
Style responsive web interfaces.
Go
Learn simple, fast programs and explicit control flow.
Rust
Understand ownership and safe systems code.
Write and run code
Use the browser playground or an available language compiler.
Start with a tutorial
Read an example
Template matching with sum of squared differences
Find where a small pattern occurs in an image by sliding it over every position and scoring the match.
JavaScript: a sharpen filter and why clamping matters
Apply a sharpening kernel to a step edge and see the overshoot clamped to the valid range.
Rust Vectors
Store a growable list with Vec and sum it with an iterator.
PHP preventing XSS with htmlspecialchars
Encode user text before printing it into HTML, and escape for the right context.
Follow a learning path
An ordered sequence of lessons for a specific area.
Path 01
Programming fundamentals (PF)
Choose a language, then study values, decisions, loops, functions, recursion, and input handling. Each language lists the topics currently available.
Path 02
Object-oriented programming (OOP)
Learn objects, encapsulation, inheritance, polymorphism, abstraction, and composition through language-specific examples.
Path 03
Data structures and algorithms (DSA)
Start with Python's full core sequence, or study the same structures and algorithms in C, C++, Java, C#, Kotlin, JavaScript, TypeScript, and other languages. Compare operations, trace state, and reason about complexity.
Path 04
Analysis of algorithms
Measure how running time and memory grow, solve recurrences, reason about average and amortized cost, and prove a loop correct.
Path 05
Database systems
Model data with tables and constraints, query it with SQL, normalize designs, keep updates safe with transactions, and speed up queries with indexes.
Path 06
Operating systems
Study CPU scheduling, page replacement, deadlock avoidance, synchronization, and virtual memory through small simulations.
Path 07
Computer networks
Learn protocol layering, IP addressing, TCP and UDP sockets, HTTP messages, and how routers choose where to send a packet.
Path 08
Software engineering
Practise the habits of building maintainable software: unit tests, safe refactoring, SOLID design, design patterns, version control, and clear contracts.
Path 09
Information security
Learn the safe defaults: hashing, password storage, message authentication, why keys must not be reused, SQL injection, and secure randomness.
Path 10
Parallel and distributed computing
Understand concurrency versus parallelism, thread pools, processes, speed-up limits, MapReduce, logical clocks, and replication with quorums.
Path 11
Artificial intelligence (AI)
Model agents and environments, search state spaces, use heuristics with A*, play games with minimax, solve constraints, and use local search.
Path 12
Knowledge representation and reasoning (KRR)
Represent what a system knows in logic and networks, and derive new facts with entailment, chaining, resolution, unification, and probability.
Path 13
Machine learning (ML)
Learn how models are evaluated and trained: metrics, linear and logistic regression, k-nearest neighbors, decision trees, clustering, and validation.
Path 14
Artificial neural networks and deep learning (ANN/DL)
Build up from one neuron to multilayer networks: perceptrons, activations, forward passes, backpropagation, loss functions, convolutions, and regularization.
Path 15
Computer vision (CV)
Treat images as arrays, then filter, detect edges, threshold, label blobs, and match templates.
Keep a reference nearby
From the learning notes
Study methods
How to practice programming effectively
Use small programs, short feedback loops, and deliberate repetition to make new concepts stick.
Computer science subjects
Beyond your first language: study how databases, operating systems, networks, security, AI, and more actually work, with small programs you can run.
- Analysis of algorithmsMeasure how running time and memory grow, solve recurrences, reason about average and amortized cost, and prove a loop correct.
- Database systemsModel data with tables and constraints, query it with SQL, normalize designs, keep updates safe with transactions, and speed up queries with indexes.
- Operating systemsStudy CPU scheduling, page replacement, deadlock avoidance, synchronization, and virtual memory through small simulations.
- Computer networksLearn protocol layering, IP addressing, TCP and UDP sockets, HTTP messages, and how routers choose where to send a packet.
- Software engineeringPractise the habits of building maintainable software: unit tests, safe refactoring, SOLID design, design patterns, version control, and clear contracts.
- Information securityLearn the safe defaults: hashing, password storage, message authentication, why keys must not be reused, SQL injection, and secure randomness.
- Parallel and distributed computingUnderstand concurrency versus parallelism, thread pools, processes, speed-up limits, MapReduce, logical clocks, and replication with quorums.
- Artificial intelligence (AI)Model agents and environments, search state spaces, use heuristics with A*, play games with minimax, solve constraints, and use local search.
- Knowledge representation and reasoning (KRR)Represent what a system knows in logic and networks, and derive new facts with entailment, chaining, resolution, unification, and probability.
- Machine learning (ML)Learn how models are evaluated and trained: metrics, linear and logistic regression, k-nearest neighbors, decision trees, clustering, and validation.
- Artificial neural networks and deep learning (ANN/DL)Build up from one neuron to multilayer networks: perceptrons, activations, forward passes, backpropagation, loss functions, convolutions, and regularization.
- Computer vision (CV)Treat images as arrays, then filter, detect edges, threshold, label blobs, and match templates.
On the roadmap
Programonic on your phone
We want to make practising code easier wherever you are. Mobile apps are part of where Programonic is heading, and we will announce them here when they are ready. Until then, the whole site works in your phone's browser.
- Android appAn Android app is part of the roadmap.Coming soon
- iOS appAn iPhone and iPad app is part of the roadmap.Coming soon