Elementary School

CodeVA offers nine training programs for elementary public school educators and public school education professionals:

    • The K5 Coaches Academy prepares district employees to do professional development in computer science.
    • K5 Launching CS helps classroom teachers implement the new computer science standards.
    • The K5 CS Integration program help K-5 teachers explore Computer Science and learn how to integrate the VA CS SOLs into core curriculum with students.
    • K5 CS Starter Pack introduces educators to computer science and to help prepare them for integrating computer science into their classroom.
    • Programming in Scratch and Programming in Python are focused on building programming knowledge.
    • Programming in Scratch II and Programming in Python II are focused on continuing to build on programming knowledge.
    • The Google CS First program introduces fundamental computer science concepts and build computer programs using Scratch, a block-based programming language.

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.


K5 Coaches Academy

This multi-day academy prepares educators to lead professional development sessions on the topic of the Computer Science SOLs. Participants will learn what computer science is and how to share this information with their colleagues. The course will also provide an in-depth look at the grade level standards and why we are teaching computer science at the K-5 level.

Participants may include: K-5 classroom teachers, instructional technology staff, specialists (LMS, Gifted, Computer Technology, STEM, etc) or instructional leaders in the building or district.

The K5 Coaches Academy prepares team leaders to:

  • Investigate the Computer Science VA SOLs
  • Relate the CS SOLs with cross-curricular opportunities for integrated lessons in core subject areas
  • Gain experience and confidence in teaching programming concepts through unplugged lessons and Scratch
  • Create a professional development plan to introduce CS to team members
  • Evaluate and curate resources and tools to teach CS
  • Gain confidence in coaching others through teaching CS
  • Implement professional development using pedagogy best suited for computer science instruction
  • Help their district to make informed decisions about ongoing computer science curricular needs

The program includes online modules covering core content, a 5-day online summer practicum, four follow up sessions during the school year, and a PLC focused on community learning.

Register Here View Schedule


K5 Launching CS

This program is a one-day session to prepare educators for the inclusion of computer science standards into their regular curriculum. Participants will explore the Virginia Computer Science strands and how to connect these standards to the 5 C’s and Profile of a Graduate requirements. Participants will also gain practical, hands-on experience with entry level tools of computer science.
This course is a prerequisite for K5 – CS Integration and is offered as a stand alone class as well in combination with other classes (e.g. CS Starter Pack, K5 Coaches Academy).

Participants from different levels of CS knowledge and background will find this training informative and engaging, including: K-5 classroom teachers, instructional technology staff, specialists (LMS, Gifted, SPED, ELL, STEM, etc.), curriculum writers, or instructional leaders at the building or district level.

The K-5 Launching CS program prepares educators to:

  • Relate computer science standards to current subject areas and find ways to make connections between the curricula.
  • Investigate what computer science is and how CS can equip our students for problem solving in a technology filled world.
  • Examine current practices and identify where modifications can be made to include more computer science vocabulary and skills.
  • Practice teaching and building student-facing unplugged activities for exploring CS concepts

The session includes online modules covering core content, a 1-day online summer practicum minimum, and a PLC focused on community learning. Depending on school needs, the sessions may be conducted in one day or spread over several after-school sessions.

Register Here View Schedule


K5 CS Integration


This program is a one-day course designed to help K-5 teachers explore Computer Science and learn how to integrate the VA CS SOLs into core curriculum with students. Participants will gain a deeper understanding of the computer science conceptual strands and focus on methods to help identify overlapping topics and concepts. Through this training, educators will design integrated lessons for their classroom using CodeVA’s Computer Science Integration Guide and explore pre-made lessons with our facilitators skilled at integrating Computer Science into their own K-5th grade classrooms.

The K5 – CS Integration program prepares educators to:

  • Expanding knowledge of the VA K-5 Computer Science Standards of Learning
  • Explore and identify conceptual connections between core curriculum and computer science.
  • Create lessons that weave computer science into core content areas in a way that builds a foundation of applying computer science related concepts.
  • Determine the right level of integration for teaching computer science related topics

The session includes online modules covering core content, a 1-day online summer practicum minimum, and a PLC focused on community learning. Depending on school needs, the sessions may be conducted in one day or spread over several after-school sessions.

Register Here View Schedule


K5 CS Starter Pack

This five-day course will introduce educators to computer science and to help prepare them for integrating computer science into their classroom. Participants will explore the VDOE Computer Science standards and determine best practices of how these can be taught with their everyday curriculum. This course will consist of strategies to use computer science in the K-5 classroom and provide an introduction to a coding platform and language (either Scratch or Python).

Scratch – Participants will partake in a variety of projects and collaborate with other educators to assist each other on how to use Scratch and create a plan of integrating computer science in their classroom.

Python – Participants will learn the fundamentals of using a text-based programming language and build various projects that can be used in an upper elementary and middle school level classroom.

Participants may include: K-5th Grade classroom teachers, instructional technology staff, specialists (LMS, Gifted, SPED, ELL, STEM, etc.), curriculum writers, or instructional leaders at the building or district level. This training is a 5 session program that includes: K5 Launching CS, K5 CS Integration, and Programming using Scratch or Python.

The K5 CS Starter Pack program prepares educators to:

  • Explore the VDOE K-5 Computer Science standards
  • Compare computer science standards to concepts already being taught and find ways to make connections between the two
  • Evaluate best teaching practices for integrating computer science and develop a plan for their classroom
  • Learn and use a programming platform and language

The program includes online modules covering core content, integration resources, a 5 day online practicum, and a PLC focused on community learning.
Register Here View Schedule


Programming using Scratch

This three-day course will introduce educators to the Scratch programming tool and block-based programming, basic understanding of programming concepts, and understand best practices for integrating programming into K-8th classrooms. Throughout the course, participants will learn through partaking in a variety of projects that will immerse them into Scratch programming. They will collaborate with other educators to assist each other on how to use the application and how to integrate this into everyday classroom content. At the end of each session, educators will be given the opportunity to reflect on what they learned and how it could be used in their own classrooms.

Participants may include: K-8th classroom teachers, instructional technology staff, specialists (LMS, Gifted, SPED, ELL, STEM, etc.), curriculum writers, or instructional leaders at the building or district level.

The Programming using Scratch program prepares educators to:

  • Develop an understanding of what a coding language is
  • Gain a strong understanding of the Scratch programming language
  • Increase fluency with creating simple projects using Scratch
  • Collaborate and create plans on how Scratch can be implemented in a K-8th classroom setting

The program includes online modules covering core content, a 3-day online summer practicum, and a PLC focused on community learning.

Register Here View Schedule


Programming using Python

This three-day course will introduce educators to Python programming tools and resources, as well as introduce and expand their knowledge with programming using the Replit platform and/or a Text Editor. Participants will learn how to create programs through using variables, conditionals, and loops. This course consists of strategies to write code efficiently, using inductive learning, and exploring different project domains that use Python while collaborating with other educators. Throughout the course, participants will learn through partaking in a variety of projects and collaborate with other educators to assist each other on how to use the application and how to integrate these concepts into their classroom content.

Participants may include: 3rd-12th Grade classroom teachers, instructional technology staff, specialists (LMS, Gifted, SPED, ELL, STEM, etc.), curriculum writers, or instructional leaders at the building or district level.

The Programming using Python program prepares educators to:

  • Create programs with Python using variables, conditionals, and loops.
  • Explore packages and frameworks associated with different programming domains (game design, app developments, data visualization, etc.)
  • Learn and use inductive learning to become successful Python coders
  • Learn how to integrate programming concepts into classroom content

The program includes online modules covering core content, a 3-day online summer practicum, four follow up sessions during the school year, and a PLC focused on community learning.

Register Here View Schedule


Programming using Scratch II

This three-day course will build upon participant’s knowledge of Scratch programming tools and concepts as well as introduce and expand their knowledge on using variables, operators, sensing blocks, and My Blocks within the programming platform. These new blocks will allow participants to learn and create different types of programs with a focus on debugging and determining ways to integrate Scratch programming into K-8th classrooms. Throughout the course, participants will learn through partaking in a variety of projects and collaborate with other educators to assist each other on how to use the application and how to integrate these concepts into their classroom content.

Participants may include: K-8th classroom teachers, instructional technology staff, specialists (LMS, Gifted, SPED, ELL, STEM, etc.), curriculum writers, or instructional leaders at the building or district level.

The Programming using Scratch II program prepares educators to:

  • Build on prior Scratch programming knowledge in order to integrate programming in the K-8th classroom setting
  • Distinguish how and when to use variables, operators, sensing, and My Blocks within the Scratch platform
  • Construct advanced beginner projects using Scratch through collaboration and applying concepts from live sessions
  • Assess and critique programs by using various debugging scenarios
  • The program includes online modules covering core content, a 3-day online summer practicum, and a PLC focused on community learning. Programming using Scratch is a prerequisite to this course.

Register Here View Schedule


Programming using Python II

This three-day course will build upon participant’s knowledge of the Python programming language, tools, and concepts as well as introduce and expand their knowledge by using functions, lists/dictionaries, and functions with parameters. These new concepts will allow participants to learn and create different types of programs with a focus on debugging and determining ways to integrate programming into 6-12th grade classrooms. Throughout the course, participants will learn through partaking in a variety of projects and collaborating with other educators on how to use the application and how to integrate these concepts into their classroom content.

Participants may include: 3rd-12th grade classroom teachers, instructional technology staff, specialists (LMS, Gifted, SPED, ELL, STEM, etc.), curriculum writers, or instructional leaders at the building or district level.

The Programming using Python II program prepares educators to:

  • Create programs with Python using functions, lists/dictionaries, and functions with parameters.
  • Explore and discuss packages (API), lists, and dictionaries to simplify code
  • Learn and use inductive learning to become successful Python coders
  • Create a software design that uses functions to modularize features of programs
  • Learn how to integrate programming concepts into classroom content

The program includes online modules covering core content, a 3-day online summer practicum, and a PLC focused on community learning. Programming using Python is a prerequisite to this course.
Register Here View Schedule


Google CS First

CS First is Google’s free ready-to-teach introductory computer science (CS) curriculum for elementary and middle school students ages 9-14. Students follow step-by-step instructional videos that introduce fundamental computer science concepts and build computer programs using Scratch, a block-based programming language.

Attendees will:

  • Learn how to use CS First, Google’s free ready-to-teach introductory computer science (CS) curriculum
  • Introduce their students to fundamental computer science concepts and build computer programs using Scratch
  • Receive sample lesson plans integrating Storytelling + ELA, Art + Math, and Game Design + Engineering, as well as a lesson plan template that can be customized by teachers
  • Receive rubrics focused on CS/Computational Thinking learning objectives

This course is offered in two different formats, Getting Started With Google CS First and CS First Subject Integration. Learn more about each course by clicking here.

Register Here View Schedule