Please enable JavaScript to use CodeHS

West Virginia Computer Science and Mathematics Framework


Standard Description
CS.M.1 Analyze the various mathematical bases (e.g., binary, decimal, hexadecimal) and convert between them. Lessons
CS.M.2 Describe the relationship between binary and hexadecimal representations. Lessons
CS.M.3 Convert information between various encoding formats (e.g., ASCII, Unicode, hexadecimal, binary). Lessons
CS.M.4 Compare techniques (e.g., sorting, statistics, searching) for analyzing massive data collections. Lessons
CS.M.5 Describe how mathematical and statistical functions, sets, and logic are used in computation. Lessons
CS.M.6 Utilize predefined mathematical functions and parameters to divide a complex problem into simpler parts, including parallel processing. Lessons
CS.M.7 Interpret truth tables from basic statements using Boolean operators (AND, OR, XOR, and NOT). Lessons
CS.M.8 Explain ways in which sequence, selection, iteration, and recursion are building blocks of algorithms. Lessons
CS.M.9 Create systems of equations based on real-world situations. Lessons
CS.M.10 Analyze decisions and strategies using probability and statistical concepts. Lessons
CS.M.11 Utilize modeling and simulation techniques to represent and understand natural phenomena. Lessons
CS.M.12 Examine classical algorithms (e.g., searching, sorting, and shortest path). Lessons
CS.M.13 Manipulate formulas and equations and apply them to algorithm development. Lessons
CS.M.14 Apply algorithm analysis and design techniques to solve problems. Lessons
CS.M.15 Write algorithms to solve mathematical problems using formulas, equations, and functions. Lessons
CS.M.16 Implement conditional statements that include if/then, if/then/else, case statements, and Boolean logic, in the design of algorithms. Lessons
CS.M.17 Represent algorithms using flowcharts and pseudocode. Lessons
CS.M.18 Combine standard function types using arithmetic operations. Lessons
CS.M.19 Analyze algorithms for correctness, clarity, and efficiency. Lessons
CS.M.20 Compare and contrast computer programming languages and paradigms (e.g., compiled and interpreted languages, procedural and object-oriented paradigms). Lessons
CS.M.21 Diagram the program execution process. Lessons
CS.M.22 Determine the output of a given sample program without the use of a computer. Lessons
CS.M.23 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), -recursion, -sequencing Lessons
CS.M.24 Use various debugging and testing methods to ensure program correctness. Lessons
CS.M.25 Cite evidence to support or refute the correctness of software solutions. Lessons
CS.M.26 Recognize that computers are devices that execute programs. Lessons
CS.M.27 Identify a variety of electronic devices (e.g., cell phones, desktops, laptops, vehicles, programmable thermostats, and programmable kitchen appliances) that contain computational processors. Lessons
CS.M.28 Describe unique features of computers embedded in mobile devices and vehicles. Lessons
CS.M.29 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). Lessons
CS.M.30 Demonstrate an understanding of the relationship between hardware and software. Lessons
CS.M.31 Develop criteria for purchasing or upgrading computer system hardware. Lessons
CS.M.32 Describe primary components of computer systems (e.g., input, output, processing, and storage). Lessons
CS.M.33 Explain multiple levels of hardware and software that support program execution (e.g., compilers, interpreters, operating systems, networks). Lessons
CS.M.34 Apply strategies for identifying and solving routine hardware problems that occur during everyday computer use. Lessons
CS.M.35 Describe how the Internet facilitates global communication. Lessons
CS.M.36 Describe issues that impact network functionality (e.g., latency, bandwidth, firewalls, server capability). Lessons
CS.M.37 Summarize appropriate and inappropriate technological behaviors, including issues of privacy, copyright, security, legalities, and politics. Lessons
CS.M.38 Explore the ramifications of inappropriate uses of technology. Lessons
CS.M.39 Investigate the national and global economic impact of cybercrime. Lessons
CS.M.40 Discuss accessibility issues (e.g., adaptive technology for special needs individuals, censorship, geographical locations, and economically-disadvantaged populations). Lessons
CS.M.41 Compare the reliability of various online sources. Lessons
CS.M.42 Investigate information ownership topics: -access, -distribution rights, -hacking, -licensure, -open source, -public domain, -software privacy Lessons
CS.M.43 Describe security and privacy issues that relate to computer networks. Lessons
CS.M.44 Explain principles of network security and techniques that protect stored and transmitted data (e.g., encryption, cryptography, and authentication). Lessons