AP® Computer Science A

Introduce students to software engineering and object-oriented design while they learn the Java programming language in this free curriculum for AP® Computer Science A (AP® CSA).

This is the hero image for the AP Computer Science A landing page

A new approach to AP® CSA

Teach Java programming with a modern approach that supports all learners.

  • Explore CS concepts through real-world problem-solving.
  • Engage with diverse voices through high-quality explainer videos.
  • Open-ended projects that encourage creativity and personalized learning.
  • User-friendly code review tool for effective feedback and growth.

Curriculum at a glance

  • Grades: 9, 10, 11, 12

  • Level: Intermediate

  • Duration: School Year

  • Devices: Computer, Chromebook

  • Topics: Art and Design, Games and Animations, Programming, Data

  • Tools: Java Lab

  • Professional Learning: Facilitator-led Workshops

  • Accessibility: Text to Speech, Closed captioning, Immersive reader

  • Languages supported: English

I could tell last year how different and better this curriculum and resources were than anything else out there... but this year, these past few weeks preparing students for the exam have been some of my most fun teaching. And I'm hardly doing anything! Kids understand the material and are talking with each other at such a high level and it's a direct reflection of the lessons and activities throughout the year. Thank you, thank you.

AP® Computer Science A Teacher

High School Teacher

Pick your approach

We offer two Computer Science A courses covering the same topics in different orders. You can pick the one that works best for you!

Computer Science A: Objects First

This version of the Code.org CSA curriculum follows an object-first approach and does not use the unit structure outlined in the AP Computer Science A Course and Exam Description (CED). All required course content is still covered, but topics are introduced in an order that prioritizes early engagement with object-oriented programming.

Computer Science A: College Board Course Exam Description Aligned

This version of the Code.org CSA curriculum organizes concepts using the same unit structure outlined in the AP Computer Science A Course and Exam Description (CED), including unit titles and themes. While the topics are mostly grouped into the same units as the CED, they may appear in a different order within each unit.

Java Lab

Java Lab is a programming environment where you can make Java programs using The Neighborhood, The Theater, or the console.

Object-oriented programming

Students learn the fundamentals of object-oriented programming (OOP) first, giving them a foundation for the rest of the course while encouraging them to consider the overall design of their programs.

Choice levels

Students are offered the choice between a variety of tasks that reinforce course objectives while allowing for differentiation and customization, meeting students where they are at and encouraging them to go further.

Resources that support you every step of the way

Sign up for a Code.org account to get access to materials that will help you teach computer science with confidence. Code.org has extensive resources designed to support educators, even those without prior CS teaching experience.

Lesson Plans

Lesson Plans

Get step-by-step guidance, learning objectives, and assessment strategies for effective teaching. Helpful resources include slide decks, activity guides, rubrics, and more — all organized in one place. Each lesson plan is accompanied by tips for classroom implementation, differentiation ideas, and extension activities to cater to students of all abilities.

Explore example lesson plan

Videos

Instructional videos

Watch easy-to-understand overviews of computer science and programming concepts. Code.org video series are designed specifically to support your classroom and are engaging and fun to watch.

Explore all videos

Slides

Slide decks

We offer educators an organized, visually engaging, and pedagogically sound framework to deliver computer science lessons. Code.org slide decks provide step-by-step instructions, examples, and interactive activities that align with curricular objectives.

Explore example slide deck

Assessments

Assessments

Our curricula includes a comprehensive system of formative and summative assessment resources. These include rubrics, checklists, mini-projects, end-of-chapter projects, student-facing rubrics, sample projects, and post-project tests — all designed to support teachers in measuring student growth, providing feedback, and evaluating student understanding.

Explore an assessment lesson

Progress

Track your students' progress

Our powerful progress view helps you monitor student work by providing insights into completion status, time spent, and more. Easily track each student's learning journey, quickly assess participation, and give personalized feedback.

Sign up to start tracking progress
Stylized depiction of Code.org student progress view

Additional AP CSA resources for educators

EXAM PREP

Custom Quizzes for AP Classroom

Unlock the full potential of AP Classroom with Code.org's custom quizzes, seamlessly mapped to our curriculum sequence. Empower your teaching and boost your students' AP exam readiness with practice materials that resonate with the way you teach.

Grades 9-12

Computer Vision

Explore how artificial intelligence interprets visual data through our computer vision units. Equip students with essential skills in image processing, object recognition, and ethical AI considerations, preparing them for future opportunities in technology.

Frequently asked questions

Is CSA mapped to standards?

Yes, Code.org's CSA curriculum is mapped to the College Board Course and Exam Description for AP® CSA.

How much does it cost to teach CSA?

Our curriculum and platform are available at no cost for anyone, anywhere, to teach!

How/Where can I get professional development for CSA?

Professional learning workshops for Code.org's CSA curriculum start each summer. Click here to apply.

What is the recommended timing for teaching CSA?

A minimum of 140 class hours; should be taught as a full-year course. Contains nine units, which includes an AP® Exam Prep unit.

What materials do I need for this course?

This curriculum requires that students have access to computers with a modern web browser. At this time, our curriculum is not optimized for tablets or mobile devices. For more details, check out our technology requirements. In addition to technology, typical classroom supplies like scissors and sticky notes will also be used throughout the curriculum.

Why do I need to become a verified teacher to teach CSA and run code in Java Lab?

Java Lab is a unique environment from all other Code.org programming environments and requires additional measures to ensure network security for all. Read more about it here.

How can I access answer keys?

With an approved teacher account, you can find answer keys in a blue "Teacher Only" panel that shows in the online lessons and activities.

Teachers in our Professional Learning Program will automatically be approved to view answer keys. If you need an approved teacher account, you can apply for access to protected teacher-only materials (answer keys, etc) through this form. Please keep in mind that it may take 3-5 business days to verify your account.

How was the curriculum developed?

Our CSA curriculum was written by teachers, for teachers and was designed with our Curriculum Values in mind. In particular, we focused on expanding access to those who historically have been denied opportunities to learn about the exciting and impactful field of computing. The following goals guided the creation of the CSA curriculum:

  • Goal 1: Develop an Equitable Course
  • Goal 2: Prepare Students for Higher Ed and Industry
  • Goal 3: Design Relevant, Engaging Activities
  • Goal 4: Incorporate Best Practices from the Field

Teachers sitting and discussing at a Code.org event

Still have questions? Reach out to us! We are here to help.

Our support team is here to answer any questions you may have about starting teaching with Code.org. You can also ask other teachers about their experience on our teacher forums.

Subscribe for updates

Sign up to receive monthly emails about Code.org's AP® Computer Science A and get helpful reminders, tips, and updates sent right to your inbox.

You can unsubscribe at any time.

Additional resources

Paragraph

Curriculum Catalog

Comprehensive curriculum offerings for every grade and experience level featuring robust structured and self-paced learning options.

Video Library

Explore our large library of engaging and informative videos to learn about key computer science concepts on a broad range of topics.

Professional Learning

Flexible, high-quality training that helps build confidence and equips teachers to effectively teach computer science with our curriculum.

In partnership with

Amazon Future Engineer is a comprehensive childhood-to-career program to inspire, educate, and train low-income and other disadvantaged children and young people to pursue careers in computer science. Learn about our partnership.