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
- A game for learning CSS selectors: CSS Diner
- A game for learning CSS Flexbox: Flexbox Froggy
- A game for learning CSS Grid: CSS Grid Garden
- A video I made for learning CSS from zero: Learning CSS Through Creating Art
- An awesome CSS Grid series by Jen Simmons: Layout Land
For JavaScript
- FreeCodeCamp
- A video series introducing JavaScript: Khan Academy Computer Programming
- An awesome more advanced written introduction to JavaScript: A re-introduction to JavaScript
- 30 days of JavaScript challenges with corresponding videos by Wes Bos: JS 30
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!
Oldest comments (52)
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.
[Deleted User]
Totally agree! Going to add in a communities section right now!
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 πΆπ©π»βπ»
Another one I love for JS katas is es6katas.org.
Adding to this collection,
If someone wants to keep updated on front-end tips and news - smashingmagazine.com
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 :)
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.
Thats a really good one :)
Could you drop a link to this? Thank you
edx.org/course/cs50s-introduction-...
here you go
Do know where to find this course in youtube?
youtube.com/watch?v=jjqgP9dpD1k
freenode.net port 6666
You don't know JS is also great to bookmark and read from phone whole queueing.
I like You don't know JS . Great free reading from your phone while queuing.
FreeCodeCamp should be here.
A free PDF for new programmers: Introduction to Programming with Xojo
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.
Codingame.com is another site for Code Challenges
Jep, I wanted to recommend that too :D Challenging and fun at the same time! :)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.