Exploring Computer Science is a high school introduction to the world of computer science and problem solving. It is a yearlong course consisting of 5 units, approximately 6 weeks each. The curriculum package comes with daily instructional lesson plans for teachers, plus supplemental extension resources. Learn about our framework, context, alignment, and units below.

Units

Click each unit to expand.

In this unit, students are introduced to the concepts of computer and computing while investigating the major components of computers, their origins, and the suitability of these components for particular applications. Students will analyze their own identities and make connections to impactful computer scientists. Students experiment with internet search techniques, explore a variety of websites and web applications, and discuss data and issues of privacy and security. Fundamental notions of Human Computer Interactions (HCI) and their connections to people, communities, and societies are introduced. Students will learn that “intelligent” machine
behavior is based on algorithms applied to useful representations of information, including large data sets. Students will gain a better understanding of the many ways in which computing-enabled innovations impact society and determine if the effects have been more positive or negative. Connections among social, economic, and cultural contexts will be discussed, including the impact computing has on equity- and justice-related issues across race, gender, class, national contexts. Students will demonstrate their understanding of these concepts in a variety of artifacts including websites, posters, and presentations.

This unit provides students with opportunities to become “computational thinkers” by applying a variety of problem-solving techniques as they create solutions to problems that are situated in a variety of contexts. The range of contexts motivates the need for students to think abstractly and apply known algorithms where appropriate, but also create new algorithms. Students will become familiar with the problem-solving reiterative process. Analysis of various tools, algorithms, and solutions will highlight problems that are not easily solved by computers and for which there are no known solutions. This unit focuses on highlighting the connections between mathematical and computing tools and problems in the community. Students will be introduced to selected topics in discrete mathematics including Boolean logic, functions, graphs, and the binary number system and their connections to problem-solving. Students are also introduced to searching and sorting algorithms as
related to their experiences with search engines and embedded biases.

Students are introduced to some basic issues associated with program design and development within contexts exploring aspects of their identities and connections with social and cultural communities. Students design algorithms and create programming solutions to a variety of computational problems using an iterative
development process in Scratch. Programming problems include mathematical and logical concepts and a variety of programming constructs. Reflective prompts and whole-class discussions will enable students to make connections between the programming constructs and their implications for communities when embedded in systems that aid social decision-making (e.g., algorithms that support urban planning, job recruitment, etc.).

In this unit students explore how computing has led to new methods of managing and interpreting data. Students will use computers to translate, process and visualize data in order to find patterns and test hypotheses. Students will work with a variety of large data sets from diverse social contexts such as healthcare, urban planning, food security, and ecological sustainability that illustrate how widespread access to data and information facilitates identification of problems. Students will collect and generate their own data related to local community issues and discuss appropriate methods for data collection and aggregation of data necessary to support making a case or facilitating a discovery.

This unit introduces robotics as an advanced application of computer science that can be used to solve problems in a variety of settings from business to healthcare and how robotics enables innovation by automating processes that may be dangerous or otherwise problematic for humans. Students explore how to integrate hardware and software in order to solve problems. Students will see the effect of software and hardware design on the resulting product. Students will apply previously learned topics to the study of robotics.

Unit 6 - stroopwafel - blue box

In our new curriculum unit, students explore electronic textiles (e-textiles): articles of cloth­ing, accessories, or home furnishings with embedded electronic and computational elements. This curriculum is an alternate for Unit 6: Robotics. After conducting various studies on curriculum design, teaching strategies, student learning, and portfolio designs, this unit is ready for download and classroom implementation by ECS teachers. Unit 6: Electronic Textiles consists of four open-ended, hands-on projects requiring students to create artifacts with increasingly challenging computational concepts, use high and low-tech materials hone their crafting and designing skills, and troubleshoot malfunctioning projects.