Awesome coding and learning resources for everyone. Most of these links will make your learning process fun and creative. The best thing about these resources is that most of it is free. There is tag for every link it is either Free - 🆓, Paid - 💰 or Mixed - 🔄.
####Coding resources for beginners of all ages
- W3schools A collection of coding challanges and place of contasts for each level of coders. 🆓
- Code.org Tutorials Simple tutorials/puzzles for beginners that can be completed in an hour or less. 🆓
- 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! 🆓
- 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. 🆓
- 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 (Python, JavaScript, Lua, CofeeScript, Clojure). 🔄
####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. 🆓
####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. 🆓
- Computer Science 101 CS101 teaches the essential ideas of Computer Science for a zero-prior-experience audience. The course uses small coding experiments in the browser to play with the nature of computers, understanding their strengths and limitations. 🆓
- 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. 🆓
- 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. 🔄
- 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. 💰
####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. 💰
####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. 🆓
- 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. 🆓
- 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. 💰
####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. 🆓
- 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 We’re the 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. 🔄
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.
- 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 thing that is already included.
- Say why you proposing the changes, and then click on "Propose file change". Also make sure that you add changes at the bottom of the corresponding list and not at the top or in the middle.
####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. 🆓
Happy learning ♥