Middle School

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

  • The MS Launching CS program prepares educators for the inclusion of computer science standards into their regular curriculum.
  • The MS Coaches Academy prepares school staff to conduct local professional development sessions in implementing the new integrated computer science SOLS.
  • The MS CS Starter Pack program introduces educators to computer science and to help prepare them for integrating computer science into their classroom.
  • The MS Project GUTS training prepares science teachers to incorporate computer science, specifically modelling and simulation, into their science classes.
  • The MS Elective (CS Discoveries) program prepares teachers to teach a middle school elective in computer science.
  • The MS CS Integration program prepares classroom teachers to integrate computer science in the middle school classroom.
  • The MS/HS – School Counselor Training is designed for Middle and High School Counselors and administrators to explore what computer science opportunities exist for their students and how to increase awareness and participation.
  • Programming in Scratch and Programming in Python are focused on building programming knowledge in either language.
  • Programming in Scratch II and Programming in Python II are focused on continuing to build programming knowledge in either language.
  • 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.


MS 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 MS – CS Integration and is offered as a stand alone class as well as in combination with other classes (e.g. MS – CS Starter Pack, MS Coaches Academy).

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

The MS – 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


MS Coaches Academy

This multi-day academy prepares educators to lead professional development sessions on the topic of the Computer Science SOLs at the middle school level. 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 6-8th grade level.

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

The MS 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 programming tools
  • 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


MS 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 6-8th 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: 6-8th 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: MS – Launching CS, MS – CS Integration, and Programming using Scratch or Python.

The MS – Starter Pack program prepares educators to:

  • Explore the VDOE MS 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


MS Project GUTS

Project GUTS — Growing Up Thinking Scientifically — is a science, technology, engineering and math (STEM) program for middle school students serving schools and districts nationally. Growing up thinking scientifically means learning to look at the world and ask questions, develop answers to the questions through scientific inquiry, and design solutions to their problems.

This six day program covers the VA Computer Science middle school SOLs and provides instruction on StarLogo Nova, a program specifically designed for creating models and running simulations. Participants will gain a deeper understanding behind computer science and complex adaptive systems and how to integrate CS into their existing SOL science content.

Participants may include middle school science or computer science teachers. Participants may have some computer science experience or may learn this exciting new skill throughout the course. MS Project GUTS may be taken as a stand alone course and there is no prerequisite.

The MS Project GUTS program prepares instructional leaders to:

  • Understand how computer modeling and simulation address VA CS Standards.
  • Build and use models of modules.
  • Gain experience and confidence in leading lessons and activities.
  • Practice and be able to instill positive dispositions in your students (persistence, willingness to make mistakes, resourcefulness).

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

Register Here View Schedule


MS Elective (CS Discoveries)

Virginia Course Code: 10022

CS Discoveries provides students with opportunities to explore many facets of computer science including programming, physical computing, HTML/CSS, and data. This 6 day course prepares educators to teach the elective Computer Science Discoveries by building and using the modules they will use in the classroom and gain a deeper understanding behind computer science and computational thinking. Student work includes building websites, apps, games, and physical computing devices.

Participants may include middle school computer science teachers. Participants may have some computer science experience or background, but may be interested in Programming with Scratch or Python before or after this course. CSD may be taken as a stand alone course and there is no prerequisite.

The MS – Elective (CS Discoveries) program prepares educators to:

  • Experience the curriculum and match activities with the VA Computer Science SOLS
  • Experiment with pedagogical techniques
  • Gain experience and confidence in leading lessons and activities.
  • Practice and be able to instill positive dispositions in your students (persistence, willingness to make mistakes, resourcefulness).

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

Preview Curriculum Here

Register Here View Schedule


MS CS Integration

This program is a one-day course designed to help 6-8th grade 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 6-8th grade classrooms.

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

The MS – CS Integration program prepares educators to:

  • Expand knowledge of the VA 6-8th 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


MS/HS – School Counselor Training

This 3 day course is designed for Middle and High School Counselors and administrators to explore what computer science opportunities exist for their students and how to increase awareness and participation. Participants will create a plan to increase recruitment and engagement for CS courses and explore how schools and divisions can increase equitable access to CS courses.

The MS / HS School Counselor Training prepares educators to:

  • Give a definition of Computer Science that applies to a real world context
  • Explore why students should be involved in Computer Science programs/courses
  • Share careers in CS and pathways for deeper knowledge and industry experience
  • Define strategies in Equity and Participation in CS including building strategies for engaging and recruiting in to CS classes
  • Develop a CS Ready school culture where students have multiple in class and after school opportunities to engage in Computer Science activities
  • Have knowledge of state codes for Computer Science courses
  • Explore how to advocate for change or utilize what exists for your students

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