High School

CodeVA offers four training programs for High School educators and education professionals:

  • The Computer Science Foundations training prepares science teachers to teach a high school elective in computer science
  • AP Computer Science Principles prepares teachers to teach an Advanced Placement level course.
  • Programming in Scratch and Programming in Python are focused on building programming knowledge.

CodeVA provides training tuition waivers to all full-time educators working in Virginia public school divisions who are accepted through our registration process. This includes all curricular materials.


Computer Science Foundations

Virginia State Course Code: 10020

Computer Science Foundations is a introductory level course that prepares students for future study a variety of fields, including computer science, cybersecurity, web design, and networking.

CodeVA’s training program uses the Exploring Computer Science curriculum. It was developed around a framework of both computer science content and computational practice. Assignments and instruction are contextualized to be socially relevant and meaningful for diverse students. Units utilize a variety of tools/platforms, and culminate with final projects around the following topics: Human Computer Interaction, Problem Solving, Web Design, Programming, Computing and Data Analysis, and Robotics.

Developed at UCLA in partnership with the Los Angeles Unified School District, the Exploring Computer Science curriculum is the National Science Foundation funded project to expand participation in computer science. It is the foundation of Computer Science for All. The curriculum is a complete day-by-day curriculum, and a unique professional development to help you implement it in your classroom.

In addition to the new Computer Science Foundations course, the Exploring Computer Science training can be used in a variety of classes, including Computer Math and IT Fundamentals.

The initial training takes five days over the summer and four follow up Saturday sessions during the school year. Curriculum is included for free as a part of the program. 

Preview the Curriculum  

Register Here View Schedule


AP Computer Science Principles

Virginia Course Code: 10011

AP Computer Science Principles is a college level course that covers the foundational concepts of computer science and challenges students to explore how computing and technology can impact the world.

This new AP course was launched in 2016 with the intention of opening computer science opportunities to more students. Developed in a partnership between the National Science Foundation and College Board, the new AP Computer Science Principles class is intended to provide a rigorous and relevant look at the dynamic field of computer science. In order to launch this course, College Board partnered with universities and organization to provide “AP Endorsed” curricula that include classroom materials and robust training programs.

CodeVA’s training program is provided in partnership with Code.org. Our training team are experienced high school AP Computer Science teachers who have worked for College Board as graders.

The training consists of five days over the summer, two in person follow up Saturday sessions during the school year, and four one hour online sessions.

Preview the Curriculum

College Board’s AP CS Principles site

Register Here View Schedule


Coding in Scratch

This one-time sixteen hour program is designed to develop and build skills in programming for a K-5th grade classroom by focusing on the main structures of coding. Participants will learn concepts associated with variables, if-then statements, functions, and iterators through plugged and unplugged activities. Join us and enjoy being creative with programming by creating your own app, developing models, and work-shopping curriculum for your classroom from the content taught in this two day event. We ask teachers to bring their own computer with them to their session. We recommend bringing the device used most often in your classroom.

    • Participants will focus on:

    • Knowledge of Computer Science Standards of Learning.
    • Skills in using the Scratch programming language.
    • Examples of lessons teachers have used in their classes.
    • Awareness of resources and materials that teach programming.

Register Here View Schedule


Coding in Python

This one-time eight hour program is designed to develop and build skills in programming for elective courses by focusing on the main structures of coding in Python. Participants will learn concepts associated with variables, control structures, boolean algebra, functions, and parameters through text-based programming activities. Come enjoy being creative with programming by creating content for your classroom. We ask teachers to bring their own computer with them to their session. We recommend bringing the device used most often in your classroom.

    Participants will focus on:

  • Knowledge of Computer Science Standards of Learning.
  • Skills in using the Python programming language.
  • Strategies to help incorporate programming into classroom.
  • Awareness of resources and materials that teach programming.

Register Here View Schedule