Please enable JavaScript to use CodeHS

Standards Mapping

for Texas Computer Science 2

72

Standards in this Framework

33

Standards Mapped

45%

Mapped to Course

Standard Lessons
127.763.c.1.a
Use program design problem-solving strategies to create program solutions;
  1. 2.10 Top Down Design
  2. 2.19 Putting Together Control Structures
  3. 10.1 Project: Guess the Word
127.763.c.1.b
Demonstrate the ability to read and modify large programs, including the design description and process development;
  1. 2.19 Putting Together Control Structures
  2. 10.1 Project: Guess the Word
  3. 18.1 Project: Who Said It?
127.763.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. 2.10 Top Down Design
  2. 2.19 Putting Together Control Structures
  3. 10.1 Project: Guess the Word
  4. 18.1 Project: Who Said It?
127.763.c.1.d
Compare and contrast design methodologies and implementation techniques such as top-down, bottom-up, and black box;
  1. 2.10 Top Down Design
127.763.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. 12.6 Inheritance
127.763.c.1.f
Identify the data types and objects needed to solve a problem;
  1. 8.1 Tuples
  2. 8.2 Lists
  3. 9.1 2d Lists
  4. 9.4 Dictionaries
  5. 12.1 Classes and Objects
127.763.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 Tuples
  2. 8.2 Lists
  3. 9.1 2d Lists
  4. 9.4 Dictionaries
  5. 12.1 Classes and Objects
127.763.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. 12.1 Classes and Objects
127.763.c.1.i
Create, edit, and manipulate bitmap images that are used to enhance user interfaces and program functionality.
127.763.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. 2.10 Top Down Design
127.763.c.2.b
Create interactive console display interfaces with appropriate user prompts;
127.763.c.2.c
Create interactive human interfaces to acquire data from a user and display program results using an advanced Graphical User Interface (GUI);
127.763.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. 2.6 Comments
  2. 2.7 Naming Guidelines
  3. 3.6 Comments
127.763.c.2.e
Improve data display by optimizing data visualization;
127.763.c.2.f
Display simple vector graphics to interpret and display program results; and
  1. 2.1 Intro to Python with Tracy the Turtle
  2. 2.2 Tracy's Grid World
  3. 2.3 Turning Tracy
  4. 2.4 For Loops
  5. 2.5 Turning Tracy Using Angles
  6. 2.8 Functions
  7. 2.9 Artistic Effects
  8. 2.10 Top Down Design
  9. 2.11 Variables
  10. 2.12 User Input
  11. 2.13 Parameters
  12. 2.14 Using i in For Loops
  13. 2.15 Extended Loop Control
  14. 2.16 If Statements
  15. 2.17 If/ Else Statements
  16. 2.18 While Loops
  17. 2.19 Putting Together Control Structures
127.763.c.2.g
Display simple bitmap images.
127.763.c.3.a
Use local area networks (LANs) and wide area networks (WANs), including the Internet and intranets, in research, file management, and collaboration;
127.763.c.3.b
Understand programming file structure and file access for required resources;
127.763.c.3.c
Acquire and process information from text files, including files of known and unknown sizes;
  1. 18.1 Project: Who Said It?
127.763.c.3.d
Manipulate data structures using string processing;
  1. 8.1 Tuples
  2. 8.2 Lists
  3. 8.3 For Loops and Lists
  4. 8.4 List Methods
  5. 9.1 2d Lists
  6. 9.2 List Comprehensions
  7. 9.3 Packing and Unpacking
  8. 9.4 Dictionaries
  9. 9.5 Equivalence vs. Identity
  10. 10.1 Project: Guess the Word
127.763.c.3.e
Manipulate data values by casting between data types;
  1. 2.12 User Input
  2. 3.2 Variables and Types
127.763.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 Lists
  2. 8.3 For Loops and Lists
  3. 8.4 List Methods
127.763.c.3.g
Identify and use the structured data type of two-dimensional arrays to traverse, search, modify, insert, and delete data; and
  1. 9.1 2d Lists
  2. 9.2 List Comprehensions
127.763.c.3.h
Identify and use a list object data structure to traverse, search, insert, and delete data.
  1. 8.2 Lists
  2. 8.3 For Loops and Lists
  3. 8.4 List Methods
127.763.c.4.a
Develop sequential algorithms using branching control statements, including nested structures, to create solutions to decision-making problems;
  1. 2.16 If Statements
  2. 2.17 If/ Else Statements
  3. 2.19 Putting Together Control Structures
  4. 4.2 If Statements
  5. 5.3 Break and Continue
  6. 5.4 Nested Control Structures
  7. 6.5 Exceptions
127.763.c.4.aa
Extend, modify, and improve existing code using inheritance;
  1. 12.6 Inheritance
127.763.c.4.b
Develop choice algorithms using selection control statements based on ordinal values;
127.763.c.4.bb
Create adaptive behaviors, including overloading, using polymorphism;
127.763.c.4.c
Demonstrate proficiency in the use of short-circuit evaluation;
  1. 15.2 Short Circuit Evaluation
127.763.c.4.cc
Understand and use reference variables for object and string data types;
  1. 12.5 Class Variables vs. Instance Variables
127.763.c.4.d
Demonstrate proficiency in the use of Boolean algebra, including De Morgan's Law;
  1. 15.3 De Morgan's Laws
127.763.c.4.dd
Understand and implement access scope modifiers;
  1. 6.2 Namespaces in Functions
  2. 12.5 Class Variables vs. Instance Variables
  3. 12.8 Namespaces
127.763.c.4.e
Develop iterative algorithms using nested loops;
  1. 5.4 Nested Control Structures
127.763.c.4.ee
Understand and demonstrate how to compare objects;
  1. 12.1 Classes and Objects
127.763.c.4.f
Identify, trace, and appropriately use recursion in programming solutions, including algebraic computations;
127.763.c.4.ff
Duplicate objects using the appropriate deep and/or shallow copy;
127.763.c.4.g
Design, construct, evaluate, and compare search algorithms, including linear searching and binary searching;
127.763.c.4.gg
Define and implement abstract classes and interfaces in program problem solutions;
127.763.c.4.h
Identify, describe, design, create, evaluate, and compare standard sorting algorithms, including selection sort, bubble sort, insertion sort, and merge sort;
127.763.c.4.hh
Apply functional decomposition to a program solution;
  1. 2.10 Top Down Design
127.763.c.4.i
Measure time/space efficiency of various sorting algorithms;
127.763.c.4.ii
Create simple and robust objects from class definitions through instantiation;
  1. 12.1 Classes and Objects
  2. 12.2 Methods
  3. 12.3 Built-In Methods
  4. 12.4 Operator Overloading
  5. 12.5 Class Variables vs. Instance Variables
  6. 12.6 Inheritance
  7. 12.7 Hidden Attributes
  8. 12.8 Namespaces
127.763.c.4.j
Compare and contrast search and sort algorithms, including linear, quadratic, and recursive strategies, for time/space efficiency;
127.763.c.4.jj
Apply class membership of variables, constants, and methods;
  1. 12.1 Classes and Objects
  2. 12.2 Methods
  3. 12.3 Built-In Methods
  4. 12.4 Operator Overloading
  5. 12.5 Class Variables vs. Instance Variables
  6. 12.6 Inheritance
  7. 12.7 Hidden Attributes
127.763.c.4.k
Analyze algorithms using "big-O" notation for best, average, and worst-case data patterns;
127.763.c.4.kk
Examine and mutate the properties of an object using accessors and modifiers;
127.763.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;
127.763.c.4.ll
Understand and implement a composite class; and
127.763.c.4.m
Test program solutions by investigating boundary conditions; testing classes, methods, and libraries in isolation; and performing stepwise refinement;
127.763.c.4.mm
Design and implement an interface.
127.763.c.4.n
Identify and debug compile, syntax, runtime, and logic errors;
127.763.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;
127.763.c.4.p
Demonstrate the ability to count, convert, and perform mathematical operations in the binary and hexadecimal number systems;
127.763.c.4.q
Demonstrate knowledge of the maximum integer boundary, minimum integer boundary, imprecision of real number representations, and round-off errors;
  1. 4.5 Floating Point Numbers and Rounding
127.763.c.4.r
Create program solutions to problems using the mathematics library class;
  1. 12.9 Modules
127.763.c.4.s
Use random algorithms to create simulations that model the real world;
127.763.c.4.t
Identify, understand, and create class specifications and relationships among classes, including composition and inheritance relationships;
  1. 12.6 Inheritance
127.763.c.4.u
Understand and explain object relationships among defined classes, abstract classes, and interfaces;
127.763.c.4.v
Create object-oriented definitions using class declarations, variable declarations, constant declarations, method declarations, parameter declarations, and interface declarations;
  1. 12.1 Classes and Objects
127.763.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. 12.3 Built-In Methods
  2. 12.4 Operator Overloading
127.763.c.4.x
Design and implement a set of interactive classes;
127.763.c.4.y
Design, create, and evaluate multiclass programs that use abstract classes and interfaces;
127.763.c.4.z
Understand and implement a student-created class hierarchy;
127.763.c.5.a
Model ethical acquisition and use of digital information;
127.763.c.5.b
Demonstrate proper digital etiquette, responsible use of software, and knowledge of acceptable use policies; and
127.763.c.5.c
Investigate digital rights management.
127.763.c.6.a
Compare and contrast types of operating systems, software applications, hardware platforms, and programming languages;
127.763.c.6.b
Demonstrate knowledge of major hardware components, including primary and secondary memory, a central processing unit (CPU), and peripherals;
127.763.c.6.c
Demonstrate knowledge of major networking components, including hosts, servers, switches, and routers;
127.763.c.6.d
Demonstrate knowledge of computer communication systems, including single-user, peer-to-peer, workgroup, client-server, and networked;
127.763.c.6.e
Demonstrate knowledge of computer addressing systems, including Internet Protocol (IP) address and Media Access Control (MAC) address; and
127.763.c.6.f
Differentiate among the categories of programming languages, including machine, assembly, high-level compiled, high-level interpreted, and scripted.