Please enable JavaScript to use CodeHS

Utah Exploring Computer Science Framework


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 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 components including processor, operating system, RAM, ROM, hard drive, and input and output devices. 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. Lessons
ECS.2.1a.iv 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 Methods of communication appropriate for different situations including appropriate use of social media 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 binarv and vice versa. Lessons
ECS.2.3d Describe how real-world phenomena such as numbers, characters (ASCII), or images (GB) 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); 3. Try - Carry out the Plan (Code); 4. Reflect - Review and Discuss your Solution (Testing / Feedback); 5. Repeat - Reiterate through the steps until the problem is solved Lessons
ECS.2.4b Explain when a binary search would be more efficient than a linear search Lessons
ECS.2.4c Visualize and compare common sorting algorithms (e.g. insertion, selection, bubble, quicksort, merge sort) Lessons
ECS.2.5 Students will gain knowledge and skills while considering the social, moral, and ethical impacts of Artificial Intelligence (Al) 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 (Turing Test) Lessons
ECS.2.5c Students will identify the Al being used, such as image recognition, speech recognition, translation Lessons
ECS.2.5d Students will train and test an existing Al system (machine learning). Lessons
ECS.2.5e Students will explore and explain the social and ethical impacts of Al (human and algorithmic bias, worker obsolescence through automation, user interface improvements, human/machine augmentation, etc.) Lessons
ECS.2.5f Students will gain an understanding of how Al 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 purpose of website design in relationship to the intended audience and client needs. Lessons
ECS.3.2a Students will plan a website design using sketches or wireframes (rough drafts). 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, h2, h6, p, br, 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 an element using an inline style. (An inline style may be used to apply a unique style for a single element.) Lessons
ECS.3.4a.ii Apply CSS to a webpage using an internal stylesheet. Lessons
ECS.3.4a.iii Apply CSS to a website using an external stylesheet. (Best Coding Practice - One file changes the entire website.) 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.5 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.1 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 traditional programming algorithms such as searches, sorts, and minimal spanning trees. Lessons
ECS.4.2c 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 memorv. Lessons
ECS.4.4b Students will be able to identify variables and when they should be used in code. Lessons
ECS.4.5 Students will understand that programs use loops (iteration) to be more efficient and avoid code duplication. Lessons
ECS.4.6 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.7 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.8 Students will understand that a function is a named block of code that performs a specific task. Functions encourage efficiency, reusability, and readability. Lessons
ECS.4.9 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 - 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; 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.11 Students will explore various careers in programming such as Software Engineer, Video Game Developer, Mobile App Developer, and Web Developer. Lessons