Josh Comeau provides educational videos, lessons, tutorials, or self-learning resources.
Directory
Programming & Technology Learning
Programming and technology learning points to courses, tutorials and practice sites for people learning to code. The listings include university courses, free video series, interactive lessons, documentation and coding challenges. Some entries are full curriculums, and others cover a single language, framework or topic, while a few are community forums where beginners ask questions. Choosing between them comes down to detail: the level they assume, whether they are free or paid, and how recently the material was updated. Quality varies, so look for courses that include practice rather than only video.
Kattis is a problem archive where users can find thousands of programming problems to solve. Visitors can register and begin solving problems, which are organized by difficulty. The site also displays ranklists of users, affiliations and countries by score.
Laws of UX is a collection of best practices that designers can consider when building user interfaces. It presents named principles such as the Aesthetic-Usability Effect, Choice Overload, Chunking, Cognitive Bias, Cognitive Load and the Doherty Threshold, each with a short explanation.
LearnCpp.com is a free website devoted to teaching programming in modern C++. Its lessons walk through the steps needed to write, compile and debug C++ programs. No prior programming experience is necessary, though programmers of all levels may benefit from the best practices, tips and insights. Chapters cover getting started, basics, functions, debugging, data types, and more.
Learn Git Branching provides educational videos, lessons, tutorials, or self-learning resources.
LearnPython.org is a free interactive Python tutorial intended for everyone who wishes to learn the Python programming language, whether experienced or not. It offers chapters on basics and advanced topics, organized in sections such as Learn the Basics, Coding for Kids, and Advanced Tutorials. The site is supported by DataCamp.
Learn Shell is a free interactive Shell tutorial for people who want to learn Shell. It offers chapters covering basics such as variables, arrays, operators, decision making, loops and functions, plus advanced topics including special variables and regular expressions. The site states it is intended for everyone who wishes to learn programming with Unix/Linux shell interpreters.
SQLBolt provides a series of interactive lessons and exercises designed to help users learn SQL in the browser. Lessons cover SELECT queries, constraints, filtering and sorting, JOINs, expressions, aggregates, order of execution, and inserting, updating and deleting rows, as well as creating, altering and dropping tables. Additional topics include subqueries and unions.
Makefile Tutorial provides educational videos, lessons, tutorials, or self-learning resources.
Memery Spy provides educational videos, lessons, tutorials, or self-learning resources.
Modern Java provides educational videos, lessons, tutorials, or self-learning resources.
A tutorial website offering MySQL lessons covering basics, stored procedures, triggers, views and indexes, plus programming interfaces for PHP, Java, Python, Node.js and Perl. It includes a getting-started section intended to leave a local MySQL database with a sample database for practice.
Odin Project provides educational videos, lessons, tutorials, or self-learning resources.
Oh My Git! is an open source game about learning Git. It visualizes the internal structures of Git repositories in realtime and includes a custom-designed playing card interface, plus an integrated terminal where players can execute arbitrary Git commands. It focuses on interacting with remotes and workflows for multiple repositories. Binaries for Linux, macOS and Windows are downloadable from itch.io.
Oh Shit, Git!?! is a page of plain-English explanations for common Git mistakes, such as committing to the wrong branch, needing to change the last commit message, or undoing changes to a file. Each situation is paired with Git commands, including git reflog and git commit --amend, and notes that public commits should not be amended.
The OWASP Cheat Sheet Series is a collection of cheat sheets on specific application security topics, created by application security professionals with expertise in those topics. The site hosts all of the project's cheat sheets and offers downloads of the site and an ATOM feed for updates.
Papers We Love is a repository of academic computer science papers and a community of people who read them. It lists chapters in cities worldwide and features talks on papers, including presentations on Amazon's Dynamo and on Zep.
PHP Tutorial is a tutorial site for learning PHP from scratch. It covers developing dynamic websites and web applications, with sections on getting started, PHP fundamentals, types, operators, control flow, functions, and arrays. It states that PHP allows development of blogs, content management systems, and online stores.
PHP: The Right Way is an easy-to-read, quick reference for PHP best practices, accepted coding standards, and links to authoritative PHP tutorials. It is a living document translated into many languages and also available in PDF, EPUB and MOBI formats. It recommends starting with the current stable version, PHP 8.5.
QB64SourceCode provides educational videos, lessons, tutorials, or self-learning resources.
This site hosts the first edition of R for Data Science, published January 2017, a book teaching data science with R: importing data, structuring, transforming, visualising and modelling it, plus grammar of graphics, literate programming and reproducible research. The site notes the edition is out of date and points to a second edition.
An online book by Hadley Wickham and Jennifer Bryan teaching how to create R packages, the units of shareable, reusable and reproducible R code. It covers turning code into packages others can download and use, is free to read online under a license, and can be ordered in print.
A web-based Vim cheat sheet listing commands and shortcuts grouped by area such as global commands, cursor movement, insert mode, editing, visual mode, registers, marks, macros and other topics. It presents concise commands intended for both beginners and experienced developers using Vim.
Skills for All provides educational videos, lessons, tutorials, or self-learning resources.