Please enable JavaScript to use CodeHS

Standards Framework

for Utah Exploring Computer Science


Standards in this Framework

Standard Description
ECS.1.1a Use the structured problem-solving process to help address new problems
ECS.1.1b View challenges as solvable
ECS.1.1c Decompose or break down larger problems into smaller components
ECS.1.2a Expect and value mistakes as a natural and productive part of problem solving
ECS.1.2b Continue working with new ideas and consider multiple possible approaches
ECS.1.2c Iterate and continue to improve partial solutions
ECS.1.3a Incorporate personal interests and ideas into activities and projects
ECS.1.3b Experiment with new ideas and consider multiple possible approaches
ECS.1.3c Extend or build upon the ideas and projects of others
ECS.1.4a Work with others to develop solutions that incorporate all contributors
ECS.1.4b Mediate disagreements and help teammates agree on a common solution
ECS.1.4c Actively contribute to the success of group projects
ECS.1.5a Structure work so that it can be easily understood by others
ECS.1.5b Consider the perspective and background of your audience when presenting work
ECS.1.5c Provide and accept constructive feedback in order to improve work
ECS.2.1 Students will understand computer hardware and the tasks they perform:
ECS.2.1a Students will identify required functions for a device to be classified as a computer (receives input, processing; output; storage)
ECS.2.1a.i Analyze the characteristics of hardware components including processor, operating system, RAM, ROM, hard drive, and input and output devices.
ECS.2.1a.ii Understand the relationship between bits and bytes
ECS.2.1a.iii Compare and convert between the following sizes: kilobyte, megabyte, gigabyte, terabyte.
ECS.2.1a.iv Discuss the speed of the computer (gigahertz).
ECS.2.1b Students will identify examples of tasks that can and cannot be accomplished with a computer.
ECS.2.2 Students will describe changes technology has made on communication, privacy, and social interactions.
ECS.2.2a Impacts of technology on society from the following perspectives: social, economic, political, legal, ethical, and moral issues
ECS.2.2b Permanence of online information
ECS.2.2c Consider issues around privacy and collection of data
ECS.2.2d Methods of communication appropriate for different situations including appropriate use of social media
ECS.2.2e Online safety
ECS.2.3 Students will discuss how and why binary is used to represent data in a computer.
ECS.2.3a Describe how binary digits (bits) are stored in different media
ECS.2.3b Understand the binary system or pattern for counting up to 8 digits
ECS.2.3c Convert numbers between 0 and 128 from decimal to binarv and vice versa.
ECS.2.3d Describe how real-world phenomena such as numbers, characters (ASCII), or images (GB) are digitized and represented in a computer.
ECS.2.4 Students will understand different algorithms used in problem solving.
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
ECS.2.4b Explain when a binary search would be more efficient than a linear search
ECS.2.4c Visualize and compare common sorting algorithms (e.g. insertion, selection, bubble, quicksort, merge sort)
ECS.2.5 Students will gain knowledge and skills while considering the social, moral, and ethical impacts of Artificial Intelligence (Al) systems and usage.
ECS.2.5a Students will explain the idea of intelligence specifically as it relates to computers.
ECS.2.5b Students will explain what it means for a machine to learn (Turing Test)
ECS.2.5c Students will identify the Al being used, such as image recognition, speech recognition, translation
ECS.2.5d Students will train and test an existing Al system (machine learning).
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.)
ECS.2.5f Students will gain an understanding of how Al is changing different sectors such as medicine, agriculture, manufacturing, etc.
ECS.3.1a Students will understand ethical behavior as it relates to an AUP, Intellectual Property, Netiquette, Respecting Privacy, Anti-Spamming Laws, etc.
ECS.3.1b Students will demonstrate knowledge of standard copyright rules.
ECS.3.1b.i Understand copyright for original creations.
ECS.3.1b.ii Understand the creative commons license
ECS.3.1b.iii Understand when to obtain permission for non-original work.
ECS.3.1c Students will identify the use and purpose of acceptable use policy (AUP).
ECS.3.1c.i Comply with the school's AUP
ECS.3.2 Students will understand the purpose of website design in relationship to the intended audience and client needs.
ECS.3.2a Students will plan a website design using sketches or wireframes (rough drafts).
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.
ECS.3.3a Students will code the foundation for a basic webpage including the element tags DOCTYPE, html, head, title, and body.
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.)
ECS.3.3c Students will create web pages with text formatting, links, images, and lists
ECS.3.4 Students will understand that CSS (Cascading Style Sheets) are used to customize the style or looks of a website.
ECS.3.4a Students will apply CSS to a website.
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.)
ECS.3.4a.ii Apply CSS to a webpage using an internal stylesheet.
ECS.3.4a.iii Apply CSS to a website using an external stylesheet. (Best Coding Practice - One file changes the entire website.)
ECS.3.4b Students will format web pages using CSS
ECS.3.4b.i Modify background properties such as color and image.
ECS.3.4b.ii Modify font properties such as font-family, size, and color.
ECS.3.4b.iii Modify border properties such as width, style, and color.
ECS.3.4b.iv Implement tags and classes to modify an HTML element.
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.
ECS.4.1 Students will identify how planning strategies (such as flowcharts, storyboards, prototypes or pseudocode) are used when creating a program.
ECS.4.2 Define an algorithm as a set of clearly defined, logical steps to solve a problem.
ECS.4.2a Students will describe the steps needed to efficiently solve a non-computing problem using a pseudocode algorithm
ECS.4.2b Students will examine traditional programming algorithms such as searches, sorts, and minimal spanning trees.
ECS.4.2c Students will examine and formulate algorithms that solve specific problems
ECS.4.3a Students will recognize a variety of different user input sources such as text input, sensors, mouse response, movement, or event.
ECS.4.3b Students will recognize a variety of different outputs such as sounds, light, vibrations, movement, text and/or graphics.
ECS.4.4a Students will understand that variables are named locations in memorv.
ECS.4.4b Students will be able to identify variables and when they should be used in code.
ECS.4.5 Students will understand that programs use loops (iteration) to be more efficient and avoid code duplication.
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).
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.
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.
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
ECS.4.10 Students will demonstrate an understanding of the relationship between hardware and software.
ECS.4.10a Students will define and explain an algorithm for a physical computing device. (sequence of instructions processed by the device.)
ECS.4.10b Students will create a prototype of a physical computing device that uses algorithms to solve a computational problem.
ECS.4.10c Students will create a physical project or program a physical device
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.)
ECS.4.10c.ii Students will systematically identify and fix problems with the project or physical device
ECS.4.11 Students will explore various careers in programming such as Software Engineer, Video Game Developer, Mobile App Developer, and Web Developer.