A curated collection of programming courses, tutorials, and references that I used and can be helpful to implement ideas that one has related with software development.
Introduction to container technologies, with a particular focus on Docker and container orchestration using Docker Compose. Containers are a lightweight, portable way to package and deploy software applications, and the course explores components of web services — such as reverse proxies and databases — and how they can be deployed using Docker.
Follow-up to DevOps with Docker, diving into container orchestration with Kubernetes. Covers pods, deployments, services, ingress, persistent storage, and Helm charts, with hands-on exercises deploying and managing containerised applications at scale.
Deep dive into modern web development with JavaScript, covering React, Redux, Node.js, Express, MongoDB, GraphQL, and TypeScript. The course focuses on building single-page web applications with REST and GraphQL APIs, alongside testing, containerization, and CI/CD practices.
Comprehensive introduction to programming with Python, covering fundamentals such as variables, conditionals, loops, functions, and data structures, progressing to object-oriented programming, algorithms, and larger project work in the advanced course.
A free course series covering core cyber security knowledge — analysing flaws in software systems, building secure web applications, performing risk and threat analysis, and understanding relevant EU legislation. Includes programming assignments, essays, quizzes, and a capture-the-flag competition.
Two-part course covering data structures and algorithm design — lists, hashing, sorting, trees, recursion, graph algorithms, search problems, dynamic programming, binary search trees, shortest paths, and maximum flow. Automatically checked exercises with on-site exam.
Interactive, in-browser lessons that teach SQL from the ground up, covering SELECT queries, filtering, joins, aggregations, and table manipulation, with hands-on exercises running directly against a built-in database.
A comprehensive Bourne shell scripting tutorial covering everything from first scripts and variables to loops, functions, and external programs. Includes wildcards, escape characters, test/case constructs, and interactive shell usage, with plenty of hands-on examples and exercises.
A no-nonsense, plain-English guide to recovering from common Git mishaps — from undoing commits and fixing pushed mistakes to recovering lost work with reflog. An indispensable desk reference whenever Git goes sideways.