freeCodeCamp
FreeJavaScript Certification — freeCodeCamp
freeCodeCamp's rebuilt JavaScript certification - 1,320 test-driven steps across theory, workshops and labs, covering the DOM,…
Al Sweigart
Al Sweigart's free Python book, third edition — 24 chapters on scraping, spreadsheets, PDFs, file wrangling and GUI automation for non-programmers.
Opens on Al Sweigart — a direct link, no affiliate tracking.
Al Sweigart's book has a premise most programming books don't: you are not here to become a software engineer, you are here because you have a spreadsheet that takes four hours every Friday. Everything follows from that. It's now in its third edition, free to read online under a Creative Commons BY-NC-SA licence, and runs to 24 chapters plus appendices.
The first third is a normal Python primer — data types, flow control, functions, lists, dictionaries, strings. Then it pivots, and the rest of the book is a tour of practical automation: web scraping and form filling, organising and renaming files in bulk, reading and writing Excel spreadsheets, pulling text out of PDFs and Word documents, sending email and texts, controlling the keyboard and mouse, image manipulation and recognition, and speech recognition.
Motivation, mostly. Sweigart understands that a beginner who automates one real annoyance in week two will keep going, and a beginner writing FizzBuzz will not. The chapters are self-contained enough that you can skip to the one that matches your problem, which is unusual and welcome.
His prose is plain, funny in a dry way, and free of the performative enthusiasm that makes a lot of beginner material exhausting.
Third-party libraries are the weak point, and it's not really the book's fault. Automation code depends on the outside world holding still — a website's HTML, an Office file format, an OS permission model — and none of it does. Scraping examples break when the target site redesigns. The GUI automation chapters run into macOS accessibility permissions that didn't exist when the approach was designed. Expect some chapters to need adaptation rather than transcription.
The deeper limitation is that this is not a computer science education. Classes get light treatment, testing barely appears, there's no data structures or algorithms content, and nothing about packaging, deployment or working in a team codebase. Finish it and you can automate your job; you cannot yet ship software with other people.
Ideal for the non-programmer with a repetitive job — analysts, admins, researchers, anyone drowning in files. Also good as a second book for someone who learned syntax elsewhere and never found a reason to use it.
Skip it if you're aiming at a developer role and need fundamentals done properly; go to CS50P or a structured Python course. Skip it too if you want data science, since pandas and numpy are not what this book is about.
The most useful first programming book for people who don't want to be programmers, and it's earned its reputation. The catch is durability: the automation chapters depend on external systems that keep changing, so some code will not run as printed and you'll need to be comfortable searching for the current API.
Other courses covering the same subjects.
freeCodeCamp
FreefreeCodeCamp's rebuilt JavaScript certification - 1,320 test-driven steps across theory, workshops and labs, covering the DOM,…
Ilya Kantor
FreeIlya Kantor's long-maintained JavaScript textbook: language internals, the DOM, async and browser APIs, with exercises and worked solutions…
Marijn Haverbeke
FreeMarijn Haverbeke's fourth edition, free online — language fundamentals, the browser and Node, with projects including writing your own…
Akshay Saini
FreeAkshay Saini's deep look at JavaScript internals — execution context, hoisting, scope chains, closures and the event loop, drawn out on a…
Microsoft
FreeMicrosoft's official TypeScript guide — basics, narrowing, generics, conditional and mapped types. Explicitly not a tooling or JavaScript…
Matt Pocock
FreeMatt Pocock's free 18-exercise TypeScript primer: broken code, a pointer to the docs, then the solution. Teaches you to read the docs, not…
Took this course? Share what you thought.