Awesome-resources
Awesome coding and learning resources for everyone. Most of these links will make your learning process fun and creative. These resources will help you become a programmer, challenge you to be better everyday and the best thing about it is that most of it are free.
Table of Contents
- Coding resources for beginners of all ages
- Coding for younger beginners
- The Hour of Code
- Beyond an Hour
- Learn to program with robots
- Make your own games or apps
- Make your own things using 3d printer
- Apps for phones and tablets
- Courses for advanced learners
- Competetive programming
- Free data to work with
- References
Legend
There is tag for every link it is either Free, Paid or Mixed.
Coding resources for beginners of all ages
- Code.org Tutorials Simple tutorials/puzzles for beginners that can be completed in an hour or less.
๐ - Mozila Developer Network Shared knowledge for the Open Web. HTML/HTML5, CSS/CSS3, Web APIs & DOM, Javascript, SVG, WEBGL, MathML.
๐ - Tutorialspoint Tutorials for WebGL, Drupal, SQL, Wordpress, XAML, W3CSS, SVG, Web Icons, Web Analytics, Google Maps, Joomla, Magento, Apex, Emberjs, BackboneJS, KnockoutJS, Node.js and more!
๐ - freeCodeCamp Learn to code and build projects for non-profits. Skill you will learn: HTML5, CSS3, Javascript, Databases, Git, Node.js, Angular.js, Agile. ๐
- TheNewBoston Free Educational Video Tutorials on Computer Programming, Web Design, Game Development and More!
๐ - Dash Dash teaches HTML, CSS, and Javascript through fun projects you can do in your browser. ๐
- CodinGame Play video games using code, learn programming in more than 20 programming languages.
๐ - Silent Teacher A step by step and funny way to learn the basics.
๐ - W3schools A collection of tutorials and references for web-related languages.
๐ - Htmldog A HTML Dog, the web designerโs resource for everything HTML, CSS, and JavaScript, the most common technologies used in making web pages. ๐
- IBM Swift sandbox Web-based Swift sandbox where you can write code and execute it in a Linux server environment. ๐
- Test4u A collection of interactive tutorials for HTML, CSS, JavaScript, PHP and MySQL.
๐ - SoloLearn Join the largest community of mobile code learners today. Learn C++, Java, Python, PHP, C#, JavaScript and more.
๐ - Grid Garden A game for learning CSS grid layout.
๐ - Scrimba Scrimba is a powerful new way of learning code. Play around with the instructors code any time, right in the player. Learn AngularJS, VueJS, TypeScript, HTML, CSS, and more!
๐ - Devhints A place where you can find cheat sheets related to programming languages, frameworks and other command lines and technologies. ๐
- Exercism Exercism is an online platform designed to help you improve your coding skills through practice and mentorship.
๐ - Hackerearth An online platform which teaches coding from very basics to higher level where Questions are divided into topics with each topic having tutorial followed by a competition each week and level of difficulty is good for beginners with any language. Lots of programming tutorials and practice problems.
๐ - Ruby Koans Learn Ruby With the Edgecase Ruby Koans. The Koans walk you along the path to enlightenment in order to learn Ruby. The goal is to learn the Ruby language.
๐ - OpenVim Vim is a highly configurable text editor built to enable efficient text editing. Collection of Vim learning tools.
๐ - JavaScript 30 30 Day Vanilla JS Coding Challenge, free and hosted by one of the best educators on the web. Learn all the basics and have fun, for beginners to intermediate developers.
๐ - CS First A free computer science curriculum that makes coding easy to teach and fun to learn.
๐ - Codewars Achieve mastery through challenge Improve your skills by training with others on real code challenges.
๐ - Code School Code School teaches web technologies in the comfort of your browser with video lessons, coding challenges, and screencasts. ๐
- Code Avengers Learn to build websites, apps and games with HTML, CSS and JavaScript. ๐
- CodeCombat An online game that teaches programming. Students write code in real programming languages like: Python, JavaScript, Lua, CofeeScript, Clojure.
๐ - Codeacademy Learn to code interactively, for free, on the web. Skill you will learn: HTML/CSS, JavaScript, Python, jQuery, PHP, SQL, AngularJS, Ruby on Rails and more!
๐ - Treehouse Treehouse brings affordable technology education to people everywhere in order to help them achieve their dreams and change the world!
๐ - Watch and Code A tutorial that teaches Practical Javascript through videos that go over basic to intermediate level concepts. The instructor also provides live office hours every week for additional support to those in need.
๐ - Learnenough Learn Command line, Text editor, Git, HTML, CSS, Javascript, Ruby and much more.
๐ - Scaler Understand how programming works, Learn Python, Java, Data Structure, C/C++ and other popular programming languages with easy to follow tutorials and example programs.
๐
Coding for younger beginners
- CoderDojo Open source, game based learning resources for young people to learn the fundamentals of coding with fun results!
๐ - RoboMind Academy By programming a virtual robot, the student is introduced to logic, automation and technology. Available as an online educator-friendly platform that can be used with students aged 8 years or older.
๐ - Run Marco An adventure game for kids that teaches the basic of coding. Available as a browser game and an Android app. ๐
- CodeMonkey In this free technology and STEM game, students learn about computer coding concepts like functions and loops by programming a monkey to find bananas! Real world programming language. Write code. Catch bananas. Save the world.
๐ - Blockly Build a simple computer application by programming โtagโ blocks to reach your target โ no typing required.
๐ - Star Wars Learn to code with Star Wars - Learn to program droids, and create your own Star Wars game in a galaxy far, far away. ๐
- CS Unplugged CS Unplugged - A computer science curriculum made of many different activities that do not require a computer.
๐ - Swift Playgrounds Learn serious code on your iPad. In a seriously fun way. ๐
- Crunchzilla Learn code by playing Crunchzilla's educational games like Code Monster, Code Maven, Game Maven, Data maven.
๐ - GameBlox Gameblox is a game editor that uses a blocks based programming language to allow anyone to make games. ๐
The Hour of Code
- Code.org This course introduces the Angry Birds. Coding basics are explained by Mark Zuckerberg and Chris Bosh.
๐ - Scratch With Scratch, you can create your own interactive games, stories, animations โ and share them with your friends. Get started by animating your name, creating a holiday card, or making a pong game.
๐ - Processing An introduction to programming in the context of the visual arts using the Processing programming language. Short video lessons introduce coding exercises that lead to designing an interactive drawing program.
๐ - MakeSchool Learn to code by making an iPhone game using a brand new and beginner-friendly programming language called Swift! Create a Pokรฉmon-inspired action game and write code to teach your monster new moves. You will learn how to use variables, methods, and objects to help your monster win!
๐ - Lightbot Guide Lightbot to light up all the blue tiles! Lightbot is a puzzle game that uses programming game mechanics to let players gain a practical understanding of basic coding. Learn to sequence instructions, write procedures, and utilize loops to solve levels. Ideal for all ages.
๐ - Khanacademy Learn the basics of JavaScript programming while creating fun drawings with your code. Do it on your own or with your class!
๐ - CodeHS Learn how to code with Karel the Dogโa fun, accessible, and visual introduction to programming that teaches fundamental concepts like commands and functions to absolute beginners. Tutorial is student-directed but teachers can sign up to access teacher tools and track student success!
๐ - Codeacademy You'll write a program that animates your name. When you move your mouse over your name, bubbles will scatter away and then reassemble.
๐ - Sparkfun Arduino Unplugged - Hour of Code with Sparkfun's Digital Sandbox.
๐ - Blockly Maze is an introduction to loops and conditionals. It starts simply, but every level is more challenging than the last.
๐ - AppInventor Entertaining, quick video tutorials walk you through building three simple apps for your Android phone or tablet. Designed for novices and experts alike, this hour of code will get you ready to start building your own apps before you know it. Imagine sharing your own app creations with your friends! These activities are suitable for individuals and for teachers leading classes.
๐ - The Foos "The Foos" is a fun and kid-friendly way to learn about computer programming. Program cute characters to solve puzzles and bring a virtual world to life. The game is "word free" so all can play! ๐
- RoboMind Academy Students learn the basics of programming by controlling their own virtual robot. The online course is fully self-contained with short presentations, movies, quizzes and automatic guidance/hints to help with the programming exercises.
๐ - Quorum This tutorial is accessible for the visually-impaired, and works with screenreaders. Join Mary on a tour as she joins a biology lab as a programmer and learns the Quorum programming language. This tutorial is student-guided with online example activities.
๐ - TouchDevelop The touch-friendly editor will guide you in creating pixel art, solving the bear puzzle, or making your own jumping bird game.
๐ - Kodu Kodu lets kids create games on the PC and Xbox via a simple visual programming language. Kodu can be used to teach creativity, problem solving, storytelling, as well as programming. Anyone can use Kodu to make a game, young children as well as adults with no design or programming skills.
๐ - Tynker Learn to program by solving fun coding puzzles. Easily build games and stories using with themed graphics, 10+ game-kits and customizable characters. No Internet connectivity required. You can also access your creations on the web.
๐ - Tickle Program the Orca whale to swim around and follow your fingers. Interact with the Orca by tilting your iPhone and iPad!
๐ - Tickle Program a Parrot drone to fly in geometric shapes. Tilt and shake your iPhone and iPad to pilot it and perform aerial acrobatics!
๐ - CodeCombat Defeat ogres to learn Python or JavaScript in this epic programming game! ๐
- Code Avengers In this 30 minute introduction, you'll use JavaScript to build a game that you can share with your friends. In this game, the 2 players race to collect coins while avoiding bombs and enemies. ๐
- Kodable Kodable is a self-guided iPad game that introduces kids 5+ to programming basics. Having a teacher or parent nearby is optimal, but not necessary.
๐ - Grok learning Use the programming language Python to build a chatbot called "Eliza" to act as a robot psychotherapist. You'll teach Eliza how to talk and the right thing to say. Can she fool your friends into thinking she's a human not a computer?
๐
Beyond an Hour
- Introduction to Computer Science An introduction to the intellectual enterprises of computer science and the art of programming. You will learn concepts like abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development.
๐ - The Nature of Code How can we capture the unpredictable evolutionary and emergent properties of nature in software? How can understanding the mathematical principles behind our physical world help us to create digital worlds? ๐
- Teaching Tree TeachingTree is an open platform that lets anybody organize educational content.
๐ - Crash Couse Computer Science A 40 episode video course on Computer Science. From relay switches, tubes and transistors to artificial intelligence. A comprehensive, well thought out and fast paced course.
๐ - Girls Who Code Girls Who Code is on a mission to close the gender gap in technology and to change the image of what a programmer looks like and does.
๐ - The Odin Project The Odin Project is one of those "What I wish I had when I was learning" resources. Not everyone has access to a computer science education or the funds to attend an intensive coding school and neither of those is right for everyone anyway. This project is designed to fill in the gap for people who are trying to hack it on their own but still want a high quality education. ๐
- Full Stack Open Full Stack Open is a course by the University of Helsinki, focused on building single page applications with ReactJS that use REST APIs built with Node.js. The course also contains a section on GraphQL and covers testing, configuration and environment management, and the use of MongoDB. Good programming skills and basic knowledge of web programming and databases are required. Good course to take after Odin. ๐
- hackster.io Thousands of projects for hardware engineers. Build your skills and discover new products and technologies. From machine learning and edge computing to IoT security and automation, Hackster is the leading place where exploring tomorrow starts today.
๐ - Intro to Computer Science Youโll learn and practice key computer science concepts by building your own versions of popular web applications. Youโll learn Python, a powerful, easy-to-learn, and widely used programming language, and youโll explore computer science basics, as you build your own search engine and social network.
๐ฐ
Learn to program with robots
- Sparkfun Arduino Unplugged. Hour of Code with Sparkfun's Digital Sandbox.
๐ - Tickle Learn to program Arduino, drones, robots, connected toys, and smart home devices, all wirelessly. Tickle is easy to learn, fun to use, and 1000x more powerful!
๐ - Lego Mindstorms The Lego Mindstorms series of kits contain software and hardware to create customizable, programmable robots. They include an intelligent brick computer that controls the system, a set of modular sensors and motors, and Lego parts from the Technic line to create the mechanical systems.
๐ - KinderLab Children build their own robot with KIBO, program it to do what they want, and decorate it - all without a PC, tablet, or smartphone.
๐ - Johnny Five Johnny-Five is the JavaScript Robotics & IoT Platform.
๐ - Finch The Finch was designed to allow students to write richly interactive programs. On-board features include: Light, temperature, and obstacle sensors, Accelerometers, Motors, Buzzer, Full-color beak LED, Pen mount for drawing capability, Plugs into USB port - no batteries required.
๐ฐ - Sphero SPRK makes the skills of the future approachable and practical. And most importantly, fun. Learn: Drag and drop C-based block programming, Block programming in your Chrome browser, Programming with visual macros and more!
๐ฐ - Wonder Home of Dash and Dot, robots that you can code.
๐ฐ - Makey Makey Makey Makey is an invention kit for the 21st century. Turn everyday objects into touchpads and combine them with the internet. It's a simple Invention Kit for Beginners and Experts doing art, engineering, and everything inbetween.
๐ฐ
Make your own games or apps
- MakeSchool Learn the basics of programming using the Swift programming language. Build an iPhone game in your browser. ๐
- Code.org Flappy Bird Create your custom version of flappy bird using event handlers. The code you'll write involves dragging and dropping blocks.
๐ - TouchDevelop Write some code using language called Touch Develop. You'll fix the code and create your game. ๐
- AppInventor With these beginner-friendly tutorials, you will learn the basics of programming apps for Android. You'll create three working apps. ๐
- Code.org Create your own game using Code blocks. When you're done, click Finish to let friends try your game on their phones. ๐
- Hopscotch You can make your own version of popular games like Geometry Dash, create awesome art or build something brand new. Try doing fashion design, a journey into outer space, or making a piano.
๐ - Kodu Kodu lets kids create games on the PC and Xbox via a simple visual programming language. Kodu can be used to teach creativity, problem solving, storytelling, as well as programming. Anyone can use Kodu to make a game, young children as well as adults with no design or programming skills.
๐ - Bitsbox A subscription box that
teaches kids to code!
๐ฐ - Codea Codea for iPad lets you create games and simulations - or just about any visual idea you have. Turn your thoughts into interactive creations that make use of iPad features like Multi-Touch and the accelerometer. ๐ฐ
Make your own things using 3d printer
- Tinkercad Tinkercad is an easy-to-use 3D CAD design tool. Quickly turn your idea into a CAD model for a 3D printer with Tinkercad. ๐
- OpenSCAD OpenSCAD is software for creating solid 3D CAD objects. It is free software and available for Linux/UNIX, MS Windows and Mac OS X.
๐
Apps for phones and tablets
- Scratch With Scratch, you can program your own stories, games, and animations and share them online.
๐ - ScratchJr With ScratchJr, young children (ages 5-7) can program their own interactive stories and games. In the process, they learn to solve problems, design projects, and express themselves creatively on the computer.
๐ - ScratchX Play with Experimental Extensions to Scratch! With Experimental Extensions, you can create Scratch projects that connect with external hardware (such as electronic devices and robotics) and online resources (including web data and web services).
๐ - Hopscotch You can make your own version of popular games like Geometry Dash, create awesome art or build something brand new. Try doing fashion design, a journey into outer space, or making a piano.
๐ - Daisy the Dinosaur This free, fun app has an easy drag and drop interface that kids of all ages can use to animate Daisy to dance across the screen. Kids will intuitively grasp the basics of objects, sequencing, loops and events by solving this app's challenges. ๐
- Pocket Code Try out the starter programs. Look inside to make changes and add your ideas.
๐ - Kodu Kodu lets kids create games on the PC and Xbox via a simple visual programming language. Kodu can be used to teach creativity, problem solving, storytelling, as well as programming. Anyone can use Kodu to make a game, young children as well as adults with no design or programming skills.
๐ - CodeMonkey CodeMonkey is an engaging online game that teaches real computer programming to children as young as 9. We release new features and challenges on a monthly basis.
๐ - The Foos Welcome to The Foos, the #1 learn to code app for ages 5+. Get your kids excited about the ABC's of computer science with our award-winning game.
๐ - mBlock mBlock is a graphical programming envirnment based on Scratch 2.0 Open Source Code that makes it easy to program Arduino projects and create interactive applications.
๐ - Pyonkee Pyonkee is a real visual-programming environment for iPad. It is based on Scratch from the MIT Media Lab. Projects made for Scratch are compatible with Pyonkee.
๐ - Grasshopper Learn-to-code mobile app for beginners. Grasshopper app teaches coders how to write JavaScript. ๐
- Kodable Your child will learn to use conditions, loops, functions, and how to write and think algorithmically. Before reaching middle school, theyโll know the building blocks of every modern object oriented programming language.
๐ - Tynker Tynker is a creative computing platform and it offers self-paced online courses for children to learn coding at home, as well as an engaging programming curriculum for schools. ๐
- LightBot Solve Puzzles using Programming Logic.
๐ - Codea Codea for iPad lets you create games and simulations - or just about any visual idea you have. Turn your thoughts into interactive creations that make use of iPad features like Multi-Touch and the accelerometer.
๐ฐ - Cato's Hike Cato's Hike: A Programming and Logic Odyssey. ๐ฐ
Courses for advanced learners
- edX Open edX is the open-source platform that powers edX courses and is freely available. With Open edX, educators and technologists can build learning tools and contribute new features to the platform, creating innovative solutions to benefit students everywhere.
๐ - MIT OpenCourseWare MIT OpenCourseWare makes the materials used in the teaching of almost all of MIT's subjects available on the Web, free of charge. With more than 2,200 courses available, OCW is delivering on the promise of open sharing of knowledge.
๐ - Channel 9 Channel 9 is A great place to find video series on all sorts of technologies including improving your code it skills.
๐ - Microsoft Virtual Academy MVA is an online course repository for Microsoft technologies including but not limited to .Net language courses.
๐ - Gymnasium Gymnasium is bridging the gap between education and opportunity with free online courses. Design a career you love with free online courses on web design and development, user experience, accessibility, career skills, prototyping, and content creation. ๐
- Coursera Coursera provides universal access to the worldโs best education, partnering with top universities and organizations to offer courses online. ๐
- Udacity Udacity with industry giantsโGoogle, AT&T, Facebook, Salesforce, Cloudera, etc.โwe offer Nanodegree programs and credentials, designed so professionals become Web Developers, Data Analysts, Mobile Developers, etc.
๐ - Udemy Worldโs online learning marketplace, where 8 million+ students are taking courses in everything from programming to yoga to photography and much, much more. Each of our 32,000+ courses is taught by an expert instructor, and every course is available on-demand, so students can learn at their own pace, on their own time, and on any device.
๐ - Lynda Lynda.com is a leading online learning company that helps anyone learn business, software, technology and creative skills to achieve personal and professional goals.
๐ - Platzi Develop your skills by learning from top industry leaders at your own pace. Learn Marketing, Design, Programming and more to help grow your career!
๐ - DataCamp Learn R, Python and Data Science online.
๐ - Tutsplus 1,260+ video-based courses and short courses to help you develop creative and technical skills. What would you like to learn?
๐ - Stanford Online Stanford Online offers learners a single point of access to Stanfordโs extended education and lifelong learning opportunities both on campus and around the world.
๐ - Linkedin Learning Linkedin Learning offers courses for every step of your career. Instructors with real-world experience.
๐ - Future Learn Learn 100% online with world-class universities and industry experts. Develop your career, learn a new skill, or pursue your hobbies with flexible online courses. ๐
- Laracasts The best PHP and Laravel screencasts on the web. ๐ฐ
- Safari Books Online Safari by O'Reilly is the premier popular online book collection containing thousands of best-selling, top-rated IT, computing, technology and business books by leading authors.
๐ฐ - Pluralsight Pluralsight is an online education company that offers a variety of video courses for software developers, IT Administrators, and creative professionals.
๐ฐ - LinuxAcademy Linux Academy provides online in-depth training and certification courses for Linux, AWS, Azure, Google, OpenStack, DevOps, Big Data, and Containers.
๐ฐ - Sitepoint Learn web design and development, HTML, CSS, JavaScript, PHP, Node, React, WordPress and much more.
๐ฐ - One Month Learn Python, HTML, JavaScript, and more. Invest in yourself, and upgrade your career.
๐ฐ - SkillShare SkillShare is an online learning community for creators. With 5 million members and 20,000 classes, weโre on a mission to connect curious, lifelong learners everywhere โ and build a more creative, generous, and prosperous world.
๐ฐ
Competetive programming
- HackerRank Practice coding, prepare for interviews, and get hired.
๐ - Project Euler Project Euler provides a large collection of challenges in the domain of computer science and mathematics. ๐
- Leetcode LeetCode is the best platform to help you enhance your skills, expand your knowledge and prepare for technical interviews.
๐ - TopCoder TopCoder provides a list of algorithmic challenges to help you build your coding skills.
๐ - Coderbyte Coderbyte provides 200+ coding challenges you can solve directly online in one of 10 programming languages. ๐
Free data to work with
- Open Weather Map Access current weather data for any location on Earth including over 200,000 cities!
Current weather is frequently updated based on global models and data from more than 40,000 weather stations. Data is available in JSON, XML, or HTML format.
๐
License
To the extent possible under law, George Gognadze has waived all copyright and related or neighboring rights to this work.
Contributing
All contributions are welcome but please do not create a pull request without reading this guide first. Failure to do so may result in the rejection of the pull request.
- Fork the repository.
- Make changes to your fork also make sure that your changes are adequate to our repository and you don't provide the same resource that is already included.
- Free resources first, mixed resources second and paid resources third.
- Say why you proposing the changes, and make sure that you add changes at the bottom of the corresponding list and not at the top or in the middle. If resource is free find category and add it after last free resource in that list. Click on "Propose file change" with a smile
๐
References
- Google - Guide for Technical Development This guide provides tips and resources to help you develop your technical skills (academically and non-academically) through self-paced, hands-on learning. This guide is intended to target Computer Science students seeking an internship or university grad role at Google. ๐
Give this project a star โญ๏ธ
If you liked resources in this project, please share this project as much as you can and star this project to help as many people as possible to start learn coding and become a programmer.
Happy learning ๐