Standards in this Framework
Standard | Description |
---|---|
1.1.1 | Demonstrate understanding of various career paths in computer science (e.g., software development, data science, cybersecurity, networking, robotics, computer engineering, and artificial intelligence) and their roles in different industries. |
1.1.2 | Practice professional communication skills through various activities (e.g., mock interviews, technical presentations, and collaborative coding projects) to prepare for real-world scenarios in computer science careers. |
1.1.3 | Describe the importance of ethical considerations in computer science (e.g., data privacy, algorithmic bias, and social impact of technology) and how they apply to professional practice. |
1.1.4 | Evaluate the concept and importance of a professional online presence in computer science careers (e.g., portfolio websites, professional networking platforms, open-source contributions) and explore ways to showcase skills and projects. |
1.1.5 | Identify key elements of a professional portfolio and explain the purpose of a portfolio (e.g., showcasing skills, documenting growth, and supporting college applications or job searches). |
2.1.1 | Recognize situations where leveraging computational approaches (e.g., data analysis, automation, or simulations) would be beneficial for solving real-world problems. |
2.1.2 | Apply the core computational thinking principles—abstraction (focusing on essential elements), decomposition (breaking problems into manageable parts), algorithm development (creating step-by-step solutions), and pattern recognition (identifying recurring elements)—to designing effective problem-solving strategies. |
2.2.1 | Use various data types (e.g., Booleans, characters, integers, floating points, and strings) appropriately within a program. |
2.2.2 | Create and use variables to store and manage data within a program. |
2.2.3 | Construct expressions using arithmetic operators (e.g., +, -, *, /, and %) and numeric data types to perform calculations within a program. |
2.2.4 | Convert between different data types when necessary within a program (e.g., casting a string into an integer). |
2.2.5 | Perform operations that encode and decode data from one form into another form (e.g., binary to hexadecimal, numeric values to colored pixels, or numbers to ASCII/Unicode representations). |
2.2.6 | Implement data structures (e.g., arrays, lists, sets, and maps) to organize, store, manipulate, and perform operations on collections of data within a program. |
2.3.1 | Analyze a program in terms of steps of execution and expected outcomes (e.g., storyboards, flowcharts, and pseudocode). |
2.3.2 | Construct Boolean expressions using relational operators (e.g., <, >, <=, >=, ==, and !=) within a program. |
2.3.3 | Construct Boolean expressions using logical operators (e.g, AND, OR, and NOT) within a program. |
2.3.4 | Create programs that implement selection control structures (e.g., if statements and switch statements) to make decisions and execute different code paths based on conditions. |
2.3.5 | Create programs that implement iteration control structures (e.g., while loops and for loops) to repeat code blocks a specific number of times or until a condition is met. |
2.3.6 | Create subroutines (e.g., procedures and functions) to modularize code for reusability and organization within a program. |
2.3.7 | Debug errors (e.g., syntax, runtime, and logic) within a program to ensure program functionality. |
2.4.1 | Use the console for basic data input and output operations within a program. |
2.4.2 | Explain the structure and purpose of different file types (e.g., txt, csv, bmp, and json) used for data storage. |
2.4.3 | Develop programs that perform file operations including reading data from, writing data to, and appending data to files. |
2.5.1 | Implement consistent formatting and naming conventions within the code (e.g., indentation, spacing, variable names) to improve code readability and maintainability. |
2.5.2 | Craft clear and concise comments within the code to explain the purpose of different code sections, algorithms used, and non-obvious logic. |
3.1.1 | Categorize data into different types (e.g., quantitative - continuous and discrete, qualitative - nominal and ordinal) and understand the distinction between them. |
3.1.2 | Identify potential sources of data (e.g., sensors, surveys, databases, and web scraping) based on the type of data needed. |
3.1.3 | Explain the advantages and disadvantages of different data collection methods (e.g., surveys for user opinions, experiments for cause-effect relationships, and observational studies for naturalistic data) considering factors like accuracy, cost, and time. |
3.1.4 | Design basic data collection methods (e.g., short surveys, observation checklists, and simple experiments) appropriate for a specific purpose. |
3.2.1 | Identify and address data quality issues (e.g., missing values, inconsistencies, and outliers) to ensure the data is suitable for analysis. |
3.2.2 | Analyze data sets utilizing appropriate descriptive statistics (e.g., mean, median, quartiles, and range) and visualizations (e.g., histograms and box plots). |
3.2.3 | Visually inspect and use exploratory analysis techniques to discern patterns, trends, and relationships within the data. |
3.2.4 | Develop programs that perform data analysis techniques (e.g., finding correlations and comparison of means) appropriate for the data and question at hand. |
3.2.5 | Create programs to generate suitable visualizations (e.g., bar charts for comparisons, line charts for trends, scatter plots for relationships, and pie charts for part-to-whole) for the data and question at hand. |
3.3.1 | Recognize and explain how potential biases (e.g., confirmation, selection, and reporting) within a data source could influence the analysis and resulting insights. |
3.3.2 | Develop clear and concise narratives that effectively communicate data insights to diverse audiences, leveraging storytelling techniques to enhance understanding and engagement. |
3.3.3 | Demonstrate a clear understanding of the difference between correlation and causation, ensuring conclusions accurately reflect the relationships identified in the data analysis. |
3.3.4 | Develop sound inferences from the data to support informed decision-making, avoiding overstated or misleading implications based on the findings. |
3.3.5 | Present both positive and negative findings in a comprehensive and unbiased way, ensuring accurate data representation for the audience. |
4.1.1 | Define artificial intelligence (AI), identify its key subfields, and explain its benefits and potential drawbacks in real-world applications. |
4.1.2 | Explain cloud computing, its service models (e.g., Infrastructure as a Service, Platform as a Service, and Software as a Service), and discuss how it has transformed the IT landscape, including its advantages and challenges. |
4.1.3 | Define the Internet of Things (IoT), recognize its real-world applications, and discuss its impact on data generation, automation, and interconnectedness. |
4.1.4 | Explain the concept of big data, its defining characteristics, and its impact on data analysis, decision-making, and various industries. |
4.2.1 | Define quantum computing, explaining its basic principles and potential to revolutionize computing power and cryptography. |
4.2.2 | Describe edge computing and its role in processing data closer to the source, discussing its advantages in reducing latency and enhancing privacy. |
4.2.3 | Explain the concept of extended reality (e.g., virtual reality, augmented reality, and mixed reality) and its potential applications across various industries. |
4.2.4 | Describe the capabilities of blockchain technology and assess its potential uses across different sectors (e.g., supply chain management, identity verification systems, and decentralized financial services). |
5.1.1 | Analyze the core principles for establishing comprehensive information security strategies (e.g., confidentiality, integrity, availability, authentication, and non-repudiation) when using data and information systems. |
5.1.2 | Describe common cyber threats (e.g., malware, phishing, and ransomware) and how these threats can compromise data and information systems. |
5.1.3 | Describe essential cybersecurity practices (e.g., data encryption, secure coding, and user authentication) and technologies (e.g., firewalls and multi-factor authentication) implemented to safeguard information. |
5.1.4 | Analyze the impact of best practices (e.g., strong passwords and security awareness training) in maintaining a secure digital environment. |
5.2.1 | Identify and explain the purpose of key hardware components (e.g., CPU, RAM, storage, and I/O devices) within various computing platforms (e.g., desktops, laptops, and mobile devices) and how they work together to enable the overall system operation. |
5.2.2 | Define software and distinguish between system software (e.g., operating systems, device drivers) and application software (e.g., word processors, web browsers, games). |
5.2.3 | Explain the basic functions of an operating system (e.g., managing hardware resources, providing user interface, handling file systems) and its importance in computer operations. |
5.2.4 | Summarize the concept of open-source software, its benefits, and its impact on software development and distribution. |
5.2.5 | Explain the importance of software updates and patches in maintaining security and improving functionality. |
5.3.1 | Define and explain the significance of common network concepts (e.g., IP address, topology, protocols, bandwidth, and latency). |
5.3.2 | Identify and describe the functionalities of common network hardware (e.g., modems, routers, switches, firewalls, and servers) used in networks. |
5.3.3 | Explain how basic network security principles (e.g., access control, encryption, and firewalls) are used to safeguard networks. |
5.3.4 | Analyze the relationship between computer systems, software, and networks in creating interconnected computing environments. |