(a) Implementation. The provisions of this section shall be implemented by school districts beginning with the 2024-2025 school year.
(1) No later than August 1, 2024, the commissioner of education shall determine whether instructional materials funding has been made available to Texas public schools for materials that cover the essential knowledge and skills identified in this section.
(2) If the commissioner makes the determination that instructional materials funding has been made available this section shall be implemented beginning with the 2024-2025 school year and apply to the 2024-2025 and subsequent school years.
(3) If the commissioner does not make the determination that instructional materials funding has been made available under subsection (a) of this section, the commissioner shall determine no later than August 1 of each subsequent school year whether instructional materials funding has been made available. If the commissioner determines that instructional materials funding has been made available, the commissioner shall notify the State Board of Education and school districts that this section shall be implemented for the following school year.
(b) General requirements. This course is recommended for students in Grades 9-12. Prerequisite or corequisite: Algebra I. Students shall be awarded one credit for successful completion of this course.
(c) Introduction.
(1) Career and technical education instruction provides content aligned with challenging academic standards, industry-relevant technical knowledge, and college and career readiness skills for students to further their education and succeed in current and emerging professions.
(2) The Science, Technology, Engineering, and Mathematics (STEM) Career Cluster focuses on planning, managing, and providing scientific research and professional and technical services such as laboratory and testing services and research and development services.
(3) Computer Science I will foster students' creativity and innovation by presenting opportunities to design, implement, and present meaningful programs through a variety of media. Students will collaborate with one another, their instructor, and various electronic communities to solve the problems presented throughout the course. Through computational thinking and data analysis, students will identify task requirements, plan search strategies, and use computer science concepts to access, analyze, and evaluate information needed to solve problems. By using computer science knowledge and skills that support the work of individuals and groups in solving problems, students will select the technology appropriate for the task, synthesize knowledge, create solutions, and evaluate the results. Students will learn digital citizenship by researching current laws, regulations, and best practices and by practicing integrity and respect. Students will gain an understanding of the principles of computer science through the study of technology operations, systems, and concepts.
(4) Students are encouraged to participate in extended learning experiences such as career and technical student organizations and other leadership or extracurricular organizations.
(5) Statements that contain the word "including" reference content that must be mastered, while those containing the phrase "such as" are intended as possible illustrative examples.
(d) Knowledge and skills.
(1) Employability. The student identifies various employment opportunities in the computer science field. The student is expected to: (A) identify job and internship opportunities and accompanying job duties and tasks and contact one or more companies or organizations to explore career opportunities; (B) examine the role of certifications, resumes, and portfolios in the computer science profession; (C) employ effective technical reading and writing skills; (D) employ effective verbal and non-verbal communication skills; (E) solve problems and think critically; (F) demonstrate leadership skills and function effectively as a team member; (G) communicate an understanding of legal and ethical responsibilities in relation to the field of computer science; (H) demonstrate planning and time-management skills; and (I) compare university computer science programs.
(2) Communication and collaboration. The student communicates and collaborates with peers to contribute to his or her own learning and the learning of others. The student is expected to: (A) participate in learning communities as a learner, initiator, contributor, and teacher/mentor; and (B) seek and respond to advice from peers, educators, or professionals when evaluating quality and accuracy of the student's product.
(3) Programming style and presentation. The student utilizes proper programming style and develops appropriate visual presentation of data, input, and output. The student is expected to: (A) create and properly label and display output; (B) create interactive input interfaces, with relevant user prompts, to acquire data from a user such as console displays or Graphical User Interfaces (GUIs); (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; (D) format data displays using standard formatting styles; and (E) display simple vector graphics using lines, circles, and rectangles.
(4) Critical thinking, problem solving, and decision making. The student uses appropriate strategies to analyze problems and design algorithms. The student is expected to: (A) use program design problem-solving strategies such as flowchart or pseudocode to create program solutions; (B) create a high-level program plan using a visual tool such as a flowchart or graphic organizer; (C) identify the tasks and subtasks needed to solve a problem; (D) identify the data types and objects needed to solve a problem; (E) identify reusable components from existing code; (F) design a solution to a problem; (G) code a solution from a program design; (H) identify error types, including syntax, lexical, run time, and logic; (I) test program solutions with valid and invalid test data and analyze resulting behavior; (J) debug and solve problems using error messages, reference materials, language documentation, and effective strategies; (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; (L) create program solutions that address basic error handling such as preventing division by zero and type mismatch; (M) select the most appropriate construct for a defined problem; (N) create program solutions by using the arithmetic operators to create mathematical expressions, including addition, subtraction, multiplication, real division, integer division, and modulus division; (O) create program solutions to problems using available mathematics library functions or operators, including absolute value, round, power, square, and square root; (P) develop program solutions that use assignment; (Q) develop sequential algorithms to solve non-branching and non-iterative problems; (R) develop algorithms to decision-making problems using branching control statements; (S) develop iterative algorithms and code programs to solve practical problems; (T) demonstrate the appropriate use of the relational operators; (U) demonstrate the appropriate use of the logical operators; and (V) generate and use random numbers.
(5) Digital citizenship. The student explores and understands safety, legal, cultural, and societal issues relating to the use of technology and information. The student is expected to: (A) discuss and explain intellectual property, privacy, sharing of information, copyright laws, and software licensing agreements; (B) practice ethical acquisition and use of digital information; (C) demonstrate proper digital etiquette, responsible use of software, and knowledge of acceptable use policies; (D) investigate privacy and security measures, including strong passwords, pass phrases, and other methods of authentication and virus detection and prevention; and (E) investigate computing and computing-related advancements and the social and ethical ramifications of computer usage.
(6) Technology operations, systems, and concepts. The student understands technology concepts, systems, and operations as they apply to computer science. The student is expected to: (A) identify and describe the function of major hardware components, including primary and secondary memory, a central processing unit (CPU), and peripherals; (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; (C) differentiate between a high-level compiled language and an interpreted language; (D) identify and use concepts of object-oriented design; (E) differentiate between local and global scope access variable declarations; (F) encapsulate data and associated subroutines into an abstract data type; (G) create subroutines that do not return values with and without the use of arguments and parameters; (H) create subroutines that return typed values with and without the use of arguments and parameters; (I) create calls to processes passing arguments that match parameters by number, type, and position; (J) compare data elements using logical and relational operators; (K) identify and convert binary representation of numeric and nonnumeric data in computer systems using American Standard Code for Information Interchange (ASCII) or Unicode; (L) identify finite limits of numeric data such as integer wrap around and floating point precision; (M) perform numerical conversions between the decimal and binary number systems and count in the binary number system; (N) choose, identify, and use the appropriate data types for integer, real, and Boolean data when writing program solutions; (O) analyze the concept of a variable, including primitives and objects; (P) represent and manipulate text data, including concatenation and other string functions; (Q) identify and use the structured data type of one-dimensional arrays to traverse, search, and modify data; (R) choose, identify, and use the appropriate data type or structure to properly represent the data in a program problem solution; and (S) compare strongly typed and un-typed programming languages.
Source Note: The provisions of this §127.789 adopted to be effective August 7, 2022, 47 TexReg 4522