A curated list of awesome introductory programming resources for a variety of specialties within the profession.
-
Microsoft MakeCode - Online learn-to-code platform to build games, code devices, and mod Minecraft
-
Yarn Spinner - The friendly tool for writing game dialogue
-
Gosu - A 2D game development library for Ruby and C++
-
Phaser - HTML5 game framework that offers WebGL and Canvas rendering for desktop and mobile
-
Unity - A cross-platform game engine for 2D and 3D games
People to follow: Jane McGonigal - Daniel Linssen - @photonstorm
-
CSS - An evergreen CSS course and reference to level up your web styling expertise
-
w3schools, CSS Diner, Flexbox Froggy, Grid Garden - Interactive tutorials/games to practice and learn CSS
-
Refactoring UI - Make your ideas look awesome, without relying on a designer.
-
Laws of UX, Material Design - Best practices for UX designers
-
Frontend Mentor - Design challenges using real-world projects, with a large Slack community for support
People to follow: Sarah Drasner - Lea Verou - Una Kravets - Steve Schoger - Victor Ponamariov - Adam Wathan - Sam Selikoff - Tomo Kihara
Project ideas: Build a website from an existing design (Frontend Mentor, Frontend Practice, GeeksForGeeks)
-
Sonic Pi tutorial - A code-based music creation and performance tool
-
Web Audio API - JavaScript API for processing and synthesizing audio in web applications
-
EarSketch - Learn coding through music using Python or JavaScript
People to follow: @samaaron - @dj____dave
Project ideas: Make a music script with code (examples)
-
Customize Terminal - Add themes and plugins to your terminal zsh shell
-
Customize Vscode theme - Tutorial on creating a VS Code Theme
-
vim - A terminal text editor, controlled entirely with the keyboard with no need for menus or a mouse
-
xbar - Put the output from any script/program in your macOS menu bar
People to follow: Wes Bos - @robbyrussell
Project ideas: Build an xbar menu bar script (examples, ruby guide)
-
AppleScript - A scripting language that can help you automate repetitive tasks on your Mac
-
Hammerspoon - Write Lua code for macOS APIs (applications, windows, batteries, wifi, and more)
-
AutoHotKey - AutoHotkey lets you make custom Windows shortcuts, macros, and more
-
Google Apps Script - A cloud-based scripting language for extending the functionality of Google Apps
-
Web scraping - Use code to extract content and data from a website
People to follow: Anton Medvedev - Rosemary Orchard - David Sparks
Project ideas: Build a script to automate simple tasks (examples)
-
Build Your Own Web Server With Ruby - Build a web server from scratch
-
A Compiler from Scratch - Build a compiler from scratch
-
Build Your Own Text Editor - An instruction booklet that shows you how to build a text editor in C
-
Build Your Own X - More resources to build tools from scratch with different languages
-
High Performance Browser Networking - A deep dive into how the web works
People to follow: Julia Evans - @garybernhardt - Vaidehi Joshi
Project ideas: Build a web server/compiler/text editor from scratch, write about computer science concepts you learned (examples)
-
5 Refactoring Principles by Example - Improving code with examples in Java
-
Getting Started with Rails Testing - Writing automated tests for the Ruby on Rails web framework
-
Fast load times - Techniques for improving website performance
People to follow: Sandi Metz - Jessica Kerr - Peter Solnica - Nate Berkopec - Addy Osmani
Project ideas: Write about coding techniques you learned (examples)
-
Rubyfu - A collection of ideas, tricks, and skills for hackers using Ruby
-
Metasploit - The world’s most used penetration testing framework
-
Game Hacking Academy - Game hacking allows you to add functionality and change how games work
-
OWASP Cheat Sheet Series - Cheat sheets on web security topics
-
OverTheWire Wargames - Terminal games to to learn and practice security concepts
People to follow: Ben Sadeghipour - Alethe Denis - InsiderPhD - @samwcyo
-
Home Assistant - Control and automate all your smart home devices with a single open source platform
-
An Introductory Robot Programming Tutorial - Build a basic autonomous mobile robot
-
Lego Mindstorms - Program a Lego EV3 robot on a tablet or computer
-
QMK Tutorials - Program custom firmware for mechanical keyboards
People to follow: Nicole Branagan - Mohit Bhoite - Jeri Ellsworth - Uri Shaked
-
Learn D3 - D3.js is a JavaScript library for manipulating documents based on data
-
Interactive Charts with D3.js - An interactive tutorial to build interactive charts with D3.js
-
Data Visualization with Python - How to visualize data using four different Python libraries
People to follow: Shirly Wu - Nadieh Bremer - Amelia Wattenberger - @vihartvihart
Project ideas: create a visualization around a topic of interest (examples)
-
Intro to Web3.js - Get started using the Web3.js library for interacting with The Ethereum Blockchain
-
A guide to building a blockchain & cryptocurrency from scratch in Ruby
-
Learn Blockchain, Solidity, and Full Stack JavaScript Development
People to follow: @kelsiemvn - @IvanOnTech - Angie Jones