Introduction to Coding
Explore a guided path from your first coding activities to block-based projects, written programming languages, and advanced creation tools.
Start with Code.org’s structured courses, create with Scratch, explore guided projects from Experience CS, and continue into websites, apps, Python, Unity, Unreal Engine, and other areas that match your interests.
Choose the Path That Fits You
You do not need to complete every resource on this page. Begin with the section that matches your age and experience, then move forward when you are ready for a new challenge.
Coding is learned by creating, testing, fixing problems, and trying again. There is no single path that every learner must follow.
Choose a Learning Path
Use these four pathways to find the section that best matches your current experience.
Start with the Fundamentals
Begin with lessons that teach sequencing, loops, events, problem-solving, and basic computer science.
Best starting point: Code.org
Create with Blocks
Make interactive stories, animation, art, music, and other projects using visual coding blocks.
Best starting points: Scratch and Experience CS
Move to Written Code
Begin typing JavaScript, HTML, CSS, Python, or Java after learning the basic ideas through blocks.
Best starting points: Code.org Labs
Create Larger Projects
Use professional tools to create more advanced 2D, 3D, simulation, animation, and interactive projects.
Best starting points: Unity and Unreal Engine
Start with Code.org
Code.org provides a structured path for learners from elementary school through high school. Begin with the course that best matches your grade level or experience, then use the curriculum catalog to explore other topics.
Code.org Curriculum Catalog
Browse courses, tutorials, and activities by age, topic, duration, and experience level.
Code.org Tools and Labs
Explore individual spaces for animation, applications, websites, Python, music, and other types of projects.
Short Coding Activities
Try a shorter activity before beginning a full course or use one to explore a new topic.
Elementary Foundations
Younger learners can begin with structured visual coding activities that introduce problem-solving, sequences, loops, events, choices, and creative projects.
Computer Science Fundamentals
Code.org’s Computer Science Fundamentals provides six beginner courses covering grades K–5. The courses use tools such as Sprite Lab and Play Lab and include both computer-based and unplugged learning.
Middle School Exploration
Middle school learners can begin exploring a wider range of topics, including websites, animation, applications, data, physical computing, design, and artificial intelligence.
Computer Science Discoveries
A flexible course for grades 6–10 with units covering problem-solving, websites, applications, animation, data, and physical computing. Units can be used separately or combined into a longer course.
AI Discoveries
Code.org’s newer middle-school pathway combines computer science foundations with AI literacy, programming, web development, data, design, and physical computing. It is intended for grades 6–8 and can be taught as a quarter, semester, or year-long course.
High School Pathways
High school learners can choose a broad introduction, prepare for an AP course, study Java, or explore artificial intelligence and written programming.
Computer Science Principles
A broad introduction to programming, data, the internet, algorithms, and the ways computing affects society. It can also support preparation for AP Computer Science Principles.
Computer Science A
A Java-based pathway focused on written programming and object-oriented thinking.
AI Foundations
A high-school course that combines artificial intelligence, computer science, data, cybersecurity, Python, JavaScript, and web development. Code.org offers full-year, semester, and shorter-unit options.
Create with Scratch
Scratch is a free visual coding environment for creating interactive stories, animation, art, music, and other projects. It is designed especially for learners ages 8–16, although people of all ages use it.
Scratch is a good next step after structured lessons because it gives learners an open space to develop their own ideas.
Getting Started with Scratch
Learn how to add characters, move them, use sounds, and create basic interactions.
Scratch Tutorials
Follow short guided tutorials inside the Scratch editor.
Scratch Starter Projects
Open a working project, look inside, change the blocks, and add your own ideas. Starter categories include animation, interactive art, music, stories, and video sensing.
Open the Scratch Editor
Begin a blank project and create something of your own.
Scratch Educator Resources
Find information and resources for classrooms, libraries, museums, clubs, and other learning spaces.
Experience CS with Google and Raspberry Pi Foundation
Experience CS provides free computer science units for grades 3–8. The lessons connect coding with subjects such as math, science, languages, art, and other classroom areas.
The complete collection currently includes 18 units, with three units for each grade from 3 through 8. Educators can create a free account through Google or the Raspberry Pi Foundation to access teaching resources and support.
This is a strong option for learners who want guided Scratch-based projects after completing basic coding lessons.
Experience CS Units
Browse the full collection by grade and subject connection.
Getting Started with Scratch
Experience CS includes an optional introductory unit for students who need help beginning with Scratch before starting the grade-level units.
Experience CS Home
Learn more about the program and create an educator account.
Explore More Coding From Partners
After learning the basics, learners may want additional practice based on a particular interest such as storytelling, animation, robotics, or creative design.
Rather than building a very large list of outside sites, use the Code.org Curriculum Catalog and Hour of Code collection to find current partner activities.
Hour of Code / Hour of AI
Bitsbox
Bitsbox introduces JavaScript through short app-building activities. It can be useful for learners who are ready to type and change real code.
Move from Blocks to Written Code
Block coding teaches important ideas such as order, loops, events, variables, and choices. Written coding uses those same ideas but requires learners to type the language more directly.
App Lab
App Lab allows learners to create application-style projects using JavaScript blocks or typed JavaScript, making it a useful bridge from visual coding to written code.
Web Lab
Web Lab introduces website and web application creation with HTML, CSS, and JavaScript. Its current version also includes optional AI-supported tools for eligible classrooms.
Python Lab
Python Lab is a student-friendly environment that runs real Python code and is used within Code.org’s AI Foundations materials.
Computer Science A and Java
Learners who are ready for a longer written-programming course can continue into Code.org’s Java-based Computer Science A pathway.
Continue with Online Courses
Older learners and adults can continue with longer online courses covering programming, computer science, web development, data, cybersecurity, and related topics.
edX Computer Programming Courses
Browse courses from universities and learning organizations. Some courses can be viewed without paying, while certificates, graded assignments, and complete programs may have a cost.
Build Larger Interactive Projects
Unity and Unreal Engine are powerful professional tools. They are best used after learners are comfortable solving coding problems, organizing files, following longer tutorials, and working through errors.
These are advanced learning paths, not the required next step after Scratch. Learners can continue creating with Scratch, web tools, Python, or Java for as long as those tools meet their goals.
Create with Unity
Unity can be used for 2D and 3D interactive projects, animation, simulations, virtual reality, augmented reality, and real-time experiences. Unity Learn offers free guided pathways for beginners and more experienced creators.
Unity Essentials
A beginner pathway that introduces the Unity editor, scenes, 2D, 3D, audio, programming, and publishing. No previous Unity experience is required.
Junior Programmer
A longer pathway that introduces C# programming, debugging, project organization, interface development, and object-oriented programming. Unity recommends completing Unity Essentials or having basic Unity knowledge first.
Unity Learn
Browse additional free pathways, projects, tutorials, and educator materials.
Create with Unreal Engine
Unreal Engine supports advanced 3D interactive projects, simulation, animation, virtual production, and real-time development. Beginners can start with Epic’s official introductory documentation and guided projects.
Unreal Engine for New Users
Learn how to install Unreal Engine, create a first project, understand the editor, build interactions, and package a project for sharing.
Your First Hour in Unreal Engine
Follow a guided video series that introduces project setup, editor navigation, Blueprints, interface tools, and project packaging.
Epic Developer Community
Browse official Unreal Engine documentation, tutorials, samples, and learning materials.
