from Hacker News

Ask HN: Your favourite tutorial for total beginners?

by mcbetz on 8/1/19, 1:39 PM with 199 comments

What is your favourite (video or written) tutorial for beginners – in any technology?

Mine is Django Girls Tutorial (https://tutorial.djangogirls.org/en/) because it does not assume any prior knowledge and has a good balance between the big picture and small details.

  • by aphextron on 8/1/19, 3:37 PM

    Hartl's Rails tutorial. Probably the best intro to modern full stack development I've ever come across.

    https://www.railstutorial.org/book

  • by tptacek on 8/1/19, 3:53 PM

  • by ohaideredevs on 8/1/19, 3:38 PM

    How guns work: https://www.youtube.com/watch?v=HJnhr08aIJs

    How a car differential works: https://www.youtube.com/watch?v=yYAw79386WI

    Downright the best zero-to-programmer course in the world. Wish I knew about it when I was starting out: https://online-learning.harvard.edu/course/cs50-introduction...

  • by aasasd on 8/1/19, 6:00 PM

    More of an explanation than a tutorial, and dunno how it is for total beginners, but — Intro to Synthesis: The Building Blocks of Sound & Synthesis, by Dean Friedman: https://www.youtube.com/watch?v=atvtBE6t48M

    It explains the things that you'll constantly fiddle with on a synthesizer (and sometimes even in a DAW with samples: envelopes are likely to appear there). The series benefit greatly from being three hours long in total instead of ten or even thirty minutes.

    The first vid is followed by:

    - Intro to Synthesis Part 2 - Types of Synthesis & Programming Examples https://www.youtube.com/watch?v=gJkxGvhOS-M

    - Intro to Synthesis Part 3 - Additional Synth Features, Performance Controls & Wrap Up https://www.youtube.com/watch?v=zK3m8sMkTE4

    Also, since the vids are from sometime in early 80s, you'll have fun trying to figure out exactly how high the guy is.

  • by jonplackett on 8/1/19, 11:31 PM

    All the Michel Thomas courses - a true genius of language teaching. https://www.michelthomas.com

    I listened to his Spanish beginners course a few weeks before visiting Spain and successfully talked myself onto a bus I shouldn't have been on in Spanish. I'm now mostly fluent but would never have gotten over my childhood hatred of learning languages without him. Thanks Michel. RIP X

    Watch the BBC documentary about him where he teaches the worst kids in a school french in a few weeks. https://www.youtube.com/watch?v=O0w_uYPAQic

    Also read about him on wikipedia - he was in the french resistance and just generally awesome - https://en.wikipedia.org/wiki/Michel_Thomas

  • by Exuma on 8/1/19, 4:27 PM

    I would have to say the Dr Racket lisp tutorial ... https://docs.racket-lang.org/quick/

    For anyone who already programs I can't recommend this enough. See it as a 1 hour vacation into alice in wonderland. I don't see myself ever using lisp, but after using an imperative language for a long time and having it become second nature, I found it quite a fun mental leap to learn functional programming. Well lisp is basically a similar mental stretch... you can get a taste of it in only 10 bullet points (in the link). it will take you only 1-2 hours. I found it wildly refreshing, enlightening... any time you see paradigms youre used to for 10+ years done a different way there are so many "ah-ha" moments its like firecrackers going off.

    The part that is very cool, is that in lisp there are no statements, only expressions. So the 'physical limitiation' of writing code almost feels like theres no rules, such that it just flows effortlessly. Like in English, you can't end a sentence with a preposition (like a statement, you cant put an if statement in the middle of the expression 1 + 1). But in lisp, there are no rules like that.

    It's super fun to bend your mind in new ways even if you dont use it. I highly recommend it, it was really a fun day doing that tutorial.

  • by conception on 8/1/19, 3:27 PM

    https://selectstarsql.com - SQL tutorials for non-technical folks.

    This is an interactive book which aims to be the best place on the internet for learning SQL. It is free of charge, free of ads and doesn't require registration or downloads. It helps you learn by running queries against a real-world dataset to complete projects of consequence. It is not a mere reference page — it conveys a mental model for writing SQL.

    I expect little to no coding knowledge. Each chapter is designed to take about 30 minutes. As more of the world's data is stored in databases, I expect that this time will pay rich dividends!

  • by Zhyl on 8/1/19, 3:25 PM

    Jonathan Palardy 'Why Learn AWK' [1]. I'd tried to learn awk a few times but just couldn't grok it. This essay gave me a lightbulb moment.

    Honourable mention to 'Automate the Boring Stuff with Python' [2], which does what not a lot of tutorials do - motivate programming for non-technical users.

    [1] https://blog.jpalardy.com/posts/why-learn-awk/

    [2] https://automatetheboringstuff.com

  • by aasasd on 8/1/19, 7:14 PM

    I have two requests in this regard.

    - If there's some way to learn playing chess beyond just the rules without memorizing an encyclopedia of openings, I'd be grateful for links. I.e. I currently can stare at a position for a while and figure out a couple next moves that should be good. I'd like to elevate this to figuring out a bit more moves. (Though I have a suspicion that it's a question of ‘rinse and repeat until I remember all the openings anyway’.)

    - Similarly, I'd like to drill music lingo of chord progressions and stuff, as a total noob, without turning it into a ‘compose by the book’ approach. I'm actually somewhat afraid to learn about keys and scales since I'll likely start hearing them everywhere and promptly fall into patterns and academic ivory-towerity. Is there a way around that while still understanding music talk?

  • by tuvan on 8/1/19, 4:25 PM

    This is the one that completely changed my mindset about designing and writing programs:

    What Every Programmer Should Know About Memory - Ulrich Drepper

    https://people.freebsd.org/~lstewart/articles/cpumemory.pdf

  • by Legogris on 8/1/19, 1:54 PM

    http://learnyouahaskell.com is a fun and accessible intro to Haskell that's a great complement to denser material
  • by Bjartr on 8/1/19, 3:56 PM

    Ray Tracing from the Ground Up, by Kevin Suffern

    As a college freshman I started this book with only a passing familiarity to C++ and was able to follow it to implement a raytracer that supported depth of field and global illumination, among other things.

    http://www.raytracegroundup.com/

  • by northfoxz on 8/1/19, 5:31 PM

    The Rust Programming Language https://doc.rust-lang.org/book/index.html
  • by Loughla on 8/1/19, 7:11 PM

    Paul Seller's original how to build a workbench video series. They're so quick, but he walks you through so much technique in this series. Everything he says is a lesson that applies to other aspects of building objects with wood. Everything he does is on purpose. If you're interested in woodworking, this is where to start.

    https://www.youtube.com/watch?v=ru2ZiNs_Wek

  • by CamelCaseName on 8/1/19, 3:24 PM

    I asked this exact same question a while back as well, here's a link to that discussion: https://news.ycombinator.com/item?id=14985057

    Glad to see Michael Hartl's book on rails was suggested here, that's what prompted me to post my thread.

    As a summary of that thread:

    drracket: http://docs.racket-lang.org/quick/index.html

    VueJS: https://vuejs.org (not a tutorial)

    freecodecamp

    K&R

    Laracasts

  • by terlisimo on 8/1/19, 3:20 PM

    Design Your Own Computer (fpga/vhdl)

    https://github.com/MJoergen/nexys4ddr/tree/master/dyoc

    See how a cpu gets made from scratch.

  • by IMAYousaf on 8/1/19, 7:55 PM

    I am a huge fan of Build Your Own Lisp in C. I knew how to program since I was a kid. It was all inelegant but working code. Using this website's walk through helped me to refine my understanding. Anecdotally, I suggested it to 2 beginners I knew, and they found it very intuitive.

    http://www.buildyourownlisp.com/

  • by nilsandrey on 8/1/19, 4:42 PM

    The "The Node.js Handbook" and the "The JavaScript Handbook" from https://flaviocopes.com/page/ebooks/ Very handy and turned later into official doc at https://nodejs.dev/
  • by r053bud on 8/1/19, 5:29 PM

    Would have to be Nand2Tetris. You build an entire computing system from "scratch" using a set of emulator tools. You design logic chips all the way to an operating system. It's a lot of work, but is very self-contained.

    https://www.nand2tetris.org/

  • by hirundo on 8/1/19, 3:45 PM

    Why's (poignant) guide to Ruby

    https://poignant.guide/book/chapter-1.html

  • by kdamica on 8/1/19, 5:06 PM

    I'm a huge fan of Miguel Grinberg's Flask Mega-Tutorial. It's been around for a while, but he did a major update in 2017 to bring it more up to date.

    https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial...

  • by omarhaneef on 8/1/19, 3:21 PM

    This is kind of like picking The Beatles as your favorite band, but I liked:

    https://www.railstutorial.org/book (Michael Hartl's Rails Book)

    And I don't even use rails.

  • by zeroego on 8/1/19, 3:42 PM

    As someone who was recently a total beginner, I've found two that I have really appreciated:

    1. Learn to Program, by Chris Pine https://pine.fm/LearnToProgram/

    2. The C# Player's Guide, by R. B. Whitaker

  • by larrydag on 8/1/19, 5:20 PM

    Wil Wheaton's TableTop series on how to play various boardgames is really well done and engaging.

    https://geekandsundry.com/shows/tabletop/

  • by lukaszkups on 8/1/19, 9:22 PM

    https://vuejs.org - it's just magic, that's the very first documentation that hasn't required from me diving into any other resources while learning.
  • by intellectronica on 8/1/19, 3:28 PM

    The Emacs interactive tutorial (type "C-h t" to start) is awesome. After you complete it you know all Emacs basics and can get to work.
  • by turingbombe on 8/1/19, 3:52 PM

    I would really love one for containers/docker if anyone has a suggestion
  • by nrjames on 8/1/19, 3:32 PM

    Learning Processing (book), by Daniel Shiffman. Here's the Amazon link. https://www.amazon.com/Learning-Processing-Beginners-Program...
  • by TACIXAT on 8/1/19, 5:36 PM

    I'm getting started making a computer security course. Right now the material is very beginner focused.

    https://www.youtube.com/channel/UCpCBa7DpNda1mNKLCb2K8zQ/pla...

  • by dkarl on 8/1/19, 4:24 PM

    The Little Schemer is my favorite, especially if you regard The Seasoned Schemer as part of it. It takes you amazingly far for a self-contained tutorial.
  • by Causality1 on 8/1/19, 4:24 PM

    Bell Labs' 1959 video "Similarities of Wave Behavior." By far the best introduction to the subject of waves of any sort.

    https://www.youtube.com/watch?v=DovunOxlY1k

  • by gen3 on 8/1/19, 8:32 PM

    I have recommended bandit to many people wanting to learn Linux tools and how the shell works: https://overthewire.org/wargames/bandit/
  • by wallflower on 8/1/19, 4:35 PM

    To teenagers or adults who would like to get started with coding, I always recommend Khan Academy’s “Intro to JS: Drawing & Animation“ as it is an excellent suite of lessons that introduces beginners to the most important fundamentals of coding, like variables and loops. Everything runs in a browser, with immediate feedback via Processing.js.

    https://www.khanacademy.org/computing/computer-programming/p...

  • by quadcore on 8/1/19, 4:23 PM

    Paul Graham's tutorial on arc/lisp: http://ycombinator.com/arc/tut.txt

    oh the link is broken :)

  • by jolmg on 8/1/19, 5:18 PM

    Spinning Levers - How A Transmission Works (1936)

    https://www.youtube.com/watch?v=JOLtS4VUcvQ

  • by ghostpepper on 8/1/19, 8:39 PM

    https://www.learnenough.com/command-line-tutorial/basics

    Learn Enough Command Line To Be Dangerous is an introduction to some basic bash commands, but more than that it's an introduction to questions like What is a command line, how do I use it and why would I want to communicate with my computer using text rather than a GUI

  • by h3mb3 on 8/1/19, 7:35 PM

    Flexbox Froggy, a short game that teaches the basics of CSS flexbox:

    https://flexboxfroggy.com/

  • by gambiting on 8/1/19, 9:48 PM

    LazyFoo's introduction to SDL - the style of writing is perfect for someone who is new not only to SDL but also to programming, I have to confess that's probably one of the major reasons why I wanted to do games programming when I was a kid:

    http://lazyfoo.net/tutorials/SDL/index.php

  • by jauco on 8/1/19, 8:09 PM

    Jeff duntemans book on assembly language. It used the 386 processor under DOS which was way more approachable than what we currently have, but it really taught me how a computer works from the bottom up.

    Edit: apparently there’s now a third edition for recentish computers: http://duntemann.com/assembly.html

  • by slifin on 8/1/19, 3:52 PM

    Interactive drawing tutorial:

    https://www.maria.cloud/intro

  • by open-source-ux on 8/1/19, 7:03 PM

    Repeating something from a previous Hacker News thread...

    Children's publisher Usborne have made available for free some classic computer books from the 1980s aimed at kids that use text and illustrations to clearly explain computer concepts.

    These books have been discussed a few times before here on Hacker News. Scroll down to the bottom of the link below to the section 'Usborne 1980s computer books' for the free PDFs.

    https://usborne.com/browse-books/features/computer-and-codin...

    You might be thinking, why would I read books aimed at kids? Not only are these books well written with clear, concise explanations, they are also more readable and enjoyable than many programming books published for adults today.

    Anyone writing a technical guide (of any kind) would benefit from reading these as a source of ideas and inspiration.

  • by mslev on 8/1/19, 6:05 PM

    Not technology, but a great video for absolute beginners who want to get into drifting, or just improve their on-track car control.

    "The Drift Bible" with the Drift King, Keiichi Tsuchiya https://www.youtube.com/watch?v=IPQyQgyuNMI

  • by emsal on 8/1/19, 8:27 PM

    The one I learned programming from first is A Byte of Python by Swaroop CH: https://python.swaroopch.com/

    Really concise introduction to programming in Python; easy enough for someone to absolutely devour and learn incredibly quickly.

  • by curo on 8/1/19, 4:40 PM

    Not technology but science:

    Feynman's QED: The Strange Theory of Light and Matter. You can have zero physics background (like me) and still understand a bit about quantum electrodynamics. If ever I had to distill a complex subject, I'd try to first dissect how Feynman is able to do so.

  • by zengargoyle on 8/1/19, 9:36 PM

    Leo Brodie's Starting FORTH book. Thirty years ago, sixteen year old me learned to use that FORTH thing found on a public domain Fred Fish disk.

    https://www.forth.com/starting-forth/

  • by ergo14 on 8/1/19, 8:16 PM

    https://docs.pylonsproject.org/projects/pyramid-blogr/en/lat... - because I wrote it.

    I've found that newcomers struggle with many concepts during presentations so I wrote my own tutorial for beginners.

    On many meetups and hackathons I've noticed people break their environments or Linux installations. It's a bit much but we try to start from scratch showcasing how to use venv to get things going and create a small application demonstrating different concepts of web development, from templating, to DB migrations, business logic and auth.

    I've ran few workshops with this tutorial and we had very good results.

  • by Jach on 8/1/19, 8:48 PM

    Zed's Learn Python the Hard Way. https://learncodethehardway.org/python/

    It wasn't what I used to first learn (Larry Ullman's first PHP5 & MySQL book which I still have, with a spine held together by duct-tape) but it showed me a simple method to help absolute beginners (and helped me realize my ideas on teaching concepts in an unorthodox manner don't work at all for that target group) and to refer to acquaintances whose intro programming course professors were failing them in acquiring understanding.

  • by therealmocker on 8/1/19, 4:46 PM

    The first level of Super Mario Bros is a great example of learning by exploration.
  • by RosanaAnaDana on 8/1/19, 8:45 PM

    Introduction to Bayesian Data Analysis: https://www.youtube.com/watch?v=3OJEae7Qb_o&t=4s
  • by wilsmex on 8/1/19, 7:59 PM

  • by inancgumus on 8/1/19, 9:48 PM

    Learn Go the Complete Bootcamp course teaches to a complete beginner step by step with easy to understand animations, and 1000+ exercises.

    To me, Go is a great starting language because it's in the sweet place between high-level and low-level.

    https://www.udemy.com/learn-go-the-complete-bootcamp-course-...

    Shameless Plug: I'm the author :)

  • by Gabriel_Martin on 8/1/19, 4:33 PM

    why's (poignant) Guide to Ruby: https://poignant.guide/
  • by grepthisab on 8/1/19, 6:06 PM

    Agree with the Django Girls tutorial in OP. I ran into them at Pycon and expressed my appreciation for helping me learn Django. Was really exciting stuff.

    Does anyone happen to have a good resource for learning GoLang? It's nearly impossible to find good tutorials (outside of the golang site's tutorial) because the name Go is super common and "GoLang" isn't used by everyone.

  • by meej on 8/1/19, 8:02 PM

    The second edition of Semantic Web for the Working Ontologist is the best introduction to RDF, OWL, and SPARQL I've seen.

    https://www.amazon.com/Semantic-Web-Working-Ontologist-Effec...

  • by cristaloleg on 8/2/19, 6:01 AM

    Go by example. Simple and linear.

    https://gobyexample.com/

  • by codazoda on 8/1/19, 4:28 PM

    I took a whack at trying to teach programming to complete beginners in the same way that I learned years ago. I give people a listing of type-in JavaScript code that creates a generative art project. You can get all the electronic issues free.

    https://splashofcode.com

  • by cake_42 on 8/1/19, 4:13 PM

    nand2tetris.org Haven't finished it yet but it's all about building a full computer from a NAND to other logic gates (mux, dmux, and, or, etc) to higher level things like assembly, memory, cpu, and it keeps going to a tetris game. It's challenging, comprehensive and builds upon itself. It's awesome
  • by nullandvoid on 8/1/19, 4:35 PM

    https://frontendmasters.com/courses/javascript-hard-parts/

    Will has a way to explain things is such a concise and clear yet entertaining way he's who I aspire to teach like

  • by tvegesna on 8/1/19, 5:13 PM

    A movie about "how internet works" from early 2000s:

    http://www.warriorsofthe.net/

    https://www.youtube.com/watch?v=PBWhzz_Gn10

  • by percentcer on 8/1/19, 11:38 PM

    Ray Tracing in One Weekend (http://www.realtimerendering.com/raytracing/Ray%20Tracing%20...)

    I love that it just sidesteps OpenGL/DirectX entirely

  • by werber on 8/1/19, 10:40 PM

    https://eloquentjavascript.net/ , I love giving this to creative people who are interested in coding. The literary reflection of coding concepts is really great
  • by enriquto on 8/1/19, 4:06 PM

    If the question was "what is your second favourite tutorial?" it would be very difficult to answer.

    But, since the question is about the favorite, the answer is, unsurprisingly, "The C programming language" by Kernighan and Ritchie.

  • by pvorb on 8/1/19, 10:44 PM

    SQL Island is a very nice text adventure game that you play by typing SQL queries.

    http://wwwlgis.informatik.uni-kl.de/extra/game/

  • by albanlv on 8/7/19, 9:48 AM

  • by marai2 on 8/1/19, 4:10 PM

    Can someone recommend an easy tutorial for beginners for getting into electronics?
  • by mayankkaizen on 8/1/19, 6:40 PM

    What a thread! So many awesome recommendations. I too wanted to ask this exact question.

    Anyone reading my comment, please do post your favourite beginner friendly tutorials/blogs/books irrespective of the field.

  • by johnx123-up on 8/2/19, 3:58 PM

    Old favorite for Turbo C / DOS programming http://www.guideme.itgo.com/atozofc/
  • by anupsurendran on 8/3/19, 12:55 PM

    My favorite ones are the data science and AI video tutorials (actually meant for kids) @ https://www.Pathway.ai
  • by landonxjames on 8/1/19, 5:46 PM

    I'm looking for good tutorials for getting started with DSP stuff (in Rust if possible although I know that may still be too niche) if anyone has suggestions
  • by effnorwood on 8/1/19, 3:52 PM

  • by abledon on 8/4/19, 9:43 AM

  • by sam0x17 on 8/1/19, 10:57 PM

    player1: how do I change weapons?

    player2: ALT+F4

    player1 has disconnected

    This regular exchange is the most concise and hands-on tutorial on life ever conceived.

    On another note, this is a pretty damn good tutorial for learning how to write shaders in opengl: https://learnopengl.com/Getting-started/Shaders

  • by underdogadmin on 8/1/19, 11:18 PM

    Udacity Intro to Javascript course for learning the fundamentals. It also sprinkles in exercises that really help you push further.
  • by gregsadetsky on 8/1/19, 11:03 PM

  • by chdlr on 8/1/19, 5:07 PM

    learnxinyminutes.com
  • by abra_cad on 8/2/19, 1:26 PM

    Any good recommendations for beginners to digital marketing/SEO?
  • by dmead on 8/1/19, 5:37 PM

    the Haskell gentle intro is very well written.

    https://www.haskell.org/tutorial/

  • by tjr on 8/1/19, 5:25 PM

    The Little Schemer
  • by DubiousPusher on 8/1/19, 4:37 PM

    The later tutorials are behind a paywall but the free stuff is more than enough to get you going with low level 3D.

    http://www.directxtutorial.com/

  • by f3f0 on 8/1/19, 3:51 PM

    Web Programming with Python and JavaScript https://cs50.harvard.edu/web/2019/spring/lectures/
  • by marknadal on 8/1/19, 4:27 PM

    An interactive tutorial that teaches HTML and JS!

    https://gun.eco/docs/Learn-Code

    I've had complete non-coders and kids take it, and learn to build their first Todo App in less than 45min!

  • by acollins1331 on 8/1/19, 7:38 PM

    https://youtu.be/d4EgbgTm0Bg

    3blue1browns video on quaternions is amazing