Please enable JavaScript to use CodeHS

Indiana Computer Science 2 Framework


Standard Description
CSII-1.1 Document problem analysis through industry standards such as: flowcharts, functional specifications, user stories, etc. Lessons
CSII-1.2 Outline the problem assigned and describe the solution. Lessons
CSII-1.3 Use puzzles and games to enhance problem solving skills. Lessons
CSII-1.4 Recognize language appropriate planning and designing tools (for example: flowcharts, UML diagrams, pseudocode, use cases). Lessons
CSII-1.5 Modify an existing program, such as a template, to add additional functionality and discuss intended and unintended implications. Lessons
CSII-1.6 Justify what programming methodology to use (object oriented or procedural). Lessons
CSII-2.1 Design a solution to a problem by working in a team. Lessons
CSII-2.2 Explore technologies that can be used to collaborate with others of various cultures and career fields. Lessons
CSII-2.3 Utilize a problem solving approach to develop a solution using technology. Lessons
CSII-2.4 Analyze the work of peers and provide feedback. Lessons
CSII-2.5 Use version control systems, integrated development environments (IDEs), and collaborative tools and practices in a group software project. Lessons
CSII-3.1 Develop algorithms to determine a solution. Lessons
CSII-3.2 Assess the use of algorithms to provide a solution. Lessons
CSII-3.3 Create pseudocode to describe a solution. Lessons
CSII-3.4 Create a program flowchart using ANSI standard flowcharting symbols to define a solution. Lessons
CSII-3.5 Explain how the algorithm can be used to solve a problem. Lessons
CSII-3.6 Apply Boolean logic and relational operations. Lessons
CSII-3.7 Demonstrate iteration in an algorithm. Lessons
CSII-3.8 Evaluate algorithms in terms of their efficiency, correctness, and clarity. Lessons
CSII-3.9 Illustrate the flow of execution of a recursive algorithm. Lessons
CSII-3.10 Integrate classic algorithms (sorting and searching) to solve computational problems. Lessons
CSII-3.11 Demonstrate the different methods for encoding data such as binary, decimal, hexadecimal, ASCII, and Unicode. Lessons
CSII-4.1 Define the process of programming. Lessons
CSII-4.2 Plan and develop programs for broad audiences using a software development lifecycle process (such as: Agile, waterfall, and spiral). Lessons
CSII-4.3 Adhere to industry standard programming conventions for accuracy and readability. Lessons
CSII-4.4 Demonstrate code reuse by creating programming solutions using libraries and APIs. Lessons
CSII-4.5 Create an advanced computer program that corresponds to an algorithm or proposed solution. Lessons
CSII-4.6 Implement fundamental programming constructs, including data types, control structures, methods, and arrays. Lessons
CSII-4.7 Compare local scope and global scope. Lessons
CSII-4.8 Create programmer defined functions and methods to break down program logic and support reuse. Lessons
CSII-4.9 Recognize the order of operations used by a computer when performing calculations. Lessons
CSII-4.10 Implement simple and compound conditionals (Boolean - not, and, or). Lessons
CSII-4.11 Demonstrate the relationship between classes and objects (instances). Lessons
CSII-4.12 Demonstrate the differences between instance variables and class variables Lessons
CSII-4.13 Demonstrate the differences between instance methods and class methods. Lessons
CSII-4.14 Apply inheritance, polymorphism, encapsulation, and abstraction in the context of Object Oriented Programming. Lessons
CSII-4.15 Compare the graphical user interface and the command line interface. Lessons
CSII-5.1 Predict and explain programming outcomes. Lessons
CSII-52 Identify cause/effect for input/output. Lessons
CSII-5.3 Understand input validation Lessons
CSII-5.4 Develop and use a series of test cases to verify that a program performs according to its design specifications. Lessons
CSII-5.5 Peer review documentation and code. Lessons
CSII-5.6 Differentiate between syntax, logic, and semantic errors. Lessons
CSII-5.7 Debug code using techniques such as: code tracing, print statements, boundary testing, breakpoints, etc. Lessons
CSII-5.8 Review computing artifacts to reduce bias, increase equity, and support accessibility. Lessons
CSII-6.1 Describe the function of a computing artifact (for example, code or design). Lessons
CSII-6.2 Identify the purposes of a computing artifact. Lessons
CSII-6.3 Explain concepts related to a computing artifact. Lessons
CSII-6.4 Describe how to use a computing artifact. Lessons
CSII-6.5 Explain cause/effect by interpreting input and output. Lessons
CSII-6.6 Create documentation for computing artifact such as comments or user manual/readme. Lessons
CSII-7.1 Examine the dynamic between privacy and security. Lessons
CSII-7.2 Explain the privacy concerns related to the collection and generation of data through implicit and explicit processes. Lessons
CSII-7.3 Evaluate the social and emotional implications of privacy in the context of safety, law, and ethics. Lessons
CSII-7.4 Give examples to illustrate how sensitive data can be affected by malware and other attacks. Lessons
CSII-7.5 Discuss the concepts and justifications for using secure design techniques. Lessons
CSII-7.6 Discuss the laws surrounding intellectual property. Lessons
CSII-8.1 Identify computer science occupations and the roles and responsibilities of each. Lessons
CSII-8.2 Report job outlook, demand, and projected wages for computer science careers. Lessons
CSII-8.3 Explore the job opportunities that are available in computer science. Lessons
CSII-8.4 Investigate post-secondary training opportunities and industry certifications that are available. Lessons