DEV Community

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

My Favorite Free Resources for New Programmers

aspittel profile image Ali Spittel Originally published at zen-of-programming.com 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!

Discussion (54)

pic
Editor guide
Collapse
d1p profile image
Debashis Dip

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.

Collapse
foodogsquared profile image
Gabriel Arazas

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.

Collapse
davidchase profile image
David Chase

Thats a really good one :)

Collapse
cjbuckethead profile image
Charles Joseph

Could you drop a link to this? Thank you

Collapse
d1p profile image
Thread Thread
abdifatahdev profile image
Abdifatah Mo

Do know where to find this course in youtube?

Thread Thread
d1p profile image
Collapse
zarulyakuza profile image
Comment marked as low quality/non-constructive by the community. View Code of Conduct
zarulyakuza

freenode.net port 6666

Collapse
tux0r profile image
tux0r

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

Collapse
ssharizal profile image
ssharizal

FreeCodeCamp should be here.

Collapse
ben profile image
Ben Halpern

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
Collapse
brendalimon profile image
Brenda Limón

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 🐶👩🏻‍💻

Collapse
aspittel profile image
Ali Spittel Author

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

Collapse
jdkoeppen profile image
JustinK • Edited

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.

Collapse
blackmg27 profile image
Ogechi Ike

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

Collapse
donita profile image
Donita

I love watch and code! It helped me drastically!

Collapse
ssharizal profile image
ssharizal

Free Programming books from StackOverflow
goalkicker.com/

Collapse
sereiodobrejo profile image
Sereio-do-Brejo

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

Collapse
bgadrian profile image
Adrian B.G. • Edited

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
Collapse
dechamp profile image
DeChamp

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.

Collapse
martouta profile image
Marta

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 😊

Collapse
Collapse
thejavascriptninja profile image
The Javascript Ninja • Edited

Great list of resources; well researched. In addition, my blog, thejavascriptninja.com, has some awesome Javascript learning content that you might want to check out if you're interested. Awesome job, keep up the great work.

Collapse
shripathy profile image
Shripathy 🚀

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 :)

Collapse
sir_wernich profile image
Wernich ️

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

Collapse
chiangs profile image
Stephen E. Chiang

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

Collapse
chrisjcom profile image
Jhossymar Contreras

Codingame.com is another site for Code Challenges

Collapse
lkreimann profile image
Lea Reimann 🦄

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

Collapse
krishan111 profile image
Krishan111

Mam can you guide me on, which library from smtplib or send_mail should I use to send emails through a django website.
Thanks

Collapse
blackmg27 profile image
Ogechi Ike • Edited

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

Collapse
marufalom profile image
Maruf Alom

You forgot "THIS IS SPARTA sorry CS50!!"

Collapse
lefebvre profile image
Collapse
epogrebnyak profile image
Evgeny Pogrebnyak

Why a new programmer should learn an exotic language?

Collapse
lefebvre profile image
Paul Lefebvre

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.

Collapse
kateskips profile image
KLGF (she/her)

Thank you so much Ali! This is very helpful.

Collapse
flexdinesh profile image
Dinesh Pandiyan • Edited

Adding to this collection,

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

Collapse
chiangs profile image
Stephen E. Chiang

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

Collapse
iam_timsmith profile image
Tim Smith

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/

Collapse
hamihimself profile image
Collapse
nickytonline profile image
Nick Taylor (he/him)

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

Collapse
johand profile image
Collapse
tatermohit profile image
MOHIT TATER

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

Collapse
arvindpdmn profile image
Arvind Padmanabhan

As an introduction, developers can also check out Devopedia at devopedia.org/ . There are not many JS articles there at the moment but lot of useful CSS articles.

Collapse
abdurrahmaanj profile image