Interested in learning how to program, learning a new technology, or just want a quick refresher on a topic? Take a look at these resources here!
Resources with a ⭐ are recommended for anyone that has never programmed before or are new to the field of computer science!
Courses, Bootcamps, and Tutorials
Interactive Coding Tutorials
Codecademy ⭐
Free interactive, hands-on coding tutorials to help you learn to program. Has courses on HTML, CSS, JavaScript, React, Java, C++, C#, SQL, and more!freeCodeCamp ⭐
Free coding tutorials covering a variety of topics. Has courses on Responsive Web Design, Data Visualization, APIs and Microservices, Scientific Computing, Data Analysis, Machine Learning, and more!
College Courses
Harvard's CS50x ⭐ A structured online college-level course that teaches the fundamentals of computer science with tracks in web development, mobile app development, and game development. Course culminates in a final project.
University of Helsinki's Java Programming MOOC
University of Helsinki’s free massive open online course (MOOC) on programming! This is an updated version of their popular course "Object-Oriented Programming with Java". Contributed by FPSTiger#0099
Full-Stack Development
App Academy Open
The free online version of App Academy's bootcamp that teaches App Academy's entire in-person full-stack curriculum. Contributed by Kevin TamFull Stack Open
An introduction to modern web application development with JavaScript. The main focus is on building single page applications with ReactJS that use REST APIs built with Node.js, as well as a section on GraphQL. Contributed by FPSTiger#0099The Odin Project
A free, open source coding curriculum that can be taken entirely online. Has learning paths for full-stack Ruby on Rails, full-stack JavaScript, and front-end. Contributed by Jake Teh Dog#2672
Web Development
Intro to Web Dev
An introduction to web development, created by a cloud developer advocate at Microsoft. Contributed by Khalid#5042
Other
Data Structures Easy to Advanced Course - Full Tutorial from a Google Engineer
Learn and master the most common data structures in this full course from Google engineer William Fiset. This course teaches data structures to beginners using high quality animations to represent the data structures visually. Contributed by Jake Teh Dog#2672GitHub Learning Lab
Grow your skills by completing fun, realistic projects. Get advice and helpful feedback from GitHub's friendly Learning Lab bot. Contributed by Khalid#5042Full Stack Deep Learning
Full Stack Deep Learning helps you bridge the gap from training machine learning models to deploying AI systems in the real world. Contributed by Professor Katherine Chuang
Tools and Technologies
Git
Pro Git
A popular book that teaches Git. Contributed by Professor Katherine ChuangLearn Git Branching
An interactive way to learn Git. You'll be challenged with exciting levels, given step-by-step demonstrations of powerful features, and maybe even have a bit of fun along the way.Git Immersion
A guided tour that walks through the fundamentals of Git, inspired by the premise that to know a thing is to do it. Contributed by FPSTiger#0099GitHub Guides
Guides about collaborating using GitHub. Contributed by Professor Katherine ChuangGit Cheatsheet
Interactive Git Cheatsheet, categorizing commands based on what they affect. Contributed by Khalid#5042
Java
Java Programming for Kids
A beginner-friendly guide to Java. Also includes an introduction to networking and to Git/GitHub. Contributed by Professor Katherine Chuang
Linux/Unix
Command Line
Conquering the Command Line
Learn to master and conquer the most valuable and useful command line tools for Unix and Linux based systems. Contributed by Jake Teh Dog#2672
Shell Scripting
Bash Manual
The bash manual from GNU. Contributed by Professor Katherine ChuangThe Shell Scripting Tutorial
Learn the basics of shell scripting. Contributed by Professor Katherine Chuang
Data Structures and Algorithms/Interview Prep
Tech Interview Cheat Sheet
A cheat sheet for many concepts covered in technical interviews, including data structures and algorithms. Contributed by Shahzoda Davlatova
Events and Workshops
MLH Localhost Workshops
Workshops covering today's most relevant technologies, so you can level up and build your skills quickly. Hosted by MLH and their partners.MLH Hackathons
A list of hackathons where students learn, build & share their creations over the course of a weekend in a relaxed and welcoming atmosphere. Many hackathons also have educational workshops to learn from!
Miscellaneous
Free Programming Books
A large collection of free programming books. Contributed by Khalid#5042Developer Roadmaps
Step by step guides and paths to learn different tools or technologies. Contributed by Kevin TamWeb Developer Roadmap 2020
A roadmap to becoming a web developer in 2020. Contributed by Tenz#0347
Useful Tools
Collections
GitHub Student Developer Pack
A collection of premium tools and services that are free for students.free-for.dev
A large collection of tools and services that have free tiers for everyone to use. Contributed by Calvin Kippermanwebgems.io
webgems is a goto place for devs and designers to find new resources and more. Contributed by Calvin Kippermanbookmarks.design
A collection of resources for designers.
Utilities
Squoosh
Squoosh is an image compression web app that allows you to dive into the advanced options provided by various image compressors. Contributed by Calvin Kippermanremove.bg
A tool that removes the background from images. Contributed by Calvin KippermanGet Waves
A free SVG wave generator to make unique SVG waves for your next web design. Choose a curve, adjust complexity, randomize! Contributed by Calvin Kipperman
Design
Tools
Figma
Figma is a vector graphics editor and prototyping tool used for designing application mockups. Contributed by Calvin Kipperman
Inspiration
Dribbble
A platform for designers to share their creations.
Icons
Font Awesome
A popular font and icon toolkit. Contributed by Dradeus#3902Simple Icons
Over 1000 Free SVG icons for popular brands. Contributed by Calvin Kipperman