Learn to Program Awesome

Foundation in Web Development

The Internet is filled with an ever-expanding number of courses, books and guides for programmers of all skill levels to improve their skills. Unfortunately, these resources are either hard to find or of low quality.

This list aims to be a curated set of high quality educational resources. The availability of free content on the platform is highlighted along with the primary topics covered.



Free platform for learning to code in web technologies
(HTML, CSS, JavaScript, jQuery, Python, Ruby, Rails, PHP)

Khan Academy's Hour of Code

Free interactive 1-hour course to learn the very basics of web development
(HTML, CSS, JavaScript, SQL)

UpLeveled Bootcamp Prep Course

Freemium platform for learning the basics of web development
(HTML, CSS, JavaScript, Node.js, Git, GitHub)


Paid platform for courses how to build websites & apps
(Web Design, Front End Web Development, Rails, iOS, Android, PHP)

Learn CSS Layout

Free tutorial for how to do layout with CSS

Udemy Programming, Development

Freemium marketplace of courses from third party providers. Quality may vary.
(HTML, CSS, JavaScript, Ruby, Rails, Python, iOS, Android)

Code Avengers

Freemium platform for basic web and app develoment courses
(HTML, CSS, JavaScript)


Free beginner to intermediate guides on web development
(HTML, CSS, JavaScript)


Free beginner and intermediate guides on web development
(HTML, CSS, JavaScript)

Degreed Web Development, Programming

Mixed directory of courses, videos and other learning resources for web development and programming. Quality may vary.
(HTML, CSS, JavaScript, AngularJS, Rails)

Free Code Camp

Free Learn to code and help nonprofits. An open source community of people who learn to code and help nonprofits.
(HTML, CSS, JavaScript, Databases, Git & GitHub, Node.js, React.js, D3.js)

Vertabelo Academy

Free SQL courses with interactive exercises and quizzes
(SQL, database concepts)

GitHub Learning Lab

Free Self paced, interactive projects to learn Git and GitHub. Created and maintained by GitHub's training team.
(Git, GitHub)

Grid Garden

Free game that teaches the CSS grid system created by @thomaspark


Mixed Self paced, interactive projects to learn JavaScript, C, Regular Expressions and computer science in general.
(JavaScript, Regular Expressions, Bash, computer science, Ansible)

Programming Historian

Free Peer reviewed introductory courses for digital humanists.
(Python, R, Unity, QGIS, HTML, Regular Expressions)

Software Carpentry

Free Foundational coding and data science skills for researchers.
(Python, R, OpenRefine, Unix Shell, Git)

Hyperskill by JetBrains Academy

Free teaches programming in Java by creating small applications built step by step
(Java, OOP, Gradle, Maven, Spring Boot)


Free online platform that teaches programming through interactive lessons
(JavaScript, TypeScript, HTML, p5.js, Backend Web Development)


Khan Academy Computer Programming, Computer Science

Free intermediate to advanced courses on how to program drawings, animations, games and webpages and more advanced computer science topics
(HTML, CSS, JavaScript, algorithms, cryptography)


Free platform for computer science and web development courses
(HTML, CSS, JavaScript, data science, Python, computer science topics)

Learn Python the Hard Way

Paid book and course for beginner through intermediate Python programming
(Python, object-oriented programming, web development)

Michael Hartl's Ruby on Rails Tutorial

Free online book covering all stages of creating a Ruby on Rails application
(HTML, CSS, JavaScript, Ruby, Rails)

LinkedIn Learning: Web Development, Web Design

Paid platform for video courses on web development and design
(HTML, CSS, JavaScript, web development, web design)


Paid platform for mentored web and mobile development courses from industry experts
(web development, frontend web development, AngularJS, Android, iOS)


Free crowdsourced mentorship platform of programming exercises and code reviews
(Clojure, CoffeeScript, C++, C#, Elixir, Erlang, F#, Go, Haskell, JavaScript, Common Lisp, Lua, Objective-C, OCaml, Perl 5, PL/SQL, Python, Ruby, Scala, Swift)

Stanford on iTunes U

Free programming and mobile development courses on iTunes from Stanford University
(programming, startups, iOS)


Paid platform for web development courses
(JavaScript, AngularJS, Java)

CodeChef Problems

Free intermediate to advanced programming problems


Free practice problems in Python and Java
(Python, Java)


Free code challenges. Compare your solution with those of others.
(JavaScript, CoffeeScript, Ruby, Python, Clojure, Haskell, Java)


Free Learn to code and game at the same time.
(C#, C++, Java, JavaScript, Python, Bash, C, Clojure, Dart, F#, Go, Groovy, Haskell, Lua, ObjectiveC, Pascal, Perl, PHP, Ruby, Rust, Scala, Swift, VB.NET)

1 Million Women To Tech Summer of Code

Free programming course material for beginner, intermediate and advanced levels
(Python, JavaScript, Data Science, artificial intelligence, machine learning, AR & VR)

Wes Bos

Mixed guided video courses to build products using new technologies
(JavaScript, CSS, React, Node.js, GraphQL, Redux)



Free Quiz your knowledge of programming
(JavaScript, Node.js, React, functional programming)

MIT Courseware

Free courses from MIT on advanced computer science topics
(varied and extensive computer science topics, C, C++, ..)


Free courses from Harvard, MIT, and other universities
(varied computer science subjects including theory and programming, data science, algorithms, ...)


Free platform for courses from universities and organizations worldwide
(varied computer science subjects including theory and programming, data science, algorithms, ...)

Awesome CS Courses

Free university-level courses scoured from around the internet.
(varied and extensive computer science topics, ...)

Metacademy Roadmaps, Course Guides

Free graphs of interconnected topics required to master concepts
(programming, machine learning)


Free programming challenges and contests
(artificial intelligence, algorithms, functional programming, machine learning)


Free programming challenges, hackathons and contests
(dynamic programming, artificial intelligence, algorithms, functional programming, machine learning)

Project Euler

Free mathematical/computer programming problems
(programming, mathematics)


Free programming challenges
(Java, C++, Python, JavaScript, Ruby, C#, PHP and Perl)



To the extent possible under law, Karl Horky has waived all copyright and related or neighboring rights to this work.


In lieu of a formal style guide, take care to maintain the existing style of this list.