Please enable JavaScript to use CodeHS



Virginia Computer Science Foundations

The Virginia Computer Science Foundations course is a one-year course with an emphasis on computer programming within the context of broader concepts of computer science. This course builds on the concepts of computer science developed in prior grade levels and provides a transition from block-based programming to a text-based programming language and familiarize students with developing and executing computer programs.

Syllabus

Units: 10
Contact Hours: 135

By the Numbers


Contact Hours 135
Lessons 91
Videos 82
Exercises 110
Challenges 42
Offline Handouts 176

Units

Unit Description
Digital Citizenship and Cyber Hygiene: Students will be introduced to topics including Internet etiquette and how to stay safe on the world wide web. They will also look at the potential effects of their digital footprints, how to protect information from online risks, and the implications of cyberbullying. Finally, they will learn how to find and cite quality resources online.
Programming With Karel: Students will be introduced to programming with Karel who is a dog that only knows how to move, turn left, and place tennis balls in his world. Thye will learn to give Karel commands to instruct him to do certain things and will learn what it means to program with a focus on problem-solving.
Karel Challenges: Students will take all the foundational concepts from Karel to solve some programming challenges.
Networks and the Internet: Students will explore the structure and design of the internet, and how this design affects the reliability of network communication, the security of data, and personal privacy.
JavaScript and Graphics: Students will be introduced to the basics of JavaScript, including variables, user input, mathematics, and basic graphics.
Graphics Challenges: Students will learn how to pair program and take all the foundational concepts from JavaScript Graphics to solve some programming challenges.
JavaScript Control Structures: Students will learn how to use control structures such as if/else statements and loops to make more advanced programs in JavaScript.
Control Structures Challenges: Students will take all the foundational concepts from the Control Structures unit to solve some programming challenges.
Functions, Events, and Lists: Students will learn to write reusable code with functions and parameters and will learn about various data structures.
Final Project: Students will be introduced to the theory and practice of user interface design. Students learn about what makes an engaging and accessible user interface, and will employ an iterative design process including rapid prototyping and user testing to design and develop their own final project.

Demos

Click on a demo to test it out.

Final Project Demo

Graphics Exercise: Fried Egg

Arrays Exercise: Changing Circles

Resources

Here are a few examples of teacher resources and materials to use in the Virginia Computer Science Foundations course

Standards

Virginia Computer Science Foundations is aligned with the following standards

Standards Framework View Alignment
Virginia 8 View (69.2%)
Virginia Computer Science Foundations View (100%)
Virginia Computer Science Principles View (68.8%)
Virginia Computer Science Programming View (66.7%)