Please enable JavaScript to use CodeHS

Utah Exploring Computer Science Framework

Standards

Standard Description
ECS.1.1a Use the structured problem-solving process to help address new problems Lessons
ECS.1.1b View challenges as solvable Lessons
ECS.1.1c Decompose or break down larger problems into smaller components Lessons
ECS.1.2a Expect and value mistakes as a natural and productive part of problem solving Lessons
ECS.1.2b Continue working with new ideas and consider multiple possible approaches Lessons
ECS.1.2c Iterate and continue to improve partial solutions Lessons
ECS.1.3a Incorporate personal interests and ideas into activities and projects Lessons
ECS.1.3b Experiment with new ideas and consider multiple possible approaches Lessons
ECS.1.3c Extend or build upon the ideas and projects of others Lessons
ECS.1.4a Work with others to develop solutions that incorporate all contributors Lessons
ECS.1.4b Mediate disagreements and help teammates agree on a common solution Lessons
ECS.1.4c Actively contribute to the success of group projects Lessons
ECS.1.5a Structure work so that it can be easily understood by others Lessons
ECS.1.5b Consider the perspective and background of your audience when presenting work Lessons
ECS.1.5c Provide and accept constructive feedback in order to improve work Lessons
ECS.2.1 Students will understand computer hardware and the tasks they perform: Lessons
ECS.2.1a Students will identify the required functions for a device to be classified as a computer (receives input, processing; output; storage) Lessons
ECS.2.1a.i Analyze the characteristics of hardware and software components including processors, RAM, ROM, hard drive, input and output devices, and operating system. Lessons
ECS.2.1a.ii Understand the relationship between bits and bytes. Lessons
ECS.2.1a.iii Compare and convert between the following sizes: kilobyte, megabyte, gigabyte, terabyte and petabyte. Lessons
ECS.2.1a.iv Discuss the difference between consumer and enterprise (cloud) storage. Lessons
ECS.2.1a.v Discuss the speed of the computer (gigahertz). Lessons
ECS.2.1b Students will identify examples of tasks that can and cannot be accomplished with a computer. Lessons
ECS.2.2 Students will describe changes technology has made on communication, privacy, and social interactions. Lessons
ECS.2.2a Impacts of technology on society from the following perspectives: social, economic, political, legal, ethical, and moral issues Lessons
ECS.2.2b Permanence of online information Lessons
ECS.2.2c Consider issues around privacy and collection of data Lessons
ECS.2.2d Students will understand that all their online behavior and digital communications will have long-term ramifications either positive or negative. Lessons
ECS.2.2e Online safety Lessons
ECS.2.3 Students will discuss how and why binary is used to represent data in a computer. Lessons
ECS.2.3a Describe how binary digits (bits) are stored in different media Lessons
ECS.2.3b Understand the binary system or pattern for counting up to 8 digits Lessons
ECS.2.3c Convert numbers between 0 and 128 from decimal to binary and vice versa. Lessons
ECS.2.3d Describe how real-world phenomena such as numbers, characters (ASCII), or images (RGB) are digitized and represented in a computer. Lessons
ECS.2.4 Students will understand different algorithms used in problem solving. Lessons
ECS.2.4a Solve a problem through an iterative process. 1. Define - Understand the Problem; 2. Prepare - Plan the Solution (design via pseudocode/flowcharts/storyboards); 3. Try - Carry out the Plan (Code); 4. Reflect - Review and Discuss your Solution (Testing / Feedback) Lessons
ECS.2.4b Explain when a binary search would be more efficient than a linear search Lessons
ECS.2.5 Students will gain knowledge and skills while considering the social, moral, and ethical impacts of Artificial Intelligence (AI) systems and usage. Lessons
ECS.2.5a Students will explain the idea of intelligence specifically as it relates to computers. Lessons
ECS.2.5b Students will explain what it means for a machine to learn Lessons
ECS.2.5c Students will identify the AI being used, such as image recognition, speech recognition, translation, creation of artifacts (media, print, sound, etc.), etc. Lessons
ECS.2.5d Students will train and test an existing AI system (machine learning). Lessons
ECS.2.5e Students will understand the difference between predictive and generative AI. Examples of predictive could be a streaming service that recommends movies based on your past viewing history, forecasting market trends, etc. Examples of generative could be a software program that creates original artwork from a text prompt, an app that composes music in the style of a famous artist, etc Lessons
ECS.2.5f Students will explore and explain the social and ethical impacts of AI (human and algorithmic bias, worker obsolescence through automation, user interface improvements, human/machine augmentation, etc.) Lessons
ECS.2.5f.i Appropriate use of AI Lessons
ECS.2.5f.ii Effective prompting Lessons
ECS.2.5g Students will gain an understanding of how AI is changing different sectors such as medicine, agriculture, manufacturing, etc. Lessons
ECS.3.1a Students will understand ethical behavior as it relates to an AUP, Intellectual Property, Netiquette, Respecting Privacy, Anti-Spamming Laws, etc. Lessons
ECS.3.1b Students will demonstrate knowledge of standard copyright rules. Lessons
ECS.3.1b.i Understand copyright for original creations. Lessons
ECS.3.1b.ii Understand the creative commons license Lessons
ECS.3.1b.iii Understand when to obtain permission for non-original work. Lessons
ECS.3.1c Students will identify the use and purpose of acceptable use policy (AUP). Lessons
ECS.3.1c.i Comply with the school's AUP Lessons
ECS.3.2 Students will understand the need to know the purpose of website design in relationship to the intended audience and client needs. Lessons
ECS.3.2a Students will plan a website design using storyboards, wireframes, etc. Lessons
ECS.3.3 Students will understand that the HTML programming language is used to create all websites on the internet and acts as the structure for a website. Lessons
ECS.3.3a Students will code the foundation for a basic webpage including the element tags DOCTYPE, html, head, title, and body. Lessons
ECS.3.3b Students will create pages with tags and attributes at the inline level. (DOCTYPE, title, head, body, h1 – h6, p, etc.) Lessons
ECS.3.3c Students will create web pages with text formatting, links, images, and lists. Lessons
ECS.3.4 Students will understand that CSS (Cascading Style Sheets) are used to customize the style or looks of a website. Lessons
ECS.3.4a Students will apply CSS to a website. Lessons
ECS.3.4a.i Apply CSS to a web site using best practices (external CSS). Lessons
ECS.3.4b Students will format web pages using CSS Lessons
ECS.3.4b.i Modify background properties such as color and image. Lessons
ECS.3.4b.ii Modify font properties such as font-family, size, and color. Lessons
ECS.3.4b.iii Modify border properties such as width, style, and color. Lessons
ECS.3.4b.iv Implement tags and classes to modify an HTML element. Lessons
ECS.3.5a Students will explore various careers in Web Development including front end developer, back end developer, full stack developer, and UX/UI designer. Lessons
ECS.4.1a Students will identify how planning strategies (such as flowcharts, storyboards, prototypes or pseudocode) are used when creating a program. Lessons
ECS.4.2 Define an algorithm as a set of clearly defined, logical steps to solve a problem. Lessons
ECS.4.2a Students will describe the steps needed to efficiently solve a non-computing problem using a pseudocode algorithm Lessons
ECS.4.2b Students will examine and formulate algorithms that solve specific problems. Lessons
ECS.4.3a Students will recognize a variety of different user input sources such as text input, sensors, mouse response, movement, or event. Lessons
ECS.4.3b Students will recognize a variety of different outputs such as sounds, light, vibrations, movement, text and/or graphics. Lessons
ECS.4.4a Students will understand that variables are named locations in memory used to store data. Lessons
ECS.4.4b Students will be able to identify variables and when they should be used in code. Lessons
ECS.4.5a Students will understand that programs use conditionals to perform different computations or actions based on whether a condition is true or false (booleans). Lessons
ECS.4.6 Students will understand that programs use loops (iteration) to be more efficient and avoid code duplication. Lessons
ECS.4.6a For loop – know the number of times you are going to iterate Lessons
ECS.4.6b While loop – iterate until a boolean condition is no longer true Lessons
ECS.4.7a Students will understand that programs use mathematical symbols ( +, -, *, /, >, <, ==, AND, OR) in a program to perform specific operations (mathematical, relational, or logical) and produce a single result. Lessons
ECS.4.8a Students will understand that a function is a named block of code that performs a specific task. Functions encourage efficiency (repeated code), reusability, and readability. Lessons
ECS.4.9a Students will understand that debugging is finding and removing errors from a program so it can operate as intended. Strategies students might learn for debugging could include: guess and check; deactivating sections to identify problematic code; looking for typos, missing tags, or incorrect syntax; making the problem smaller by identifying important points (changing variable values, getting input, etc.); asking a friend or team member for help; printing, watching, or changing variable values while the program runs; using a debugging tool; and thinking about when the code last worked and what has been added since then. Lessons
ECS.4.10 Students will demonstrate an understanding of the relationship between hardware and software. Lessons
ECS.4.10a Students will define and explain an algorithm for a physical computing device. (sequence of instructions processed by the device.) Lessons
ECS.4.10b Students will create a prototype of a physical computing device that uses algorithms to solve a computational problem. Lessons
ECS.4.10c Students will create a physical project or program a physical device Lessons
ECS.4.10c.i Students will illustrate ways the project or physical device implements logic, input, and output through hardware components (sensors, buttons, switches, etc.) Lessons
ECS.4.10c.ii Students will systematically identify and fix problems with the project or physical device. Lessons
ECS.4.11a Students will explore various careers in programming such as Software Engineer, Video Game Developer, Mobile App Developer, and Web Developer. Lessons