Learn 2 Code - Edward Delaporte's Guide
How to Learn to Code
#I often get asked how I would recommend learning to program computers, today. I have so many answers, I had to write them all down. I update this page roughly annually.
The majority of the resources listed below are completely free - except the ones that require purchasing dedicated hardware.
MIT Scratch
#MIT Scratch is the original block based code learning environment.
I think it's still the most feature complete. The ability to add animations, backgrounds and custom recorded sounds makes this a stronger creative toy than a lot of others.
Scratch also has a built in video tutorial series that explores a bunch of great computer science concepts.
Let me know if you enjoy my humble Scratch creations.
Turtle Programs
#Before we had Scratch
, we had turtle
. I learned turtle
on a Commodore 64. But a working Commodore 64 can be hard to get, today. Thankfully,Python includes an implementation of turtle
.
MakeCode Arcade & Meowbit
#Kids need shelter, food, love, and a hand-held video game player that they can write their own games for.
MeowBit is a hand-held video game that a kid can write code for using a snap-block language.
Even without the device, kids can get started using the online emulator and MakeCode Arcade Tutorials.
I made a game called Monkey Treasure Hunt.
And a better game than mine:
Robots in Luanti
#If I told you there was a free clone of MineCraft
that allowed players to build and program robots, would you even finish reading this page? I might not.
Everyone should get to play with Robots in Luanti.
Create Retro Python Games using Pyxel
#Pyxel is a retro game platform that supports coding in Python. Unlike other Python game libraries, Pyxel provides a curated experience for new game developers.
I have created a few Pyxel Tutorials.
Minecraft Puzzles
#For a cool guided learning experience, consider Minecraft on Code.org - a fantastic guided learn-to-code series.
It has a Minecraft theme, stars YouTube celebrities, and has a plot. Along the way, kids get to control Steve while programming a robot ally to solve puzzles.
Note that this is a two-dimensional game. For a full 3D MineCraft experience with programmable robots, try out Luanti with Robots.
Code.org
#Code.org also has a lot more than just Minecraft puzzles.
Real Robots!!! with BBC Micro:Bit
#For about $60.00 (one MicroBit and one CuteBot), your kid can have a robot wandering around the room, following code they wrote. Consider getting an extra MicroBit to act as a remote control via Bluetooth.
The BBC Micro:Bit is currently the most afordable hardware I have found that can run block code.
It comes with bunch of LEDs, a couple of buttons, a bluetooth radio, and a connector for an always growing set of add-on boards.
CuteBot is currently my favorite affordable robot frame. Mine came with a nice booklet of example programs.
p5.js
#P5.js is a fun web-based way to experiment with both JavaScript and drawing with code at the same time.
You can read the source code of my live interactive art for some ideas.
Advanced Topics
#- Learn Python with "Think Python" by Allan Downey
- Free eBooks on PowerShell
- Get started with version control with Git Ready.
- Learn Test Driven Development from Harry J.W. Percival
- Learn Web Security with WebGoat
- Cybersecurity hands-on labs from Hack the Box
- Want to break into a web store? Try OWASP Juice Shop!
- Khan Academy
- Learn Git Branching
- This Video on Git Internals by Andy Loftus is probably the talk I get the most requests for a recording of.