The GSSM Outreach staff have curated a collection of 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.

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!

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.

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.

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.

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.

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.