19 Tex. Admin. Code § 127.790

Current through Reg. 49, No. 50; December 13, 2024
Section 127.790 - Computer Science II (One Credit), Adopted 2022
(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 10-12. Prerequisites: Algebra I and Computer Science I or AP Computer Science Principles. 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 II 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 gain an understanding 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) identify 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) Creativity and innovation. The student develops products and generates new understandings by extending existing knowledge. The student is expected to:
(A) use program design problem-solving strategies to create program solutions;
(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;
(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;
(D) compare design methodologies and implementation techniques such as top-down, bottom-up, and black box;
(E) trace a program, including inheritance and black box programming;
(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; and
(G) use object-oriented programming development methodology, including data abstraction, encapsulation with information hiding, inheritance, and procedural abstraction in program development.
(3) 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) use the principles of software development to work in software design teams;
(B) break a problem statement into specific solution requirements;
(C) create a program development plan;
(D) code part of a solution from a program development plan while a partner codes the remaining part;
(E) collaborate with a team to test a solution, including boundary and standard cases; and
(F) develop presentations to report the solution findings.
(4) Data literacy and management. The student locates, analyzes, processes, and organizes data. The student is expected to:
(A) use programming file structure and file access for required resources;
(B) acquire and process information from text files, including files of known and unknown sizes;
(C) manipulate data using string processing;
(D) manipulate data values by casting between data types;
(E) use the structured data type of one-dimensional arrays to traverse, search, modify, insert, and delete data;
(F) identify and use the structured data type of two-dimensional arrays to traverse, search, modify, insert, and delete data;
(G) identify and use a list object data structure to traverse, search, insert, and delete data; and
(H) differentiate between categories of programming languages, including machine, assembly, high-level compiled, high-level interpreted, and scripted.
(5) Critical thinking, problem solving, and decision making. The student uses appropriate strategies to analyze problems and design algorithms. The student is expected to:
(A) develop sequential algorithms using branching control statements, including nested structures, to create solutions to decision-making problems;
(B) develop choice algorithms using selection control statements based on ordinal values;
(C) demonstrate the appropriate use of short-circuit evaluation in certain situations;
(D) use Boolean algebra, including De Morgan's Law, to evaluate and simplify logical expressions;
(E) develop iterative algorithms using nested loops;
(F) identify, trace, and appropriately use recursion in programming solutions, including algebraic computations;
(G) trace, construct, evaluate, and compare search algorithms, including linear searching and binary searching;
(H) identify, describe, trace, evaluate, and compare standard sorting algorithms, including selection sort, bubble sort, insertion sort, and merge sort;
(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;
(J) develop algorithms to solve various problems such as factoring, summing a series, finding the roots of a quadratic equation, and generating Fibonacci numbers;
(K) test program solutions by investigating boundary conditions; testing classes, methods, and libraries in isolation; and performing stepwise refinement;
(L) identify and debug compile, syntax, runtime, and logic errors;
(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;
(N) count, convert, and perform mathematical operations in the decimal, binary, octal, and hexadecimal number systems;
(O) identify maximum integer boundary, minimum integer boundary, imprecision of real number representations, and round-offerrors;
(P) create program solutions to problems using a mathematics library;
(Q) use random number generator algorithms to create simulations;
(R) use composition and inheritance relationships to identify and create class definitions and relationships;
(S) explain and use object relationships between defined classes, abstract classes, and interfaces;
(T) create object-oriented class definitions and declarations using variables, constants, methods, parameters, and interface implementations;
(U) create adaptive behaviors using polymorphism;
(V) use reference variables for object and string data types;
(W) use value and reference parameters appropriately in method definitions and method calls;
(X) implement access scope modifiers;
(Y) use object comparison for content quality;
(Z) duplicate objects using the appropriate deep or shallow copy;
(AA) apply functional decomposition to a program solution;
(BB) create objects from class definitions through instantiation; and
(CC) examine and mutate the properties of an object using accessors and modifiers.

19 Tex. Admin. Code § 127.790

Adopted by Texas Register, Volume 47, Number 30, July 29, 2022, TexReg 4523, eff. 8/7/2022