CT.1.CSM Students will evaluate different data representations to solve problems
CT.1.CSM.1 Analyze the various mathematical bases (e.g., binary, decimal, hexadecimal) and convert between them.
CT.1.CSM.2 Describe the relationship between binary and hexadecimal representations.
CT.1.CSM.3 Convert information between various encoding formats (e.g., ASCII, Unicode, hexadecimal, binary).
CT.1.CSM.4 Express the relationship between matrices and arrays.
CT.1.CSM.5 Compare techniques (e.g., sorting, statistics, searching) for analyzing massive data collections.
CT.2.CSM Students will connect the development cycle of algorithm construction to problem solving
CT.2.CSM.1 Describe how mathematical and statistical functions, sets, and logic are used in computation.
CT.2.CSM.2 Utilize predefined mathematical functions and parameters to divide a complex problem into simpler parts, including parallel processing.
CT.2.CSM.3 Interpret truth tables from basic statements using Boolean operators (AND, OR, XOR, and NOT).
CT.2.CSM.4 Explain ways in which sequence, selection, iteration, and recursion are building blocks of algorithms.
CT.2.CSM.5 Evaluate concepts of different types of functions, numerically and algebraically: quadratic functions, including the analysis of the discriminant and complex numbers; recursively defined functions, series, and sequences, including arithmetic and geometric; exponential and logarithmic functions (including inverse relationship between exponents and logarithms); trigonometric functions to model physical situations (including right triangle trig, laws of sines and cosines); scenarios involving velocity and other quantities that can be represented by vectors.
CT.3.CSM.9 Analyze algorithms for correctness, clarity, and efficiency.
CPP Computing Practice and Programming
CPP.4.CSM Students will evaluate the use of programming languages to solve problems and develop systems
CPP.4.CSM.1 Compare and contrast computer programming languages and paradigms (e.g., compiled and interpreted languages, procedural and object-oriented paradigms).
CPP.4.CSM.2 Diagram the program execution process.
CPP.4.CSM.3 Determine the output of a given sample program without the use of a computer.
CPP.5.CSM Students will create, test, and use computer programs to solve problems
CPP.5.CSM.1 Implement computing applications using the following software development tools and techniques: branching (if, if-else), declare, define, and reference variables, lists/arrays, looping (for, while, do/while), matrices/two-dimensional arrays, primitive data types, recursion, sequencing.
CPP.5.CSM.2 Use various debugging and testing methods (e.g., debugging statements, breakpoints, memory inspection, test cases, unit testing, white box, black box, integration testing) to ensure program correctness.
CPP.5.CSM.3 Cite evidence to support or refute the correctness of software solutions.
CPP.5.CSM.4 Use the following Application Program Interfaces (API) and libraries to create problem solving computer programs: file input/output; math libraries (e.g., absolute value, square root, quadratic, exponentiation, trigonometry); utilities (e.g., random number generators).
CCD Computers and Communication Devices
CCD.6.CSM Students will classify electronic devices containing computational processors that execute programs
CCD.6.CSM.1 Recognize that computers are devices that execute programs.
CCD.6.CSM.2 Identify a variety of electronic devices (e.g., cell phones, desktops, laptops, vehicles, programmable thermostats, programmable kitchen appliances) that contain computational processors.
CCD.6.CSM.3 Describe unique features of computers embedded in mobile devices and vehicles.
CCD.6.CSM.4 Investigate the history of computers, identifying contributors and major milestones (e.g., Alan Turing, Charles Babbage, Ada Lovelace, Grace Hopper, analytical machine, ENIAC, IBM PC).
CCD.7.CSM Students will analyze the relationship between hardware and software
CCD.7.CSM.1 Demonstrate an understanding of the relationship between hardware and software.
CCD.7.CSM.2 Develop criteria for purchasing or upgrading computer system hardware.
CCD.7.CSM.3 Describe primary components of computer systems (e.g., input, output, processing, storage).
CCD.7.CSM.4 Explain multiple levels of hardware and software that support program execution (e.g., compilers, interpreters, operating systems, networks).
CCD.7.CSM.5 Apply strategies for identifying and solving routine hardware problems that occur during everyday computer use.
CCD.8.CSM Students will describe the major components and functions of networks
CCD.8.CSM.1 Describe how the Internet facilitates global communication.
CCD.8.CSM.2 Describe issues that impact network functionality (e.g., latency, bandwidth, firewalls, server capability).
CCD.8.CSM.3 Describe primary hardware and software components of a network (e.g., hosts, routers, switches, links, servers, network interface cards, applications, web browsers, HTTP, TCP, IP, CSMA).
SEI Social and Ethical Impacts of Computing
SEI.9.CSM Students will evaluate appropriate and inappropriate uses of technology
SEI.9.CSM.1 Summarize appropriate and inappropriate technological behaviors, including issues of privacy, copyright, security, legalities, and politics.
SEI.9.CSM.2 Explore the ramifications of inappropriate uses of technology.
SEI.9.CSM.3 Investigate the national and global economic impact of cybercrime.
SEI.10.CSM Students will investigate social and ethical issues relating to digital information
SEI.10.CSM.1 Discuss accessibility issues (e.g., adaptive technology for special needs individuals, censorship, geographical locations, economically-disadvantaged populations).
SEI.10.CSM.2 Compare the reliability of various online sources.
SEI.10.CSM.3 Investigate information ownership topics: access, distribution rights, hacking, licensure, open source, public domain, software piracy.
SEI.10.CSM.4 Describe security and privacy issues that relate to computer networks.
SEI.11.CSM Students will explore security and privacy techniques
SEI.11.CSM.1 Explain principles of network security and techniques that protect stored and transmitted data (e.g., encryption, cryptography, authentication).
SEI.11.CSM.2 Develop an algorithm that demonstrates a security technique.
SEI.11.CSM.3 Debug an algorithm that demonstrates a security technique.