You are here

Curriculum Classification Master List

This list shows all curriculum classifications, including CSTA standards and comprehensive curriculum resources (supoorting an entire CS course or curriculum unit or strategies for broadening participation in a CS program). Click a link to see all resources for that classification. 

Note: You may wish to use your browser's search feature to find classifications related to a specific word or phrase


Classification Description
CT.L1:3-01 Use technology resources (e.g., puzzles, logical thinking programs) to solve age-appropriate problems.
CT.L1:3-02 Use writing tools, digital cameras, and drawing tools to illustrate thoughts, ideas, and stories in a step-by-step manner.
CT.L1:3-03 Understand how to arrange (sort) information into useful order, such as sorting students by birth date, without using a computer.
CT.L1:3-04 Recognize that software is created to control computer operations.
CT.L1:3-05 Demonstrate how 0s and 1s can be used to represent information.
CT.L1:6-01 Understand and use the basic steps in algorithmic problem solving (e.g., problem statement and exploration, examination of sample instances, design, implementation, and testing).
CT.L1:6-02 Develop a simple understanding of an algorithm (e.g., search, sequence of events, or sorting) using computer-free exercises.
CT.L1:6-03 Demonstrate how a string of bits can be used to represent alphanumeric information.
CT.L1:6-04 Describe how a simulation can be used to solve a problem.
CT.L1:6-05 Make a list of sub-problems to consider while addressing a larger problem.
CT.L1:6-06 Understand the connections between computer science and other fields.
CT.L2-01 Use the basic steps in algorithmic problem-solving to design solutions (e.g., problem statement and exploration, examination of sample instances, design, implementing a solution, testing, evaluation).
CT.L2-02 Describe the process of parallelization as it relates to problem solving.
CT.L2-03 Define an algorithm as a sequence of instructions that can be processed by a computer.
CT.L2-04 Evaluate ways that different algorithms may be used to solve the same problem.
CT.L2-05 Act out searching and sorting algorithms.
CT.L2-06 Describe and analyze a sequence of instructions being followed (e.g., describe a character’s behavior in a video game as driven by rules and algorithms).
CT.L2-07 Represent data in a variety of ways, including text, sounds, pictures, and numbers.
CT.L2-08 Use visual representations of problem states, structures, and data (e.g., graphs, charts, network diagrams, flowcharts).
CT.L2-09 Interact with content-specific models and simulations (e.g., ecosystems, epidemics, molecular dynamics) to support learning and research.
CT.L2-10 Evaluate what kinds of problems can be solved using modeling and simulation.
CT.L2-11 Analyze the degree to which a computer model accurately represents the real world.
CT.L2-12 Use abstraction to decompose a problem into sub problems.
CT.L2-13 Understand the notion of hierarchy and abstraction in computing, including high-level languages, translation, instruction set, and logic circuits.
CT.L2-14 Examine connections between elements of mathematics and computer science, including binary numbers, logic, sets and functions.
CT.L2-15 Provide examples of interdisciplinary applications of computational thinking.
CT.L3A-01 Use predefined functions and parameters, classes and methods to divide a complex problem into simpler parts.
CT.L3A-02 Describe a software development process used to solve software problems (e.g., design, coding, testing, verification).
CT.L3A-03 Explain how sequence, selection, iteration, and recursion are building blocks of algorithms
CT.L3A-04 Compare techniques for analyzing massive data collections.
CT.L3A-05 Describe the relationship between binary and hexadecimal representations.
CT.L3A-06 Analyze the representation and trade-offs among various forms of digital information.
CT.L3A-07 Describe how various types of data are stored in a computer system.
CT.L3A-08 Use modeling and simulation to represent and understand natural phenomena.
CT.L3A-09 Discuss the value of abstraction to manage problem complexity.
CT.L3A-10 Describe the concept of parallel processing as a strategy to solve large problems.
CT.L3A-11 Describe how computation shares features with art and music by translating human intention into an artifact.
CT.L3B-01 Classify problems as tractable, intractable, or computationally unsolvable.
CT.L3B-02 Explain the value of heuristic algorithms to approximate solutions for intractable problems.
CT.L3B-03 Critically examine classical algorithms and implement an original algorithm.
CT.L3B-04 Evaluate algorithms by their efficiency, correctness, and clarity.
CT.L3B-05 Use data analysis to enhance understanding of complex natural and human systems.
CT.L3B-06 Compare and contrast simple data structures and their uses (e.g., arrays and lists).
CT.L3B-07 Discuss the interpretation of binary sequences in a variety of forms (e.g., instructions, numbers, text, sound, image).
CT.L3B-08 Use models and simulations to help formulate, refine, and test scientific hypotheses.
CT.L3B-09 Analyze data and identify patterns through modeling and simulation.
CT.L3B-10 Decompose a problem by defining new functions and classes.
CT.L3B-11 Demonstrate concurrency by separating processes into threads and dividing data into parallel streams.
CL.L1:3-01 Gather information and communicate electronically with others with support from teachers, family members, or student partners.
CL.L1:3-02 Work cooperatively and collaboratively with peers, teachers, and others using technology.
CL.L1:6-01 Use productivity technology tools (e.g., word processing, spreadsheet, presentation software) for individual and collaborative writing, communication, and publishing activities.
CL.L1:6-02 Use online resources (e.g., email, online discussions, collaborative web environments) to participate in collaborative problem-solving activities for the purpose of developing solutions or products.
CL.L1:6-03 Identify ways that teamwork and collaboration can support problem solving and innovation.
CL.L2-01 Apply productivity/ multimedia tools and peripherals to group collaboration and support learning throughout the curriculum.
CL.L2-02 Collaboratively design, develop, publish, and present products (e.g., videos, podcasts, websites) using technology resources that demonstrate and communicate curriculum concepts.
CL.L2-03 Collaborate with peers, experts, and others using collaborative practices such as pair programming, working in project teams, and participating in group active learning activities.
CL.L2-04 Exhibit dispositions necessary for collaboration: providing useful feedback, integrating feedback, understanding and accepting multiple perspectives, socialization.
CL.L3A-01 Work in a team to design and develop a software artifact.
CL.L3A-02 Use collaborative tools to communicate with project team members (e.g., discussion threads, wikis, blogs, version control, etc.).
CL.L3A-03 Describe how computing enhances traditional forms and enables new forms of experience, expression, communication, and collaboration.
CL.L3A-04 Identify how collaboration influences the design and development of software products.
CL.L3B-01 Use project collaboration tools, version control systems, and Integrated Development Environments (IDEs) while working on a collaborative software project.
CL.L3B-02 Demonstrate the software life cycle process by participating on a software project team.
CL.L3B-03 Evaluate programs written by others for readability and usability.
CPP.L1:3-01 Use technology resources to conduct age-appropriate research.
CPP.L1:3-02 Use developmentally appropriate multimedia resources (e.g., interactive books and educational software) to support learning across the curriculum.
CPP.L1:3-03 Create developmentally appropriate multimedia products with support from teachers, family members, or student partners.
CPP.L1:3-04 Construct a set of statements to be acted out to accomplish a simple task (e.g., turtle instructions).
CPP.L1:3-05 Identify jobs that use computing and technology.
CPP.L1:3-06 Gather and organize information using concept-mapping tools.
CPP.L1:6-01 Use technology resources (e.g., calculators, data collection probes, mobile devices, videos, educational software, and web tools) for problem-solving and self-directed learning.
CPP.L1:6-02 Use general-purpose productivity tools and peripherals to support personal productivity, remediate skill deficits, and facilitate learning.
CPP.L1:6-03 Use technology tools (e.g., multimedia and text authoring, presentation, web tools, digital cameras, and scanners) for individual and collaborative writing, communication, and publishing activities.
CPP.L1:6-04 Gather and manipulate data using a variety of digital tools.
CPP.L1:6-05 Construct a program as a set of step-by-step instructions to be acted out (e.g., make a peanut butter and jelly sandwich activity).
CPP.L1:6-06 Implement problem solutions using a block-based visual programming language.
CPP.L1:6-07 Use computing devices to access remote information, communicate with others in support of direct and independent learning, and pursue personal interests.
CPP.L1:6-08 Navigate between webpages using hyperlinks and conduct simple searches using search engines.
CPP.L1:6-09 Identify a wide range of jobs that require knowledge or use of computing.
CPP.L2-01 Select appropriate tools and technology resources to accomplish a variety of tasks and solve problems.
CPP.L2-02 Use a variety of multimedia tools and peripherals to support personal productivity and learning throughout the curriculum.
CPP.L2-03 Design, develop, publish, and present products (e.g., webpages, mobile applications, animations) using technology resources that demonstrate and communicate curriculum concepts.
CPP.L2-04 Demonstrate an understanding of algorithms and their practical application.
CPP.L2-05 Implement problem solutions using a programming language, including: looping behavior, conditional statements, logic, expressions, variables, and functions.
CPP.L2-06 Demonstrate good practices in personal information security, using passwords, encryption, and secure transactions.
CPP.L2-07 Identify interdisciplinary careers that are enhanced by computer science.
CPP.L2-08 Demonstrate dispositions amenable to open-ended problem solving and programming (e.g., comfort with complexity, persistence, brainstorming, adaptability, patience, propensity to tinker, creativity, accepting challenge).
CPP.L2-09 Collect and analyze data that is output from multiple runs of a computer program.
CPP.L3A-01 Create and organize web pages through the use of a variety of web programming design tools.
CPP.L3A-02 Use mobile devices/ emulators to design, develop, and implement mobile computing applications.
CPP.L3A-03 Use various debugging and testing methods to ensure program correctness (e.g., test cases, unit testing, white box, black box, integration testing)
CPP.L3A-04 Apply analysis, design, and implementation techniques to solve problems (e.g., use one or more software lifecycle models).
CPP.L3A-05 Use Application Program Interfaces (APIs) and libraries to facilitate programming solutions.
CPP.L3A-06 Select appropriate file formats for various types and uses of data.
CPP.L3A-07 Describe a variety of programming languages available to solve problems and develop systems.
CPP.L3A-08 Explain the program execution process.
CPP.L3A-09 Explain the principles of security by examining encryption, cryptography, and authentication techniques.
CPP.L3A-10 Explore a variety of careers to which computing is central.
CPP.L3A-11 Describe techniques for locating and collecting small and large-scale data sets.
CPP.L3A-12 Describe how mathematical and statistical functions, sets and logic are used in computation.
CPP.L3B-01 Use advanced tools to create digital artifacts (e.g., web design, animation, video, multimedia).
CPP.L3B-02 Use tools of abstraction to decompose a large-scale computational problem (e.g., procedural abstraction, object-oriented design, functional design).
CPP.L3B-03 Classify programming languages based on their level and application domain.
CPP.L3B-04 Explore principles of system design in scaling, efficiency, and security.
CPP.L3B-05 Deploy principles of security by implementing encryption and authentication strategies.
CPP.L3B-06 Anticipate future careers and the technologies that will exist.
CPP.L3B-07 Use data analysis to enhance understanding of complex natural and human systems.
CPP.L3B-08 Deploy various data collection techniques for different types of problems.
CD.L1:3-01 Use standard input and output devices to successfully operate computers and related technologies.
CD.L1:6-01 Demonstrate an appropriate level of proficiency with keyboards and other input and output devices.
CD.L1:6-02 Understand the pervasiveness of computers and computing in daily life (e.g., voice mail, downloading videos and audio files, microwave ovens, thermostats, wireless Internet, mobile computing devices, GPS systems).
CD.L1:6-03 Apply strategies for identifying simple hardware and software problems that may occur during use.
CD.L1:6-04 Identify that information is coming to the computer from many sources over a network.
CD.L1:6-05 Identify factors that distinguish humans from machines.
CD.L1:6-06 Recognize that computers model intelligent behavior (as found in robotics, speech and language recognition, and computer animation).
CD.L2-01 Recognize that computers are devices that execute programs.
CD.L2-02 Identify a variety of electronic devices that contain computational processors
CD.L2-03 Demonstrate an understanding of the relationship between hardware and software.
CD.L2-04 Use developmentally appropriate, accurate terminology when communicating about technology.
CD.L2-05 Apply strategies for identifying and solving routine hardware problems that occur during everyday computer use.
CD.L2-06 Describe the major components and functions of computer systems and networks.
CD.L2-07 Describe what distinguishes humans from machines, focusing on human intelligence versus machine intelligence and ways we can communicate.
CD.L2-08 Describe ways in which computers use models of intelligent behavior (e.g., robot motion, speech and language understanding, and computer vision).
CD.L3A-01 Describe the unique features of computers embedded in mobile devices and vehicles (e.g., cell phones, automobiles, airplanes).
CD.L3A-02 Develop criteria for purchasing or upgrading computer system hardware.
CD.L3A-03 Describe the principal components of computer organization (e.g., input, output, processing, and storage).
CD.L3A-04 Compare various forms of input and output.
CD.L3A-05 Explain the multiple levels of hardware and software that support program execution (e.g., compilers, interpreters, operating systems, networks).
CD.L3A-06 Apply strategies for identifying and solving routine hardware and software problems that occur in everyday life.
CD.L3A-07 Compare and contrast client-server and peer-to-peer network strategies.
CD.L3A-08 Explain the basic components of computer networks (e.g., servers, file protection, routing, spoolers and queues, shared resources, and fault-tolerance).
CD.L3A-09 Describe how the Internet facilitates global communication.
CD.L3A-10 Describe the major applications of artificial intelligence and robotics.
CD.L3B-01 Discuss the impact of modifications on the functionality of application programs.
CD.L3B-02 Identify and describe hardware (e.g., physical layers, logic gates, chips, components).
CD.L3B-03 Identify and select the most appropriate file format based on trade-offs (e.g., accuracy, speed, ease of manipulation).
CD.L3B-04 Describe the issues that impact network functionality (e.g., latency, bandwidth, firewalls, server capability).
CD.L3B-05 Explain the notion of intelligent behavior through computer modeling and robotics.
CI.L1:3-01 Practice responsible digital citizenship (legal and ethical behaviors) in the use of technology systems and software.
CI.L1:3-02 Identify positive and negative social and ethical behaviors for using technology
CI.L1:6-01 Discuss basic issues related to responsible use of technology and information, and the consequences of inappropriate use.
CI.L1:6-02 Identify the impact of technology (e.g., social networking, cyber bullying, mobile computing and communication, web technologies, cyber security, and virtualization) on personal life and society.
CI.L1:6-03 Evaluate the accuracy, relevance, appropriateness, comprehensiveness, and biases that occur in electronic information sources.
CI.L1:6-04 Understand ethical issues that relate to computers and networks (e.g., equity of access, security, privacy, copyrights and intellectual property).
CI.L2-01 Exhibit legal and ethical behaviors when using information and technology and discuss the consequences of misuse.
CI.L2-02 Demonstrate knowledge of changes in information technologies over time and the effects those changes have on education, the workplace, and society.
CI.L2-03 Analyze the positive and negative impacts of computing on human culture.
CI.L2-04 Evaluate the accuracy, relevance, appropriateness, comprehensiveness, and bias of electronic information sources concerning real-world problems.
CI.L2-05 Describe ethical issues that relate to computers and networks (e.g., security, privacy, ownership, and information sharing).
CI.L2-06 Discuss how the unequal distribution of computing resources in a global economy raises issues of equity, access, and power.
CI.L3A-01 Compare appropriate and inappropriate social networking behaviors.
CI.L3A-02 Discuss the impact of computing technology on business and commerce (e.g., automated tracking of goods, automated financial transactions, e-commerce, cloud computing).
CI.L3A-03 Describe the role that adaptive technology can play in the lives of people with special needs.
CI.L3A-04 Compare the positive and negative impacts of technology on culture (e.g., social networking, delivery of news and other public media, and intercultural communication).
CI.L3A-05 Describe strategies for determining the reliability of information found on the Internet.
CI.L3A-06 Differentiate between information access and information distribution rights.
CI.L3A-07 Describe how different kinds of software licenses can be used to share and protect intellectual property.
CI.L3A-08 Discuss the social and economic implications associated with hacking and software piracy.
CI.L3A-09 Describe different ways in which software is created and shared and their benefits and drawbacks (commercial software, public domain software, open source development).
CI.L3A-10 Describe security and privacy issues that relate to computer networks.
CI.L3A-11 Explain the impact of the digital divide on access to critical information.
CI.L3B-01 Demonstrate ethical use of modern communication media and devices.
CI.L3B-02 Analyze the beneficial and harmful effects of computing innovations.
CI.L3B-03 Summarize how financial markets, transactions, and predictions have been transformed by automation.
CI.L3B-04 Summarize how computation has revolutionized the way people build real and virtual organizations and infrastructures.
CI.L3B-05 Identify laws and regulations that impact the development and use of software.
CI.L3B-06 Analyze the impact of government regulation on privacy and security.
CI.L3B-07 Differentiate among open source, freeware, and proprietary software licenses and their applicability to different types of software.
CI.L3B-08 Relate issues of equity, access, and power to the distribution of computing resources in a global society.
CC.L1:3 Resources for a CS-related curriculum unit at Level 1:3 (grades K-3).
CC.L1:6 Resources for a CS-related curriculum unit at Level 1:6 (grades 3-6).
CC.L2 Resources for a CS course or comprehensive curriculum unit at Level 2 (grades 6-9).
CC.L3A Resources for a CS course at Level 3A (grades 9-10).
CC.L3B Resources for a CS course at Level 3B (grades 10-11).
CC.L3C-01 AP Computer Science A
CC.L3C-01a Object-Oriented Program Design (AP Comp Sci A Topic I)
CC.L3C-01b Program Implementation (AP Comp Sci A Topic II)
CC.L3C-01c Program Analysis (AP Comp Sci A Topic III)
CC.L3C-01d Standard Data Structures (AP Comp Sci A Topic IV)
CC.L3C-01e Standard Algorithms (AP Comp Sci A Topic V)
CC.L3C-01f Computing in Context (AP Comp Sci A Topic VI)
CC.L3C-02 Desktop Publishing
CC.L3C-03 Technical Communications
CC.L3C-04 Multimedia
CC.L3C-05 Graphics
CC.L3C-06 Game Programming
CC.L3C-07 Computational Modeling
CC.L3C-08 Web Development
CC.L3C-09 Web Programming
CC.L3C-10 Emerging Technologies
CC.L3C-11 Free and Open-Source software
CC.L3C-12 Other Project-Based Courses
CC.L3C-13 Courses Leading to Industry Certification
CC.PS-01 Promotional Ideas, such as for recruiting students and presenting parent information nights.
CC.PS-02 Computer Clubs: starting a club, rules, activities.
CC.PS-03 Equity Issues: strategies for broadening participation of females and members of under-represented populations.
CC.PS-04 Classroom Strategies