Programming

Programming courses, tutorials, and references I've used.

Programming

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.

Courses

DevOps with Docker
University of Helsinki · MOOC.fi

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.

DevOps with Kubernetes
University of Helsinki · MOOC.fi

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.

Full Stack Open
University of Helsinki · MOOC.fi

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.

Python Programming MOOC
University of Helsinki · MOOC.fi

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.

Cyber Security Base
University of Helsinki · MOOC.fi

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.

Data Structures and Algorithms
University of Helsinki · MOOC.fi

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.

Tutorials

SQLBolt
SQLBolt · Interactive Tutorial

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.

Shell Scripting Tutorial
Steve Parker · shellscript.sh

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.

References

Oh Shit, Git!?!
Katie Sylor-Miller · Reference

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.