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.

  • Completely new to coding? Begin with Code.org.
  • Want to create stories and animations? Explore Scratch.
  • Want guided Scratch lessons connected to school subjects? Try Experience CS.
  • Ready to type code? Explore App Lab, Web Lab, or Python Lab.
  • Interested in larger 2D or 3D projects? Continue to Unity or Unreal Engine.
  • Looking for college-level study? Explore online course platforms.

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.