Please enable JavaScript to use CodeHS

Texas Computer Science 2 Standards Mapping

to

K12 Computer Science II Semester One & Two

72 Standards in this Framework 72 Standards Mapped 100% Mapped to Course


Standard Lessons
130.422.c.1.a Use program design problem-solving strategies to create program solutions;
  1. 3.6 Top Down Design and Decomposition in Karel
  2. 3.7 Commenting Your Code
  3. 3.13 Control Structures Example
130.422.c.1.b Demonstrate the ability to read and modify large programs, including the design description and process development;
  1. 9.4 Activity 4: Hiding and Revealing a Text Message
  2. 11.4 Activity 4: Extending the Celebrity Class
130.422.c.1.c Follow the systematic problem-solving process of identifying the specifications of purpose and goals, the data types and objects needed, and the subtasks to be performed;
  1. 9.4 Activity 4: Hiding and Revealing a Text Message
  2. 11.4 Activity 4: Extending the Celebrity Class
130.422.c.1.d Compare and contrast design methodologies and implementation techniques such as top-down, bottom-up, and black box;
  1. 3.6 Top Down Design and Decomposition in Karel
  2. 11.3 Activity 3: Putting it All Together
130.422.c.1.e Analyze, modify, and evaluate existing code by performing a case study on a large program, including inheritance and black box programming;
  1. 7.13 Inheritance
  2. 11.3 Activity 3: Putting it All Together
130.422.c.1.f Identify the data types and objects needed to solve a problem;
  1. 8.1 What are Data Structures?
  2. 8.2 Introduction to Arrays
  3. 8.6 Arrays vs ArrayLists
  4. 8.9 2D Arrays (Matrices or Grids)
  5. 8.11 HashMaps
130.422.c.1.g Choose, identify, and use the appropriate abstract data type, advanced data structure, and supporting algorithms to properly represent the data in a program problem solution;
  1. 8.1 What are Data Structures?
  2. 8.2 Introduction to Arrays
  3. 8.6 Arrays vs ArrayLists
  4. 8.9 2D Arrays (Matrices or Grids)
  5. 8.11 HashMaps
130.422.c.1.h Use object-oriented programming development methodology, data abstraction, encapsulation with information hiding, and procedural abstraction in program development and testing; and
  1. 7.1 Introduction to Classes and Objects
  2. 7.9 Method Overloading
  3. 7.13 Inheritance
  4. 7.14 Class Design and Abstract Classes
  5. 7.15 Polymorphism
130.422.c.1.i Create, edit, and manipulate bitmap images that are used to enhance user interfaces and program functionality.
  1. 9.2 Activity 2: Hiding and Revealing a Picture
  2. 9.3 Activity 3: Identifying a Hidden Picture
130.422.c.2.a Use the principles of software engineering to work in software design teams, break a problem statement into specific solution requirements, create a program development plan, code part of a solution from a program development plan while a partner codes the remaining part, team test the solution for correctness, and develop presentations to report the solution findings;
  1. 12.2 Planning Your Project
  2. 12.4 Providing Feedback
130.422.c.2.b Create interactive console display interfaces with appropriate user prompts;
  1. 11.3 Activity 3: Putting it All Together
130.422.c.2.c Create interactive human interfaces to acquire data from a user and display program results using an advanced Graphical User Interface (GUI);
  1. 11.3 Activity 3: Putting it All Together
  2. 11.4 Activity 4: Extending the Celebrity Class
130.422.c.2.d Write programs and communicate with proper programming style to enhance the readability and functionality of the code by using meaningful descriptive identifiers, internal comments, white space, indentation, and a standardized program style;
  1. 3.7 Commenting Your Code
  2. 3.15 How to Indent Your Code
130.422.c.2.e Improve data display by optimizing data visualization;
  1. 8.11 HashMaps
130.422.c.2.f Display simple vector graphics to interpret and display program results; and
  1. 9.1 Activity 1: Exploring Color
  2. 10.4 Selection Sort
  3. 10.5 Insertion Sort
130.422.c.2.g Display simple bitmap images.
  1. 9.2 Activity 2: Hiding and Revealing a Picture
130.422.c.3.a Use local area networks (LANs) and wide area networks (WANs), including the Internet and intranets, in research, file management, and collaboration;
  1. 12.1 Project Overview
  2. 12.2 Planning Your Project
130.422.c.3.b Understand programming file structure and file access for required resources;
  1. 3.3 Java Programs and the Run Method
  2. 7.3 Using a Class as a Client
  3. 7.14 Class Design and Abstract Classes
130.422.c.3.c Acquire and process information from text files, including files of known and unknown sizes;
  1. 6.2 Sentiment Value and Star Ratings
  2. 6.3 Autogenerated Review
  3. 6.4 Create a Negative or Positive Review
130.422.c.3.d Manipulate data structures using string processing;
  1. 5.8 String Processing
130.422.c.3.e Manipulate data values by casting between data types;
  1. 4.3 Variables and Types
  2. 4.6 Casting
130.422.c.3.f Identify and use the structured data type of one-dimensional arrays to traverse, search, modify, insert, and delete data;
  1. 8.2 Introduction to Arrays
  2. 8.3 Using Arrays
  3. 8.5 ArrayList Methods
130.422.c.3.g Identify and use the structured data type of two-dimensional arrays to traverse, search, modify, insert, and delete data; and
  1. 8.9 2D Arrays (Matrices or Grids)
130.422.c.3.h Identify and use a list object data structure to traverse, search, insert, and delete data.
  1. 8.5 ArrayList Methods
  2. 8.6 Arrays vs ArrayLists
  3. 8.8 The List Interface
130.422.c.4.a Develop sequential algorithms using branching control statements, including nested structures, to create solutions to decision-making problems;
  1. 3.11 If Statements
  2. 3.12 If/Else Statements
  3. 4.12 If Statements
  4. 4.13 Loop-and-a-Half
130.422.c.4.aa Extend, modify, and improve existing code using inheritance;
  1. 7.13 Inheritance
  2. 7.14 Class Design and Abstract Classes
  3. 7.15 Polymorphism
130.422.c.4.b Develop choice algorithms using selection control statements based on ordinal values;
  1. 4.12 If Statements
130.422.c.4.bb Create adaptive behaviors, including overloading, using polymorphism;
  1. 7.15 Polymorphism
130.422.c.4.c Demonstrate proficiency in the use of short-circuit evaluation;
  1. 4.14 Short-Circuit Evaluation
130.422.c.4.cc Understand and use reference variables for object and string data types;
  1. 8.3 Using Arrays
130.422.c.4.d Demonstrate proficiency in the use of Boolean algebra, including De Morgan's Law;
  1. 4.15 De Morgan's Laws
130.422.c.4.dd Understand and implement access scope modifiers;
  1. 7.10 Local Variables and Scope
130.422.c.4.e Develop iterative algorithms using nested loops;
  1. 3.13 Control Structures Example
  2. 4.10 For Loops
  3. 4.11 While Loops
130.422.c.4.ee Understand and demonstrate how to compare objects;
  1. 7.12 Objects vs Primitives
  2. 7.14 Class Design and Abstract Classes
130.422.c.4.f Identify, trace, and appropriately use recursion in programming solutions, including algebraic computations;
  1. 10.6 Advanced: Recursion
130.422.c.4.ff Duplicate objects using the appropriate deep and/or shallow copy;
  1. 7.11 Key Terms for Classes
  2. 7.12 Objects vs Primitives
130.422.c.4.g Design, construct, evaluate, and compare search algorithms, including linear searching and binary searching;
  1. 10.2 Linear Search
  2. 10.3 Binary Search
130.422.c.4.gg Define and implement abstract classes and interfaces in program problem solutions;
  1. 7.14 Class Design and Abstract Classes
  2. 7.17 Interfaces
130.422.c.4.h Identify, describe, design, create, evaluate, and compare standard sorting algorithms, including selection sort, bubble sort, insertion sort, and merge sort;
  1. 10.4 Selection Sort
  2. 10.5 Insertion Sort
  3. 10.7 Mergesort
130.422.c.4.hh Apply functional decomposition to a program solution;
  1. 3.6 Top Down Design and Decomposition in Karel
130.422.c.4.i Measure time/space efficiency of various sorting algorithms;
  1. 10.2 Linear Search
  2. 10.3 Binary Search
  3. 10.4 Selection Sort
  4. 10.5 Insertion Sort
  5. 10.7 Mergesort
130.422.c.4.ii Create simple and robust objects from class definitions through instantiation;
  1. 7.2 Classes vs. Objects
  2. 7.4 Writing Classes
  3. 7.5 Writing Classes and Instance Methods
130.422.c.4.j Compare and contrast search and sort algorithms, including linear, quadratic, and recursive strategies, for time/space efficiency;
  1. 10.2 Linear Search
  2. 10.3 Binary Search
  3. 10.4 Selection Sort
  4. 10.5 Insertion Sort
  5. 10.6 Advanced: Recursion
  6. 10.7 Mergesort
130.422.c.4.jj Apply class membership of variables, constants, and methods;
  1. 7.5 Writing Classes and Instance Methods
  2. 7.6 Getter and Setter Methods
  3. 7.14 Class Design and Abstract Classes
130.422.c.4.k Analyze algorithms using "big-O" notation for best, average, and worst-case data patterns;
  1. 10.1 What is an Algorithm?
130.422.c.4.kk Examine and mutate the properties of an object using accessors and modifiers;
  1. 7.5 Writing Classes and Instance Methods
  2. 7.6 Getter and Setter Methods
130.422.c.4.l Develop algorithms to solve various problems, including factoring, summing a series, finding the roots of a quadratic equation, and generating Fibonacci numbers;
  1. 4.10 For Loops
  2. 10.6 Advanced: Recursion
130.422.c.4.ll Understand and implement a composite class; and
  1. 7.17 Interfaces
130.422.c.4.m Test program solutions by investigating boundary conditions; testing classes, methods, and libraries in isolation; and performing stepwise refinement;
  1. 3.14 More Karel Examples and Testing
  2. 12.4 Providing Feedback
130.422.c.4.mm Design and implement an interface.
  1. 7.17 Interfaces
130.422.c.4.n Identify and debug compile, syntax, runtime, and logic errors;
  1. 3.3 Java Programs and the Run Method
  2. 3.7 Commenting Your Code
  3. 3.14 More Karel Examples and Testing
130.422.c.4.o Compare and contrast algorithm efficiency by using informal runtime comparisons, exact calculation of statement execution counts, and theoretical efficiency values using "big-O" notation, including worst-case, best-case, and average-case time/space analysis;
  1. 10.1 What is an Algorithm?
  2. 10.2 Linear Search
  3. 10.3 Binary Search
  4. 10.5 Insertion Sort
  5. 10.6 Advanced: Recursion
  6. 10.7 Mergesort
  7. 10.8 Informal Code Analysis
130.422.c.4.p Demonstrate the ability to count, convert, and perform mathematical operations in the binary and hexadecimal number systems;
  1. 8.12 Binary
130.422.c.4.q Demonstrate knowledge of the maximum integer boundary, minimum integer boundary, imprecision of real number representations, and round-off errors;
  1. 7.8 Wrapper Classes
130.422.c.4.r Create program solutions to problems using the mathematics library class;
  1. 7.7 Class Methods and Class Variables
130.422.c.4.s Use random algorithms to create simulations that model the real world;
  1. 7.3 Using a Class as a Client
  2. 7.7 Class Methods and Class Variables
130.422.c.4.t Identify, understand, and create class specifications and relationships among classes, including composition and inheritance relationships;
  1. 7.13 Inheritance
  2. 7.15 Polymorphism
130.422.c.4.u Understand and explain object relationships among defined classes, abstract classes, and interfaces;
  1. 7.11 Key Terms for Classes
  2. 7.12 Objects vs Primitives
  3. 7.14 Class Design and Abstract Classes
130.422.c.4.v Create object-oriented definitions using class declarations, variable declarations, constant declarations, method declarations, parameter declarations, and interface declarations;
  1. 7.3 Using a Class as a Client
  2. 7.4 Writing Classes
  3. 7.5 Writing Classes and Instance Methods
  4. 7.7 Class Methods and Class Variables
130.422.c.4.w Create robust classes that encapsulate data and the methods that operate on that data and incorporate overloading to enrich the object's behavior;
  1. 6.4 Create a Negative or Positive Review
  2. 7.14 Class Design and Abstract Classes
  3. 9.4 Activity 4: Hiding and Revealing a Text Message
130.422.c.4.x Design and implement a set of interactive classes;
  1. 6.4 Create a Negative or Positive Review
  2. 9.4 Activity 4: Hiding and Revealing a Text Message
  3. 11.4 Activity 4: Extending the Celebrity Class
130.422.c.4.y Design, create, and evaluate multiclass programs that use abstract classes and interfaces;
  1. 7.14 Class Design and Abstract Classes
  2. 7.17 Interfaces
130.422.c.4.z Understand and implement a student-created class hierarchy;
  1. 7.13 Inheritance
130.422.c.5.a Model ethical acquisition and use of digital information;
  1. 8.13 Ethical Issues Around Data Collection
130.422.c.5.b Demonstrate proper digital etiquette, responsible use of software, and knowledge of acceptable use policies; and
  1. 1.5 Software Licenses
  2. 2.10 Creative Credit & Copyright
130.422.c.5.c Investigate digital rights management.
  1. 2.10 Creative Credit & Copyright
130.422.c.6.a Compare and contrast types of operating systems, software applications, hardware platforms, and programming languages;
  1. 1.1 Operating Systems
  2. 1.2 Comparing Operating Systems
  3. 1.4 Software and Applications
  4. 2.4 Internet Hardware and Sending Information
  5. 4.1 Programming Fundamentals
130.422.c.6.b Demonstrate knowledge of major hardware components, including primary and secondary memory, a central processing unit (CPU), and peripherals;
  1. 2.4 Internet Hardware and Sending Information
130.422.c.6.c Demonstrate knowledge of major networking components, including hosts, servers, switches, and routers;
  1. 2.4 Internet Hardware and Sending Information
  2. 2.5 Internet Addresses
  3. 2.6 Domain Name System (DNS)
  4. 2.7 Routing
  5. 2.8 Packets & Protocols
  6. 2.9 Viewing a Webpage
130.422.c.6.d Demonstrate knowledge of computer communication systems, including single-user, peer-to-peer, workgroup, client-server, and networked;
  1. 2.4 Internet Hardware and Sending Information
  2. 2.7 Routing
130.422.c.6.e Demonstrate knowledge of computer addressing systems, including Internet Protocol (IP) address and Media Access Control (MAC) address; and
  1. 2.5 Internet Addresses
  2. 2.6 Domain Name System (DNS)
  3. 2.7 Routing
  4. 2.8 Packets & Protocols
  5. 2.9 Viewing a Webpage
130.422.c.6.f Differentiate among the categories of programming languages, including machine, assembly, high-level compiled, high-level interpreted, and scripted.
  1. 4.1 Programming Fundamentals