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.

Explore course
Video thumbnail

Step beyond the world of Code.org programming environments

  • Learn about AI and its applications
  • Hands-on experience with professional software development tools
  • Learn industry-standard practices
  • Cultivate critical thinking
Explore course

Curriculum at a glance

  • Grades: 9-12

  • Level: Advanced

  • Duration: 2 weeks

  • Devices: Laptop, Chromebook

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

  • Programming Tools: Programming Tools: Github, Github Copilot, VSCode, TensorFlow

  • Professional Learning: None

  • Accessibility: See FAQ section for details

  • Languages Supported: English

Engaging projects and activities that inspire learning

Build with Copilot

Students learn how to use GitHub Copilot as a pair programmer to explain existing code, find and fix errors, and generate solutions to new problems.

Learn more about Copilot

Build your own AI model

Students train their own AI models using Teachable Machine to recognize images and gestures form a webcam and consider how computer vision impacts the way users interact with apps.

Explore the lesson plan

Explore computer vision

Students implement the AI models they created with Teachable Machine into a Java app, using GitHub Copilot to help them modify existing versions of apps to work with the different inputs.

See an example

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

Learn more about Artificial Intelligence

Explore AI 101 for Teachers

Discover the groundbreaking world of Artificial Intelligence (AI) and its transformative potential in education with our comprehensive online learning series for teachers.

Watch the AI 101 for Teachers series

Frequently asked questions

What are the prerequisites for this module?

Before diving into this module, students should possess an entry-level knowledge of Java. Specifically, they should a grasp on:

  • Classes and Objects: Students should be familiar with defining and using classes, as well as creating and manipulating objects.
  • Writing and Calling Methods: Students should be able to define methods within a class, understand method parameters and return types, and call methods from objects or other methods.
  • 1D Arrays and ArrayLists: They should be proficient in declaring, initializing, and manipulating one-dimensional arrays and ArrayLists, including iterating through them.
  • Selection and Iteration: A solid foundation in conditional statements and loops is crucial.

Ideally, students who have completed AP Computer Science A or a course of similar depth and rigor would be well-prepared for this module.

How do I install the software required for this module?

This module is unique because it involves the use of third-party software rather than Code.org labs and tools. Read more about installing the software here.

How can I support accessibility needs while teaching this module?

Catering to accessibility needs is crucial for an inclusive learning environment. Read more about accessibility features in the software used in this module here.

How do I use VS Code on Chromebooks?

Using VS Code on a Chromebook has become more straightforward, especially with the capability to run Linux apps on newer Chromebook models. Read more about setting up VS Code on Chromebooks here.

How can I get professional development for this module?

There is not currently specific professional development for this course. If you are looking to understand how to approach Artificial Intelligence in your classroom you can explore AI 101 for Teachers.

What is the recommended timing for teaching this module?

The Software Engineering & Computer Vision module is thoughtfully structured to provide comprehensive learning in a concise timeframe. The entire module is designed to span 2 weeks of instruction. Most lessons are tailored for 45 minutes, while lessons where students delve into hands-on Java project development are designed for 90 minutes. This extended time ensures students have ample opportunity to understand, implement, and troubleshoot as they work.

There is also intentional flexibility built into the module's structure. Depending on the classroom dynamics, student engagement, and the depth to which you'd like to explore each topic, you can adjust the duration. For example, the Intro to Copilot lesson, designed as a 45 minute lesson, can be expanded to 90 minutes if you wish to dive deeper into how large language models and tools like GitHub Copilot and ChatGPT work.

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

Is this module mapped to standards?

Yes, the Software Engineering & Computer Vision curriculum is mapped to the CSTA K-12 Standards and the AI for K-12 Guidelines.

How much does it cost to teach this module?

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

Additionally, the software and tools used in this module are free of charge. GitHub Copilot is free for verified teachers and students.

What do I do if software installation isn't working?

Facing issues during software installation can be common, but there are systematic steps you can follow to troubleshoot and resolve them. Check out some troubleshooting tips here.

How was the curriculum developed?

Our Software Engineering & Computer Vision curriculum was designed with our Curriculum Values in mind. The following goals guided the creation of the this curriculum:

  • Goal 1: Use AI tools to generate, debug, and edit code.
  • Goal 2: Transition from Java Lab to real-world tools.
  • Goal 3: Deepen understanding of how AI models are trained and integrated into programs.

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

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