Please enable JavaScript to use CodeHS

Texas Computer Science II (NEW) Framework


Standard Description
127.790.d.1.a identify job and internship opportunities and accompanying job duties and tasks and contact one or more companies or organizations to explore career opportunities Lessons
127.790.d.1.b examine the role of certifications, resumes, and portfolios in the computer science profession Lessons
127.790.d.1.c employ effective technical reading and writing skills Lessons
127.790.d.1.d employ effective verbal and non-verbal communication skills Lessons
127.790.d.1.e solve problems and think critically Lessons
127.790.d.1.f demonstrate leadership skills and function effectively as a team member Lessons
127.790.d.1.g identify legal and ethical responsibilities in relation to the field of computer science Lessons
127.790.d.1.h demonstrate planning and time-management skills Lessons
127.790.d.1.i compare university computer science programs Lessons
127.790.d.2.a use program design problem-solving strategies to create program solutions Lessons
127.790.d.2.b read, analyze, and modify programs and their accompanying documentation such as an application programming interface (API), internal code comments, external documentation, or readme files Lessons
127.790.d.2.c follow a systematic problem-solving process that identifies the purpose and goals, the data types and objects needed, and the subtasks to be performed Lessons
127.790.d.2.d compare design methodologies and implementation techniques such as top-down, bottom-up, and black box Lessons
127.790.d.2.e trace a program, including inheritance and black box programming Lessons
127.790.d.2.f 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 Lessons
127.790.d.2.g use object-oriented programming development methodology, including data abstraction, encapsulation with information hiding, inheritance, and procedural abstraction in program development Lessons
127.790.d.3.a use the principles of software development to work in software design teams Lessons
127.790.d.3.b break a problem statement into specific solution requirements Lessons
127.790.d.3.c create a program development plan Lessons
127.790.d.3.d code part of a solution from a program development plan while a partner codes the remaining part Lessons
127.790.d.3.e collaborate with a team to test a solution, including boundary and standard cases Lessons
127.790.d.3.f develop presentations to report the solution findings Lessons
127.790.d.4.a use programming file structure and file access for required resources Lessons
127.790.d.4.b acquire and process information from text files, including files of known and unknown sizes Lessons
127.790.d.4.c manipulate data using string processing Lessons
127.790.d.4.d manipulate data values by casting between data types Lessons
127.790.d.4.e use the structured data type of one-dimensional arrays to traverse, search, modify, insert, and delete data Lessons
127.790.d.4.f identify and use the structured data type of two-dimensional arrays to traverse, search, modify, insert, and delete data Lessons
127.790.d.4.g identify and use a list object data structure to traverse, search, insert, and delete data Lessons
127.790.d.4.h differentiate between categories of programming languages, including machine, assembly, high-level compiled, high-level interpreted, and scripted Lessons
127.790.d.5.a develop sequential algorithms using branching control statements, including nested structures, to create solutions to decision-making problems Lessons
127.790.d.5.b develop choice algorithms using selection control statements based on ordinal values Lessons
127.790.d.5.c demonstrate the appropriate use of short-circuit evaluation in certain situations; Lessons
127.790.d.5.d use Boolean algebra, including De Morgan's Law, to evaluate and simplify logical expressions Lessons
127.790.d.5.e develop iterative algorithms using nested loops Lessons
127.790.d.5.f identify, trace, and appropriately use recursion in programming solutions, including algebraic computations Lessons
127.790.d.5.g trace, construct, evaluate, and compare search algorithms, including linear searching and binary searching Lessons
127.790.d.5.h identify, describe, trace, evaluate, and compare standard sorting algorithms, including selection sort, bubble sort, insertion sort, and merge sort Lessons
127.790.d.5.i measure time and space efficiency of various sorting algorithms, including analyzing algorithms using "big-O" notation for best, average, and worst-case data patterns Lessons
127.790.d.5.j develop algorithms to solve various problems such as factoring, summing a series, finding the roots of a quadratic equation, and generating Fibonacci numbers Lessons
127.790.d.5.k test program solutions by investigating boundary conditions; testing classes, methods, and libraries in isolation; and performing stepwise refinement Lessons
127.790.d.5.l identify and debug compile, syntax, runtime, and logic errors Lessons
127.790.d.5.m compare efficiency of search and sort algorithms 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 Lessons
127.790.d.5.n count, convert, and perform mathematical operations in the decimal, binary, octal, and hexadecimal number systems Lessons
127.790.d.5.o identify maximum integer boundary, minimum integer boundary, imprecision of real number representations, and round-off errors Lessons
127.790.d.5.p create program solutions to problems using a mathematics library Lessons
127.790.d.5.q use random number generator algorithms to create simulations Lessons
127.790.d.5.r use composition and inheritance relationships to identify and create class definitions and relationships Lessons
127.790.d.5.s explain and use object relationships between defined classes, abstract classes, and interfaces Lessons
127.790.d.5.t create object-oriented class definitions and declarations using variables, constants, methods, parameters, and interface implementations Lessons
127.790.d.5.u create adaptive behaviors using polymorphism Lessons
127.790.d.5.v use reference variables for object and string data types Lessons
127.790.d.5.w use value and reference parameters appropriately in method definitions and method calls Lessons
127.790.d.5.x implement access scope modifiers Lessons
127.790.d.5.y use object comparison for content quality Lessons
127.790.d.5.z duplicate objects using the appropriate deep or shallow copy Lessons
127.790.d.5.aa apply functional decomposition to a program solution Lessons create objects from class definitions through instantiation Lessons examine and mutate the properties of an object using accessors and modifiers Lessons