Please enable JavaScript to use CodeHS

Texas Computer Science I (NEW) Framework


Standard Description
127.789.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.789.d.1.b examine the role of certifications, resumes, and portfolios in the computer science profession Lessons
127.789.d.1.c employ effective technical reading and writing skills Lessons
127.789.d.1.d employ effective verbal and non-verbal communication skills Lessons
127.789.d.1.e solve problems and think critically Lessons
127.789.d.1.f demonstrate leadership skills and function effectively as a team member Lessons
127.789.d.1.g communicate an understanding of legal and ethical responsibilities in relation to the field of computer science Lessons
127.789.d.1.h demonstrate planning and time-management skills Lessons
127.789.d.1.i compare university computer science programs Lessons
127.789.d.2.a participate in learning communities as a learner, initiator, contributor, and teacher/mentor Lessons
127.789.d.2.b seek and respond to advice from peers, educators, or professionals when evaluating quality and accuracy of the student's product Lessons
127.789.d.3.a create and properly label and display output Lessons
127.789.d.3.b create interactive input interfaces, with relevant user prompts, to acquire data from a user such as console displays or Graphical User Interfaces (GUIs) Lessons
127.789.d.3.c write programs with proper programming style to enhance the readability and functionality of a code by using descriptive identifiers, internal comments, white space, spacing, indentation, and a standardized program style Lessons
127.789.d.3.d format data displays using standard formatting styles Lessons
127.789.d.3.e display simple vector graphics using lines, circles, and rectangles Lessons
127.789.d.4.a use program design problem-solving strategies such as flowchart or pseudocode to create program solutions Lessons
127.789.d.4.b create a high-level program plan using a visual tool such as a flowchart or graphic organizer Lessons
127.789.d.4.c identify the tasks and subtasks needed to solve a problem Lessons
127.789.d.4.d identify the data types and objects needed to solve a problem Lessons
127.789.d.4.e identify reusable components from existing code Lessons
127.789.d.4.f design a solution to a problem Lessons
127.789.d.4.g code a solution from a program design Lessons
127.789.d.4.h identify error types, including syntax, lexical, run time, and logic Lessons
127.789.d.4.i test program solutions with valid and invalid test data and analyze resulting behavior Lessons
127.789.d.4.j debug and solve problems using error messages, reference materials, language documentation, and effective strategies Lessons
127.789.d.4.k create and implement common algorithms such as finding greatest common divisor, finding the biggest number out of three, finding primes, making change, and finding the average Lessons
127.789.d.4.l create program solutions that address basic error handling such as preventing division by zero and type mismatch Lessons
127.789.d.4.m select the most appropriate construct for a defined problem Lessons
127.789.d.4.n create program solutions by using the arithmetic operators to create mathematical expressions, including addition, subtraction, multiplication, real division, integer division, and modulus division Lessons
127.789.d.4.o create program solutions to problems using available mathematics library functions or operators, including absolute value, round, power, square, and square root Lessons
127.789.d.4.p develop program solutions that use assignment Lessons
127.789.d.4.q develop sequential algorithms to solve non-branching and non-iterative problems Lessons
127.789.d.4.r develop algorithms to decision-making problems using branching control statements Lessons
127.789.d.4.s develop iterative algorithms and code programs to solve practical problems Lessons
127.789.d.4.t demonstrate the appropriate use of the relational operators Lessons
127.789.d.4.u demonstrate the appropriate use of the logical operators Lessons
127.789.d.4.v generate and use random numbers Lessons
127.789.d.5.a discuss and explain intellectual property, privacy, sharing of information, copyright laws, and software licensing agreements Lessons
127.789.d.5.b practice ethical acquisition and use of digital information Lessons
127.789.d.5.c demonstrate proper digital etiquette, responsible use of software, and knowledge of acceptable use policies Lessons
127.789.d.5.d investigate privacy and security measures, including strong passwords, pass phrases, and other methods of authentication and virus detection and prevention Lessons
127.789.d.5.e investigate computing and computing-related advancements and the social and ethical ramifications of computer usage Lessons
127.789.d.6.a identify and describe the function of major hardware components, including primary and secondary memory, a central processing unit (CPU), and peripherals Lessons
127.789.d.6.b differentiate between current programming languages, discuss the general purpose for each language, and demonstrate knowledge of specific programming terminology and concepts and types of software development applications Lessons
127.789.d.6.c differentiate between a high-level compiled language and an interpreted language Lessons
127.789.d.6.d identify and use concepts of object-oriented design Lessons
127.789.d.6.e differentiate between local and global scope access variable declarations Lessons
127.789.d.6.f encapsulate data and associated subroutines into an abstract data type Lessons
127.789.d.6.g create subroutines that do not return values with and without the use of arguments and parameters Lessons
127.789.d.6.h create subroutines that return typed values with and without the use of arguments and parameters Lessons
127.789.d.6.i create calls to processes passing arguments that match parameters by number, type, and position Lessons
127.789.d.6.j compare data elements using logical and relational operators Lessons
127.789.d.6.k identify and convert binary representation of numeric and nonnumeric data in computer systems using American Standard Code for Information Interchange (ASCII) or Unicode Lessons
127.789.d.6.l identify finite limits of numeric data such as integer wrap around and floating point precision Lessons
127.789.d.6.m perform numerical conversions between the decimal and binary number systems and count in the binary number system Lessons
127.789.d.6.n choose, identify, and use the appropriate data types for integer, real, and Boolean data when writing program solutions Lessons
127.789.d.6.o analyze the concept of a variable, including primitives and objects Lessons
127.789.d.6.p represent and manipulate text data, including concatenation and other string functions Lessons
127.789.d.6.q identify and use the structured data type of one-dimensional arrays to traverse, search, and modify data Lessons
127.789.d.6.r choose, identify, and use the appropriate data type or structure to properly represent the data in a program problem solution Lessons
127.789.d.6.s compare strongly typed and un-typed programming languages Lessons