Please enable JavaScript to use CodeHS

Idaho 9-10 Framework


Standard Description
9-10.AP.01 Design and develop a software artifact by leading, initiating, and participating in a team (e.g. pair programming, agile software development). Lessons
9-10.AP.02 Demonstrate how diverse collaboration, both inside and outside of a team, impacts the design and development of software products (e.g. students show their own artifacts and demonstrate and reflect how diverse collaboration made a product better). Lessons
9-10.AP.03 Compare a variety of programming languages available to solve problems and develop systems. Lessons
9-10.AP.04 Explore security issues that might lead to compromised computer programs (e.g. ambiguous function calls, lack of error checking of the input, buffer overflow, SQL injection attacks, denial of service attacks). Lessons
9-10.AP.05 Classify and define the different types of software licenses in order to understand how to apply each one to a specific software example. Lessons
9-10.AP.06 Understand the notion of hierarchy and abstraction in high-level languages, translation, instruction sets, and logic circuits. Lessons
9-10.AP.07 Explore issues surrounding mobile computing by creating a mobile computing application (e.g. App Inventor). Lessons
9-10.AP.08 Create software solutions by applying analysis, design, implementation and testing techniques. Lessons
9-10.AP.09 Demonstrate code reuse by creating programming solutions using APIs and libraries (e.g. using text to speech in App Inventor, using Twitter API). Lessons
9-10.AP.10 Illustrate the flow of execution and output of a given program (e.g. flow and control diagrams). Lessons
9-10.AP.11 Illustrate how mathematical and statistical functions, sets, and logic are used in computation. Lessons
9-10.AP.12 Design algorithms using sequence, selection, iteration and recursion. Lessons
9-10.AP.13 Explain, represent, and understand natural phenomena using modeling and simulation Lessons
9-10.AP.14 Describe the concept of parallel processing as a strategy to solve large problems. Lessons
9-10.AP.15 Compare and evaluate software development processes used to solve problems (e.g. waterfall, agile). Lessons
9-10.AP.16 Decompose a complex problem into simpler parts using predefined functions and parameters, classes, and methods. Lessons
9-10.AP.17 Demonstrate the value of abstraction to manage problem complexity. Lessons
9-10.AP.18 Evaluate and improve program quality using various debugging and testing methods and examine the difference between verification and validation. Lessons
9-10.AP.19 Evaluate programs written by others for readability and usability. Lessons
9-10.CS.01 Identify and evaluate what computing resources are required for a given purpose (e.g. system requirements needed to run a program, hardware, and software needed to run game X). Lessons
9-10.CS.02 Explore the unique features of embedded computers in areas such as mobile devices, sensors, and vehicles. Lessons
9-10.CS.03 Create or modify a program that uses different forms of input and output. (e.g. use voice input instead of text input, use text-to-speech for output) Lessons
9-10.CS.04 Demonstrate the multiple levels of abstraction that support program execution including programming languages, translations, and low-level systems including the fetch-execute cycle (e.g. model, dance, create a play/presentation). Lessons
9-10.DA.01 Illustrate how various types of data are stored in a computer system (e.g. how sound and images are stored). Lessons
9-10.DA.02 Differentiate between information access and distribution rights (e.g. write, discuss). Lessons
9-10.DA.03 Compare and contrast the viewpoints on cybersecurity from the perspective of security experts, privacy advocates, the government (e.g. persuasive essay, presentation, or debate). Lessons
9-10.DA.04 Explain the principles of security by examining encryption, cryptography, and authentication techniques. Lessons
9-10.DA.05 Apply basic techniques for locating, collecting, and understanding the quality of small and large-scale data sets (e.g. public data sets). Lessons
9-10.DA.06 Convert between binary, decimal, octal, and hexadecimal representations of data. Lessons
9-10.DA.07 Analyze the representation and trade-offs among various forms of digital information (e.g. lossy versus lossless compression). Lessons
9-10.DA.08 Analyze data and identify patterns through modeling and simulation. Lessons
9-10.IC.01 Explain the social and economic implications associated with unethical computing practices (e.g. software piracy, intrusion, malware, current corporate fraud examples). Lessons
9-10.IC.02 Discuss trade-offs such as privacy, safety, and convenience associated with the collection and large scale analysis of information about individuals (e.g. social media, online shopping, how grocery/dept stores collect and use personal data). Lessons
9-10.IC.03 Understand and explain the impact of artificial intelligence and robotics. Lessons
9-10.IC.04 Describe how computer science shares features with creating and designing an artifact such as in music and art. Lessons
9-10.IC.05 Demonstrate how computing enhances traditional forms and enables new forms of experience, expression, communication, and collaboration (e.g. virtual reality). Lessons
9-10.IC.06 Explain the impact of the digital divide on access to critical information (e.g. education, healthcare, medical records, access to training). Lessons
9-10.IC.07 Compare the positive and negative impacts of computing on behavior and culture. Lessons
9-10.IC.08 Evaluate a computational artifact for its effectiveness for universal access (e.g. compare sample code with accessibility standards, building in access from initial design). Lessons
9-10.IC.09 Practice responsible digital citizenship (legal and ethical behaviors) in the use of technology systems and software. Lessons
9-10.IC.10 Explain how computer science fosters innovation and enhances other careers and disciplines. Lessons
9-10.IC.11 Explain the impacts of computing on business, manufacturing, commerce, and society. Lessons
9-10.NI.01 Describe the underlying process of Internet-based services. (e.g. illustrate how information flows in a global network, servers and clients, cloud services, secure versus insecure communication). Lessons
9-10.NI.02 Illustrate the basic components of computer networks, protocols and routing (e.g. team based activities which may include drawing a diagram of a network including routers, switches, local networks, and end user computing devices, creating models with string and paper, see CS unplugged activities). Lessons