The GSSM Outreach staff have curated a collection of over 35 free computer science resources for teachers and students--all that is needed is internet access!


After Hours Programming
Grades 8 – 16. The primary purpose of this website is not just to educate you about a certain language or simply programming. The fact of the matter is that not all web development is programming. Sure, the markup language and the server side processes ultimately render the page for the user to see, but think about the massive websites like amazon.com, walmart.com, and google.com. Do you think that they just have programmers and maybe a few graphic designers? Absolutely not! They can have hundreds of employees working on the website that haven’t ever written a piece of code. This website is devoted to making you a more well-rounded developer by understanding what these other guys do and, of course, a whole lot of other important coding stuff. Tutorials topics include: HTML, CSS, JavaScript, PHP ColdFusion, Python, SQL, Graphic Design, Information Architecture, Usability, and SEO.

Blockly
Grades 4 – 8. Blockly Games is a series of educational games that teach programming. It is designed for students who have not had prior experience with computer programming. By the end of these games, players are ready to use conventional text-based languages.

Code.org
Grades K – 16. You don't have to be a software developer to teach computer science. Code.org makes it easy, no matter your background.  Code.org offers  their entire curriculum and course content completely free worldwide, without any sort of needed partnership to use their materials in your school or organization! You can find their curriculum in full at curriculum.code.org. They also offer professional development opportunities for K-12 teachers through either 1-day or multi-phase workshops. You can read more about these opportunities here

Code Conquest
Grades 8 – 16. An online guide to coding for beginners. This site is for someone who wants to learn about coding, but doesn't know where to start. This site has all the step-by-step information needed to get started. Learn all about coding – how it works, the benefits of learning it, and what today’s common coding languages are. The code tutorials introduce users to many widely used website languages like HTML, CSS, JavaScript and PHP. The purpose of each of these tutorials is not to fully learn each language but an introduction in order to make a confident decision as to continue learning these languages. Each code tutorial finishes up with details on how to learn more.

Code for Life
Grades K – 12. Learning coding from Blockly to Python. Once you’ve registered you’ll be able to create your class or club; track each student's progress; and download free teaching packs which include lesson plans, student resources and assessment tools. There are even videos to help you and your class understand what you’ll be learning next.

Code Monster
Grades K – 4. An interactive tutorial for kids that focuses on action. Code changes immediately yield visible results. Projects start with simple boxes and colors, rapidly progressing into exciting experiments with simple animation and fractals. Important programming concepts like variables, loops, conditionals, expressions, and functions are introduced by example. Code Monster is fun introduction to programming concepts. It is not intended to teach all of computer science and programming. Code Monster teaches kids and adults a little about Javascript programming. Code Monster saves what lesson you are on, so feel free to stop at any time and come back later. As long as you come back on the same browser on the same machine, you'll get back to your lesson.

The Code Player
Grades 6 – 16. Learn HTML5, CSS3, Javascript and more: video style walkthroughs show cool stuff being created from scratch.

Codeasy
Grades 8 – 16. A C# tutorial for people who know nothing at all about programming. All you need is to be willing to learn C# from the ground up. The course will also be useful for those who already have a little experience in programming. Travel through an exciting adventure story set in the far future. Machines have taken over the world, but YOU will save the world by coding! While reading, you’ll face challenges that require real coding to solve. You're smart enough to meet the challenges, though, aren't you? Don't chicken out! The fate of the world depends on you! Who will win in the end?

Codecademy
Grades 9 – 16. Teachers and/or students can learn coding topics in 12 various programming languages through Codecademy. This online interactive platform also allows users to personalized their learning methods, quizzes, and real-time projects.

Codewars
Grades 9 – 16. Codewars enables you to learn your preferred programming language by challenging you to solve one challenge at a time and sharpen your existing skills. You can either learn more about your favorite programming language (for example, JavaScript, Java, Python, C# and others) or gain exposure to a new language.

Collabedit
An online code editor that lets people collaborate in real-time. It works in your web browser so no installation is needed. Features include text editor, chat, document history, and syntax highlighting for programming languages. Great for collaborative coding because email and instant messaging do not work well for sharing code. They don't preserve whitespace, the fonts aren't monospaced, the spell check gets in the way, etc. In addition, they don't have a good editor, they're only good for copy and paste. Collabedit has what you need - a good editor, syntax highlighting, real-time collaboration, chat and versioning.

<computerphile>
Videos all about computers and computer stuff.

Computer Programming Languages
Grades 6 – 12+. There are dozens of programming languages used in the industry today. Computer Programming Languages has compiled overviews of 12 of the most commonly used languages including Python, Java, HTML, JavaScript, and C++. The overviews includes which professions, industries, specializations, and major organizations uses each language and why learning each of the language is important. The Try it out! section is a particularly interesting feature for those who want to have an hands-on experience with any of the 12 programming languages included.

ComputerScience.org
Grades K  – 12+. A massive guide to STEM for kids. This guide provides links to over 150 courses, resources for each subject of the STEM curriculum, handpicked websites, activities, and is even organized by age group for easy access. ComputerScience.org offers a collection of financial aid, academic, and career resources. Curated by industry professionals, this site provides students and professionals with up-to-date information in computer science education. 

CS First
Grades 5 – 9. A computer science curriculum that makes coding easy to teach and fun to learn. CS First empowers every teacher to teach computer science with free tools and resources. Students learn through video tutorials and block-based coding in Scratch. CS First is totally free — any number of students, all materials, as many activities as you want.

Dash
Grades 8 – 16. Learn to code awesome websites in HTML, CSS and Javascript. Dash is an online course that teaches the basics of web development through projects that can be completed in the browser.

diagrams.net
Open source, online, desktop and container deployable diagramming software. Diagrams.net has everything you expect from a professional diagramming tool and you can store your data wherever you want to!

Excel Easy
Grades 4 – 16+. If you're an Excel beginner, this is a good place to start. You can use Excel to enter all sorts of data and perform financial, mathematical, or statistical calculations and is a great tool for organizing data and lists. This free site is not only well organized and user friendly it also offers a free tutorial on how to use Excel and includes an overview of all chapters and over 300 examples. 

freeCodeCamp
Grades 9 – 16. A platform to help students learn to code. FreeCodeCamp has thousands of videos, articles, and interactive coding lessons and thousands of freeCodeCamp study groups around the world. 

Girls Who Code
Grades 3 – 16. Girls Who Code has several different programs. Choose from club (facilitator toolkit) or campus (instructor toolkit) to get the appropriate materials and information. The registered Program Facilitator will access either the Standard Club (15-week) or Mini Club (10-week) curriculum materials by selecting the appropriate link on the HQ menu. There is also a Summer Immersion Program curriculum.

Glossary of Coding Terms for Beginners
Grades K – 12+. Coding tells the computer what to do using a language it understands. There are dozens of different programming languages, but they all share a single foundation. Each language follows a specific set of rules that determines how code should be written, and then uses back-end software to translate it into binary (the computer’s native language). Even if you don’t intend to take on programming yourself, encouraging children to code will be easier if you can speak the same language as them. This glossary is a quick-reference tool to help kids work through their initial coding questions and concerns.

Google Sites
Grades 6 – 16. Build internal project hubs, team sites, public-facing websites, and more—all without designer, programmer, or IT help. With the new Google Sites, building websites is easy. Just drag content where you need it. When you create a new site, it’s automatically added to Drive, like your other files stored in Drive. You can edit a Google Site together with someone else in real time, and see each other’s changes live. Publish the site for everyone to see, or restrict sharing permissions and make the site accessible only to people you choose. Google Sites websites are responsive, which means they’re optimized for tablets and smartphones, too. Note: You can view the new Sites on most browsers on computers and mobile devices. However, at this time, you can only edit new Sites content on a computer using Chrome or the Mozilla Firefox browser. 

Grasshopper
Grades 6 – 16. Students of all ages can learn to code with this fun app for beginners. With quick lessons on your phone or desktop, Grasshopper teaches adult learners to write real JavaScript. It’s currently available for Desktop, Android, and iOS. Grasshopper covers the foundations of JavaScript, how to create animations with code, teaches solving problem techniques needed for technical interviews and introduces how to build a website with HTML and CSS. Learn coding fundamentals, like functions, variables, and much more. This is a JavaScript course, but the concepts apply to any programming language. Build your skills as you work through progressively challenging courses.

Khan Academy: Computing
Grades 6 – 12. The computer science content, JavaScript, HTML/CSS, and SQL, is a hands-on, engaging, and relaxed course including short, focused training videos.  Technical terms are kept to a minimum and the content is taught in everyday conversational language.

Kid-Friendly Coding Languages and Learning Tools
Grades K – 12+. There are hundreds, potentially thousands, of programming languages-estimates range from 250 to almost 9,000. With so many options, it can be overwhelming figuring out where to start beginner coders, especially kids. This link provides information about learning-friendly coding languages and an index of popular online programs, apps, community pages and camps meant for K-12 students.

Kids and Coding: Resources for Educators
Grades K – 12+. This collection of free resources, published by Syracuse University, is for educators and beginners to the skill of coding. It includes several learning pages, such as: "Glossary of Coding Terms," "Six Tips for Teaching Kids How to Code," "How to Teach More Than Just Coding," and "Kid-Friendly Coding Languages and Learning Tools." This guide introduces students and teachers to an essential building block of computer science. This hub also supports students independently learning an important skill.

Kodu
Grades 4 – 9. 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. For educators: Kodu has compiled some key resources — including training videos, sample lessons, starter worlds, and connections to other Kodu educators, to make your on-ramp as smooth as possible.

LearnCode.academy
Grades 6 – 16. The YouTube channel for learning web development. LearnCode.academy has tips, tricks, and tutorials designed for first-time programmers. Beginners can replay and review the coding tutorial clips.

Machine Learning for Kids
Grades 6 - 12. This tool introduces machine learning by providing hands-on experiences for training machine learning systems and building things with them. It provides an easy-to-use guided environment for training machine learning models to recognize text, numbers, images, or sounds. This builds on existing efforts to introduce and teach coding to students, by adding these models to educational coding platforms Scratch and App Inventor, and helping students create projects and build games with the machine learning models they train.

MIT App Inventor 
Grades 6 – 12. An intuitive, visual programming environment that allows everyone – even children – to build fully functional apps for smartphones and tablets. Those new to MIT App Inventor can have a simple first app up and running in less than 30 minutes. The blocks-based tool facilitates the creation of complex, high-impact apps in significantly less time than traditional programming environments. Educators: see the "Teaching with App Inventor" section for all the resources and help needed to set up your classroom for App Inventor.

The Odin Project
Grades 6 – 12+. The Odin Project provides a free open source, web development coding curriculum that can be taken entirely online. The Odin Project is for absolute beginners who want to work as a web developer, do freelancing work, build a startup, or just hack together a homepage. With the Odin Project you'll create your own websites, games, and social media sites.

Praxent
Grades K – 9. Praxent includes links to several free, fun coding activities and games. The games include Cademoji Playground, Codingame, Code Combat, Robocode, and Code Your Hero.

Python
Grades 6 –12+. Python.org is a free website for beginners or experienced programmers. Beginner's guides for programmers and non-programmers, a download and installation guide, and code samples are only a few of the many resources available. The website is user friendly and is a great resource for those wanting to learn Python.

Scratch
Grades 3 – 12. Scratch is designed especially for ages 8 to 16, but is used by people of all ages. Millions of people are creating Scratch projects in a wide variety of settings, including homes, schools, museums, libraries, and community centers. The ability to code computer programs is an important part of literacy in today’s society. When people learn to code in Scratch, they learn important strategies for solving problems, designing projects, and communicating ideas. Students are learning with Scratch at all levels (from elementary school to college) and across disciplines (such as math, computer science, language arts, social studies). With Scratch, you can program your own interactive stories, games, and animations — and share your creations with others in the online community. Scratch helps young people learn to think creatively, reason systematically, and work collaboratively — essential skills for life in the 21st century.

Six Tips for Teaching Kids How to Code
Grades K - 12+. Coding curriculums and self-taught courses are flooding the internet, and it’s more possible for anyone to become a coding teacher: parents, educators, and students themselves. But explaining new concepts like loops and conditionals to a child is difficult, especially if the teacher is new to them, too. For people who find themselves in the position of coding teacher—whether in a formal classroom setting or as a mentor—here are some recommendations from experts and curriculum creators.

W3Schools
Grades 8 – 16. W3Schools is a school for web developers, covering all the aspects of web development. W3Schools' tutorials start from basic level and move all the way up to professional references. W3schools presents thousands of code examples. By using our online editor, Try it Yourself, you can edit examples and execute computer code experimentally, to see what works and what does not, before implementing it.

Women in Computer Science: Getting Involved in STEM
Grades 6 – 12+. According to the American Association of University Women, computer science has one of the smallest pay gaps between male and female professionals, with women earning 94% of what men earn. Learn all about the advantages of working in a computer science field and confront many of the misconceptions about computer science.