Exploring Computer Science is designed to introduce students to the breadth of the field of computer science through an exploration of engaging and accessible topics. The course focuses on the conceptual ideas of computing and helps students understand why certain tools or languages might be utilized to solve particular problems. The goal of Exploring Computer Science is to develop in students the computational thinking practices of algorithm development, problem solving, and programming within the context of problems that are relevant to the lives of today's students. Students will also be introduced to topics such as artificial intelligence, web development, programming, and physical computing.
Core Standards of the Course
STRAND 1 Computer Science Practices - Students will employ the following practices throughout the course. They provide a framework and serve as helpful reminders of the high-level skills and dispositions computer scientists should be continually developing.
Exploring Computer Science Core
Standard 1 Critical Thinking
Use the structured problem-solving process to help address new problems
View challenges as solvable
Decompose or break down larger problems into smaller components
Standard 2 Persistence
Expect and value mistakes as a natural and productive part of problem solving
Continue working with new ideas and consider multiple possible approaches
Iterate and continue to improve partial solutions
Standard 3 Creativity
Incorporate personal interests and ideas into activities and projects
Experiment with new ideas and consider multiple possible approaches
Extend or build upon the ideas and projects of others
Standard 4 Collaboration
Work with others to develop solutions that incorporate all contributors
Mediate disagreements and help teammates agree on a common solution
Actively contribute to the success of group projects
Standard 5 Communication
Structure work so that it can be easily understood by others
Consider the perspective and background of your audience when presenting work
Provide and accept constructive feedback in order to improve work
STRAND 2 Problem Solving with Computers - Students will learn how computers input, output, store, and process information. Students will gain the importance of solving problems, and/or automating tasks with the aid of computers, as well as a basic understanding of the algorithms computers use.
Exploring Computer Science Core
Standard 1 Students will understand computer hardware and the tasks they perform:
Students will identify required functions for a device to be classified as a computer (receives input, processing; output; storage)
Analyze the characteristics of hardware components including processor, operating system, RAM, ROM, hard drive, and input and output devices.
Understand the relationship between bits and bytes
Compare and convert between the following sizes: kilobyte, megabyte, gigabyte, terabyte.
Discuss the speed of the computer (gigahertz).
Students will identify examples of tasks that can and cannot be accomplished with a computer.
Standard 2 Students will describe changes technology has made on communication, privacy, and social interactions.
Impacts of technology on society from the following perspectives: social, economic, political, legal, ethical and moral issues
Permanence of online information
Consider issues around privacy and collection of data
Methods of communication appropriate for different situations including appropriate use of social media
Online safety
Standard 3 Students will discuss how and why binary is used to represent data in a computer.
Describe how binary digits (bits) are stored in different media
Understand the binary system or pattern for counting up to 8 digits
Convert numbers between 0 and 128 from decimal to binary and vice versa.
Describe how real-world phenomena such as numbers, characters (ASCII), or images (RGB) are digitized and represented in a computer.
Standard 4 Students will understand different algorithms used in problem solving.
Solve a problem through an iterative process.
Define - Understand the Problem
Prepare - Plan the Solution (design via pseudocode/flowcharts)
Try - Carry out the Plan (Code)
Reflect - Review and Discuss your Solution (Testing / Feedback)
Repeat - Reiterate through the steps until the problem is solved
Explain when a binary search would be more efficient than a linear search
Visualize and compare common sorting algorithms (e.g. insertion, selection, bubble, quicksort, merge sort)
Standard 5 Students will gain knowledge and skills while considering the social, moral, and ethical impacts of Artificial Intelligence (AI) systems and usage.
Students will explain the idea of intelligence specifically as it relates to computers.
Students will explain what it means for a machine to learn (Turing Test)
Students will identify the AI being used, such as image recognition, speech recognition, translation.
Students will train and test an existing AI system (machine learning).
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.)
Students will gain an understanding of how AI is changing different sectors such as medicine, agriculture, manufacturing, etc.
STRAND 3 Web Development - Students will learn social responsibility and ethics with regard to web development and how to use the basic building blocks of the World Wide Web: HTML5 and Cascading Style Sheets (CSS). Students will follow the steps to create a website by planning, designing, and coding a personal website.
Exploring Computer Science Core
Standard 1 Social Responsibility of Website Development
Students will understand ethical behavior as it relates to an AUP, Intellectual Property, Netiquette, Respecting Privacy, Anti-Spamming Laws, etc.
Students will demonstrate knowledge of standard copyright rules.
Understand copyright for original creations.
Understand the creative commons license
Understand when to obtain permission for non-original work.
Students will identify the use and purpose of acceptable use policy (AUP).
Comply with the school's AUP
Standard 2 Design Process
Students will understand the need to know the purpose of website design in relationship to the intended audience and client needs.
Students will plan a website design using storyboards, sketches, or wireframes (rough drafts).
Standard 3 HTML
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.
Students will code the foundation for a basic webpage including the element tags DOCTYPE, html, head, title, and body.
Students will create pages with tags and attributes at the inline level. (DOCTYPE, title, head, body, h1, h2, h6, p, br, etc.)
Students will create web pages with text formatting, links, images, and lists.
Standard 4 CSS
Students will understand that CSS (Cascading Style Sheets) are used to customize the style or looks of a website.
Students will apply CSS to a website.
Apply CSS to an element using an inline style. (An inline style may be used to apply a unique style for a single element.)
Apply CSS to a website using an external stylesheet. (Best Coding Practice - One file changes the entire website.)
Students will format web pages using CSS
Modify background properties such as color and image.
Modify font properties such as font-family, size, and color.
Modify border properties such as width, style, and color.
Implement tags and classes to modify an HTML element.
Standard 5 Careers in Web Development
Students will explore various careers in Web Development including front end developer, back end developer, full stack developer, and UX/UI designer.
STRAND 4 Programming and Algorithms - Students will understand that an algorithm is a sequence of steps designed to accomplish a specific task. Algorithms are then translated into programs, or code, to provide instructions for computing devices. Programs control all computing systems and empower people to communicate with the world in new ways and solve compelling problems.
Exploring Computer Science Core
Standard 1 Program Design
Students will identify how planning strategies (such as flowcharts, storyboards, prototypes or pseudocode) are used when creating a program.
Standard 2 Algorithms
Define an algorithm as a set of clearly defined, logical steps to solve a problem.
Students will describe the steps needed to efficiently solve a non-computing problem using a pseudocode algorithm
Students will examine traditional programming algorithms such as searches, sorts, and minimal spanning trees.
Students will examine and formulate algorithms that solve specific problems.
Standard 3 Input/Output
Students will recognize a variety of different user input sources such as text input, sensors, mouse response, movement, or event. Students will recognize a variety of different outputs such as sounds, light, vibrations, movement, text and/or graphics.
Standard 4 Variables
Students will understand that variables are named locations in memory.
Students will be able to identify variables and when they should be used in code.
Standard 5 Loops
Students will understand that programs use loops (iteration) to be more efficient and avoid code duplication.
Standard 6 Conditionals
Students will understand that programs use conditionals to perform different computations or actions based on whether a condition is true or false (Booleans).
Standard 7 Operators
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.
Standard 8 Functions
Students will understand that a function is a named block of code that performs a specific task. Functions encourage efficiency, reusability, and readability.
Standard 9 Debugging
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
Standard 10 Physical Computing
Students will demonstrate an understanding of the relationship between hardware and software.
Students will define and explain an algorithm for a physical computing device. (sequence of instructions processed by the device.)
Students will create a prototype of a physical computing device that uses algorithms to solve a computational problem.
Students will create a physical project or program a physical device
Students will illustrate ways the project or physical device implements logic, input, and output through hardware components (sensors, buttons, switches, etc.)
Students will systematically identify and fix problems with the project or physical device.
Standard 11 Careers in Programming
Students will explore various careers in programming such as Software Engineer, Video Game Developer, Mobile App Developer, and Web Developer.
Performance Skills
Students will design algorithms and create programming solutions to a variety of computational problems using a block or text programming language.
Students will develop a program or programs that:
makes a decision based on data or user input (conditionals).
accepts user and/or sensor input and stores the result in a variable.
uses variables that represent different data types.
uses structures that repeat blocks/lines of code (loops).
uses operators.
uses functions.
Students will analyze, test, improve and debug computer programs.
Students will design and create a physical project or program a physical device and debug the project or device
Workplace Skills
Communication
Problem Solving
Teamwork
Critical Thinking
http://www.uen.org - in partnership with Utah State Board of Education
(USBE) and Utah System of Higher Education (USHE). Send questions or comments to USBE
Specialist -
Kristina Yamada
and see the
CTE/Digital Technology website.
For general questions about Utah's Core Standards contact the Director -
THALEA LONGHURST.
These materials have been produced by and for the teachers of the
State of Utah. Copies of these materials may be freely reproduced
for teacher and classroom use. When distributing these materials,
credit should be given to Utah State Board of Education. These
materials may not be published, in whole or part, or in any other
format, without the written permission of the Utah State Board of
Education, 250 East 500 South, PO Box 144200, Salt Lake City, Utah
84114-4200.