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).

Explore course
Video thumbnail

A new approach to AP® CSA

  • Culturally responsive pedagogy
  • Real-world problem investigation
  • Explainer videos with diverse presenters
  • Open-ended projects for more personalized learning
  • Student-friendly code review tool
Explore course

Curriculum at a glance

  • Grades: 9-12

  • Level: Intermediate

  • Duration: School Year

  • Devices: Laptop, Chromebook

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

  • Programming 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

Engaging projects and activities that inspire learning

Java Lab

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

Try Java Lab

Objects first

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.

Learn more about our approach

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.

Explore example choice level

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

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
Introducing How AI Works

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

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

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

Programming Tools

Code.org's integrated development environments (IDEs) cater to students of all skill levels.

We offer a versatile and user-friendly platform that supports a variety of programming paradigms. This enables learners to seamlessly transition from block-based coding to text-based languages, and fosters creativity and innovation.

Try out programming tools
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
Introducing How AI Works

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
Programming Tools

Programming Tools

Code.org's integrated development environments (IDEs) cater to students of all skill levels.

We offer a versatile and user-friendly platform that supports a variety of programming paradigms. This enables learners to seamlessly transition from block-based coding to text-based languages, and fosters creativity and innovation.

Try out programming tools

Professional learning that meets your needs

Get the support you need as you prepare to teach.

Our highly supportive Professional Learning Program will bring you together with a group of teachers to learn from each other as well as expert facilitators as you take on the first year of teaching the free CSA curriculum to your students.

In-person and virtual workshops starting this summer.

Apply for Professional Learning

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

For more information about the values that guided our work, please see our curriculum values and our professional learning values.

Looking for things to do after the AP® exam?

Software Engineering & Computer Vision

This two-chapter post-AP® CSA module offers high school students hands-on experience with professional software development tools, including GitHub and GitHub Copilot, and imparts them with the real-world skills to develop a computer vision program.

Duration: 5+ hours

Explore module

Support and questions

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.

Contact Code.org support Explore teacher forums