loading...
Cover image for My Favorite Free Resources for New Programmers

My Favorite Free Resources for New Programmers

aspittel profile image Ali Spittel Updated on ・3 min read

Last week, I shared my tips for new developers and how to start coding. I also wanted to share my favorite free resources for learning how to code. I have used or gone through each of these personally, so I can vouch for them being good quality and beginner friendly!

For HTML and CSS

For JavaScript

For other Programming Languages and Concepts

  • This site has it all -- from HTML, CSS, and JS through frameworks and other programming languages. It has a unique REPL tutorial format: Code Academy - this would be my top recommendation for where to start.
  • Learn a web framework -- from the command line through Python and Django and through HTML and CSS -- all in roughly a day: Django Girls - their online tutorial was where web development clicked for me -- it was very pivotal in my career!
  • Try Ruby code directly in your browser: Try Ruby
  • Github has a series of tutorials for learning both Git and GitHub directly in the browser: Try Git
  • A full list of resources for learning Python

For Computer Science

  • A series of illustrated guides to computer science fundamentals: BaseCS - there are also podcast and video versions of some of these articles!
  • A bunch of cheat sheets I wrote when studying for interviews: Coding Cheat Sheets
  • Video versions of a lot of classes including computer science classes: MIT on YouTube

For Code Challenges

  • Tons of challenges with difficulties attached: CodeWars
  • Another code challenge site with more consistency: HackerRank
  • Mathematical coding problems: Project Euler

Awesome beginner Libraries

  • Build art with JavaScript: P5 JS
  • Build a customized map with JavaScript: Leaflet
  • Build virtual reality applications with HTML: A-Frame
  • Build a JavaScript game: Phaser

Communities

  • Ask questions with the #explainlikeimfive, #help, and #meta tags dev.to
  • Participate in Twitter chats, listen to awesome motivational podcasts, and read helpful blog posts: CodeNewbies - they also have a Slack group!

Your Favorites

Again, these are the resources that I have used myself or gone at least gone through, so I can definitely recommend them. Since I do mostly Python and JavaScript development, these lean pretty heavily in that direction! Tweet me your favorite resources! If you liked this article, subscribe to my weekly mailing list with my favorite links from the week and all of my writing from that week!

Posted on Feb 18 '19 by:

aspittel profile

Ali Spittel

@aspittel

Passionate about education, Python, JavaScript, and code art.

Discussion

markdown guide
 

Personally I felt like most of the resources we find online are great, However Harvards CS50 course teaches a student from the ground to the top. Great emphasis on algorithm, thinking and in some ways teaching how to learn and think in cs.

 

Currently taking it (on Week 4 wherein they elaborate a bit on data structures) and all I can say that it is good stuff. The problem sets they give are also quite of a challenge (at least for me). Depends on how you approach the problem, anyway.

I definitely recommend only if you have the time. My progress with CS50 is becoming a lot slower now that the concepts introduced and the problem sets is becoming harder and I'm also studying the gist of electronics now so my time is divided (not to mention some stuff outside of those things).

I also heard wherein some of the takers in CS50 completed it in a year so there's another consideration for you.

 
 
 
Sloan, the sloth mascot Comment marked as low quality/non-constructive by the community View code of conduct

freenode.net port 6666

 

I usually recommend to check the "awesome list" for your programming language:
github.com/sindresorhus/awesome/bl...

 

I'll also toss in dev.to as a tool. Obviously I'm biased, but If you come actively seeking help, you will find it comes to you a lot of the time.

Check out @brendazam for an example of someone using the platform really well in this regard.

brendazam image
 

Been a beginner learning online is hard, too many questions and a lot of information. Having a community as Dev.to allows me to ask without been judged and get the support that I need to stay focused. Ben and Ali you both are an inspiration, thanks for all your content. Hugs & Husky love 🐶👩🏻‍💻

 

Totally agree! Going to add in a communities section right now!

 
 

I added a Google custom search for devdocs.io, it's a really handy resource full of documentation for pretty much every language or framework. Plus it works offline!

Also, dev.tube/ is basically the Netflix of dev videos, very handy.

And once you're ready to start looking for a coding job, I recommend pramp.com, which pairs you up with other students to practice interview-style coding challenges.

 

I would add Practical Javascript and MongoDB University to the list. Gordon Zhu's course is one of the best introductions to Javascript that I've ever came across and MongoDB University is great source for intro to NoSQL databases.

university.mongodb.com/courses/cat...

watchandcode.com/courses

 

I love watch and code! It helped me drastically!

 

Free Programming books from StackOverflow
goalkicker.com/

 

Wow !
I never heard about it before !
Thanks a lot!

 

I have some folders of bookmarks for this purpose, as I don't have the time now to go trough them I would like to add:

Do not throw all these resources to a new starter, filter them based on on the developer experience and future, and share them when needed.

I have 2 main categories or mentees:

  • devs that have the time, resources and desire to want a career - spend at least a few months to learn CS and a strong typed language, before jumping in the web chaos ecosystem
  • devs that want to land a job and get a quick start: help them choose one language and crashcourse it, jump quickly to libraries and "real" projects.

The main idea is that, CS and other soft skills will add value on the long run, and they can build a strong foundation to build upon. The downside is that it will not bring much value at the beginning, unless you aim for a big tech company that build tools for other devs, and work at a more low level (instead of building products for end consumers).

Also some big categories are missing from here I think (not much just the big picture):

  • environment and tools (how linux and browsers works, bash, Git, linters, IDE's vs editors, etc)
  • security - unfortunately most courses and tutorials do not touch this subject so we have to supply the info as the newbie advances.
  • team work - how software teams and projects are organized
 

Been coding for 24 years now, start at age 11 and now 35. Love that I still learn new things from new programmers. Really appreciate you sharing your resources!

I would love to suggest adding Udemy to the list. They always have "sales" where you can get their courses for less than $20 bucks. They are highly well done and an amazing resource.

 

Codingame.com is another site for Code Challenges

 

Jep, I wanted to recommend that too :D Challenging and fun at the same time! :)

 

i've found quite a few interesting and helpful tutorials on css-tricks.com/ ;)

 

I like You don't know JS . Great free reading from your phone while queuing.

 

I like and would recommend some of the already mentioned. Others I didn't know them. If you speak Spanish, I'd also recommend CodigoFacilito 😊

 

Awesome resources but I think this is going to be one of those article that's gonna be in my bookmarks but I rarely open it. Thanks for the list :)

 

Adding to this collection,

If someone wants to keep updated on front-end tips and news - smashingmagazine.com

 

Thank you so much Ali! This is very helpful.

 
 

Why a new programmer should learn an exotic language?

 

Learning to program does not mean "learning a language". It means learning the concepts behind programming that you can apply to any language. Starting with a language that is simpler can make it easier to learn these basic concepts and prevent frustration (and even giving up entirely on learning to program). Once you've learned the concepts it makes it much, much easier to learn other languages. In general, most programmers know several different programming languages.

 

You forgot "THIS IS SPARTA sorry CS50!!"

 
 

Another one I love for JS katas is es6katas.org.

 

You don't know JS is also great to bookmark and read from phone whole queueing.

 

I LOVE listening to the Syntax podcast with Wes Bos and Scott Tolinski. They are full-stack devs who talk about all kinds of things. syntax.fm/

 
 

Geeks for Geeks is another good resource for computer science puzzles and problems. Mostly useful for interview prep.

 
 

I would add Shay Howe's HTML & CSS tutorials and P1XT's Guides to the list:
learn.shayhowe.com/advanced-html-css/
github.com/P1xt/p1xt-guides

 

Udacity? Some excellent (free) courses there...

 

Sometimes it's hard to discover all those possibilities to get better at Python, so thank you for this list of resources!

 
 

Hello folks,

You can also check out appdividend.com blog.

It has almost every language covered and some of the tutorials are the best.

Do check it out.