Skip to content

Resources recommended by members of our community. We welcome contributions, so feel free to send us pull requests adding things to the list! The resources in this list automatically get pushed to the page.


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation






Search words: c-sharp, csharp


Search words: cpp

  • ๐Ÿ†“๐Ÿ“˜ Language Reference โ€” A reference for the C/C++ programming languages.
  • ๐Ÿ†“๐Ÿ“˜ C++ Core Guidelines โ€” Best practices and recommendations for how to write C++, from the creators of the language.
  • ๐Ÿ†“๐ŸŒ The Definitive C++ Book Guide and List โ€” A list of recommended books for learning C++, ordered by skill level.
  • ๐Ÿ†“๐Ÿ“˜ C++ FAQ โ€” The FAQ about C++ on /r/learnprogramming.
  • ๐Ÿ†“๐ŸŒ #include <C++> Discord โ€” #include <C++> is a global, inclusive, and diverse community for developers interested in C++.


  • ๐Ÿ†“ โ€” Free tutorials covering all of C++, for learners of all experience levels.
  • ๐Ÿ’ฒ๐ŸŽฅ PluralSight C++ Path โ€” High-quality beginner and intermediate videos from Kate Gregory and others. 10-day free trial, with some ways to get an extended trial. Some companies offer free PluralSight accounts to employees as a benefit.
  • ๐Ÿ†“๐ŸŽ“ C++ For Programmers โ€” A Udacity course designed for students who are familiar with a programming language and wish to learn C++.


  • ๐Ÿ†“๐ŸŽฅ The Cherno's C++ videos โ€” Highly popular YouTube videos teaching C++.
  • ๐Ÿ†“๐ŸŽฅ OneLoneCoder โ€” Videos teaching C++ using a simple game engine that's easy for beginners to use.
  • ๐Ÿ†“๐ŸŽฅ C++ Weekly with Jason Turner โ€” Weekly video series teaching varied modern C++ topics.
  • ๐Ÿ†“๐ŸŽฅ CppCon conference talks โ€” The best video presentations the C++ community has to offer. Most content is not beginner material, but may still be of interest to beginners.


  • ๐Ÿ†“๐ŸŽ™ CppCast โ€” Weekly podcast with C++ expert guests, covering C++ community news and varied topics.
  • ๐Ÿ†“๐ŸŽ™๐ŸŽฅ โ€” Live semi-regular podcast with C++ expert guests, less structured than CppCast.
  • ๐Ÿ†“๐ŸŽ™ No Diagnostic Required โ€” Monthly C++ news podcast by Phil Nash and Anastasia Kazakova from JetBrains.
  • ๐Ÿ†“๐ŸŽ™ Two's Complement โ€” Programming podcast by Matt Godbolt and Ben Rady.
  • ๐Ÿ†“๐ŸŽ™ Algorithms + Data Structures = Programs โ€” An informal podcast by Bryce Lelbach and Conor Hoekstra about algorithms, programming, and whatever the hosts feel like.



  • ๐Ÿ†“๐ŸŽ“ Java Programming โ€” MOOC taught with Java, part I & II (University of Helsinki).


Search words: JS, ES5, ES6, ES2017

  • ๐Ÿ†“๐Ÿ“˜ Eloquent JavaScript โ€” Free to Read Online: A Modern Introduction to Programming.
  • ๐Ÿ†“๐Ÿ“˜ MDN Reference โ€” A community wiki with a JavaScript reference section, including compatibility charts.
  • ๐Ÿ†“๐Ÿ“˜ JS The Right Way โ€” An overview of JS with a list of additional resources.
  • ๐Ÿ†“๐ŸŽ“ theodinproject full-stack js โ€” A course on full-stack javascript and web development.
  • ๐Ÿ†“๐ŸŽ“ โ€” A tutorial on the new features in Javascript.
  • ๐Ÿ†“๐Ÿ“˜ You Don't Know JS โ€” Free JS book series written by Kyle Simpson.




Search words: Cascading Style Sheets



  • ๐Ÿ†“๐Ÿ“˜ CSS Reference โ€” A visual representation of all native CSS3 rules.




  • ๐Ÿ†“๐Ÿ“˜ PSR โ€” A collection of community-made standards and best practices for PHP.



  • ๐Ÿ†“๐Ÿ“˜ Automate the Boring Stuff by Al Sweigart โ€” An introduction to the language focused on showing how Python can help you with tasks around the office today.
  • ๐Ÿ†“๐Ÿ“˜ Think Python 2E โ€” Covers the Python language and thinking like a programmer in detail. Good supplement to what Automate the Boring Stuff does not cover.
  • ๐Ÿ†“๐Ÿ“˜ Hitchhiker's Guide to Python โ€” A great guide to learning Python practices, setting up dev environments, packaging, and a lot of other information you're unlikely to learn from a guide or even unlikely to learn without hard experience.
  • ๐Ÿ†“๐ŸŽ“ MIT 6.00X MOOC (OCW version)โ€” Introduction to CS and programming using Python.
  • ๐Ÿ†“๐ŸŽ“ Georgia Tech CS 1301X MOOC โ€” Introduction to computing in Python. Easier and longer than MIT's and focuses more on Python.
  • ๐Ÿ’ฒ๐Ÿ“˜ Python Crash Course by Eric Matthes โ€” A project-based introduction to Python. Covers the basics of Python, PyGame, data analysis with graphing, and Django.
  • ๐Ÿ†“๐ŸŽฅ Corey Schafer on Youtube โ€” Useful Youtube channel with plenty of good quality tutorials.
  • ๐Ÿ†“๐Ÿ“˜ Python Names and Values Article & talk on Youtube about names, values, assignment, and mutability.
  • ๐Ÿ†“๐ŸŽฅ Sentdex on Youtube โ€” YouTube introduction to Python with a focus on "basics are boring; learn them quickly and build something."
  • ๐Ÿ†“๐Ÿ“˜ Official Python Tutorial โ€” The tutorial from the official Python docs.
  • ๐Ÿ†“๐Ÿ“˜ A Byte of Python โ€” Detailed overview of Python syntax and OOP basics with solid examples and explanations.


  • ๐Ÿ†“๐ŸŽ™ Talk Python to Me by Michael Kennedy โ€” A weekly discussion about a Python project you should know about, usually with their developers.




  • ๐Ÿ†“๐ŸŒ What I Wish I Knew When Learning Haskell - A useful collection of knowledge to help new haskell users orient themselves in the ecosystem.
  • ๐Ÿ†“๐ŸŒ The Haskell Wiki - The official haskell wiki.
  • ๐Ÿ†“๐ŸŒ Hoogle - A search engine for Haskell.
  • ๐Ÿ’ฒ๐ŸŽ“ TypeClasses - A subscription service with courses to help you learn haskell.
  • ๐Ÿ’ฒ๐Ÿ“˜ Haskell Programming from First Principles - A book to learn haskell programming starting with the foundational mathematical principles of functional programming.
  • ๐Ÿ’ฒ๐Ÿ“˜ Programming in Haskell - A short text book to teach haskell programming suitable for undergraduates or developers familiar with procedural or OO languages.


  • ๐Ÿ†“๐ŸŒ The Haskell Community The haskell community page maintained by
  • ๐Ÿ†“๐ŸŒ Haskell Discourse Discussion board for the haskell community.
  • ๐Ÿ†“๐ŸŒ The Haskell Subreddit A popular subreddit about haskell with many learning and discussion resources.
  • ๐Ÿ†“๐Ÿ“ซ Haskell Weekly News A weekly mailing list and podcast with information about haskell and the haskell community.




Search words: Ruby on Rails




  • ๐Ÿ†“๐Ÿ“˜ The Rust Book โ€” It contains pretty much everything you need to know about Rust.
  • ๐Ÿ†“๐Ÿ“˜ Rust By Example โ€” A nice tutorial for people who already know how to program.
  • ๐Ÿ†“๐Ÿ“˜ The Little Book of Rust Macros โ€” Everything you need to know about macros.
  • ๐Ÿ†“๐Ÿ“˜ Rust Documentation โ€” List of useful Rust documentations, such as: The Rust Language Reference & The standard library API.
  • ๐Ÿ†“๐Ÿ“˜ The Rustonomicon โ€” The Dark Arts of Advanced and Unsafe Rust Programming.
  • ๐Ÿ†“๐Ÿ“˜ Rustdoc Guide โ€” A short guide on rustdoc and how to use it.
  • ๐Ÿ†“๐ŸŒ Awesome Rust โ€” A huge list of the best crates and tools you could possibly think of!
  • ๐Ÿ†“๐ŸŒ Rust Books โ€” A collection of books related to Rust.
  • ๐Ÿ†“๐ŸŽ“ Discovery โ€” An "introductory course" on microcontroller-based "embedded systems" using Rust.



  • ๐Ÿ†“๐ŸŒ SQLBolt โ€” An interactive SQL tutorial.
  • ๐Ÿ†“๐ŸŒ SQL Cheat Sheet โ€” A SQL cheatsheet (MySQL oriented)

Language Agnostic

Data Structures & Algorithms

Search words: DSA


Search words: UI, UX, design


  • ๐Ÿ†“๐ŸŽฎ Learn Git Branching โ€” Interactive introduction to Git branching and workflow.
  • ๐Ÿ†“๐Ÿ“˜ Pro Git โ€” A start-to-finish book on how to use and understand Git.
  • ๐Ÿ†“๐Ÿ“˜ Flight rules for git โ€” What to do when things go wrong.


Search words: Whiteboard interviews

Always remember that whiteboard interviews are not representative of programming jobs. They are a hazing ritual. Your worth is not determined by their outcome.

Machine Learning

Search words: ML, Data Science

Warning: Some of these resources are heavy in Mathematics



  • ๐Ÿ’ฒ๐Ÿ“˜ Strang's Introduction to Linear Algebra โ€” Gilbert Strang's excellent book on introductory linear algebra, excellent place to start on Machine learning.
  • ๐Ÿ†“๐ŸŽ“ MIT's 18.06 - Linear Algebra โ€” Strang's introductory linear algebra course taught in MIT, with all the lectures and resources available online through OpenCourseWare.
  • ๐Ÿ†“๐ŸŽฅ Essence of Linear Algebra โ€” Revolutionary series by Grant Sanderson that focuses on building geometric intuition and understanding of concepts in linear algebra. Extremely useful skill to have. Best paired with a resource that goes over rigorous computation involved in linear algebra, like one of Strang's resources.
  • ๐Ÿ’ฒ๐Ÿ“˜ Stewart's Calculus series โ€” Excellent series of books that go through the Calculus sequence that many CS/Engineering/Science students have to go through.
  • ๐Ÿ†“๐ŸŽฅ Essence of Calculus โ€” Another fantastic series on building geometric intuition, this time on Calculus. Again, best paired with a rigorous academic resource.

Mobile Development

  • ๐Ÿ†“๐ŸŽฅ Android Basics โ€” A video series on how to develop Android applications by Google (check out the course description for full list of courses).
  • ๐Ÿ†“๐Ÿ“˜ Android Developer Guides โ€” The official documentation on how Android platform works.

Open Source


  • ๐Ÿ†“๐ŸŽ™ #causeascene โ€” A show focused on the strategic anti-racist disruption of the status quo in technical orgs, communities & events.
  • ๐Ÿ†“๐ŸŽ™ Ladybug Podcast โ€” An all lady-hosted tech podcast for all developers.
  • ๐Ÿ†“๐ŸŽ™ Programming Throwdown โ€” Every show covers a new programming language and assorted tech topics.
  • ๐Ÿ†“๐ŸŽ™ Coding Blocks โ€” Pragmatic talk about software design best practices: design patterns, software architecture, performance, object oriented programming, and more.
  • ๐Ÿ†“๐ŸŽ™ Coder Radio by Jupiter Broadcasting โ€” Weekly discussion about software development and related technologies. (retired)
  • ๐Ÿ†“๐ŸŽ™ Talk Python to Me by Michael Kennedy โ€” Interview podcast that brings on guests working on niche Python projects you should be aware of.
  • ๐Ÿ†“๐ŸŽ™ whiletruefm โ€” Technology discussion podcast formed by ProgDisc users. (retired)

Software Architecture


A good test (by samwho):

  1. Tests functionality in your code, not the framework or language you're using.
  2. Tests for a single thing and a single thing only.
  3. Will not break when the implementation of what's being tested is changed.
  4. Does not depend on anything from the outside world, and leaves nothing behind when it's done.
  • ๐Ÿ’ฒ๐Ÿ“˜ Beautiful Testing โ€” Essays that break down testing as a philosophy, as a process, and as aided by good tools.



To the extent possible under law, the Programming Discussions community has waived all copyright and related or neighboring rights to this work by invoking CC0. Regrettably, the CC0 badge reads "Public Domain," but please don't hold that misnomer against our descendants before this document's copyright expires in the United States.


Resources recommended by members of our community. We welcome contributions, so feel free to send us pull requests adding things to the list! The resources in this list automatically get pushed to the page.







No releases published


No packages published