SECTION 127.791. Computer Science III (One Credit), Adopted 2022  


Latest version.
  • (a) Implementation. The provisions of this section shall be implemented by school districts beginning with the 2023-2024 school year.

    (1) No later than August 1, 2023, 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 2023-2024 school year and apply to the 2023-2024 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 11 and 12. Prerequisite: Computer Science II, Advanced Placement (AP) Computer Science A, or International Baccalaureate (IB) Computer Science Standard Level or IB Computer Science Higher Level. 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 III 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 advanced computer science data structures 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.

    (6) Students are encouraged to participate in extended learning experiences such as career and technical student organizations and other leadership or extracurricular organizations.

    (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) demonstrate 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) Creativity and innovation. The student develops products and generates new understandings by extending existing knowledge. The student is expected to:

    (A) apply object-oriented programming, including data abstraction, encapsulation, inheritance, and polymorphism, to manage the complexity of a project;

    (B) design and implement a class hierarchy;

    (C) read and write class specifications using visual organizers, including Unified Modeling Language;

    (D) identify, describe, evaluate, compare, and implement standard sorting algorithms that perform sorting operations on data structures, including quick sort and heap sort; and

    (E) identify and use the appropriate abstract data type, advanced data structure, and supporting algorithms to properly represent the data in a program problem solution.

    (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 networked tools for file management and collaboration; and

    (B) work in software design teams.

    (4) Data literacy and management. The student locates, analyzes, processes, and organizes data. The student is expected to:

    (A) identify and use two-dimensional ragged arrays to traverse, search, modify, insert, and delete data;

    (B) describe and demonstrate proper linked list management, including maintaining the head and safe addition and deletion of linked objects;

    (C) create or trace program solutions using a linked-list data structure, including unordered single, ordered single, double, and circular linked;

    (D) describe composite data structures, including a linked list of linked lists;

    (E) create or trace program solutions using stacks, queues, trees, heaps, priority queues, graph theory, and enumerated data types;

    (F) create or trace program solutions using sets, including hash and tree-based data structures;

    (G) create or trace program solutions using map style data structures; and

    (H) write and modify text file data.

    (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) evaluate expressions using bitwise operators;

    (B) evaluate expressions using the ternary operator;

    (C) identify, trace, and appropriately use recursion in programming solutions, including processing binary trees;

    (D) create or trace program solutions using hashing;

    (E) explore common algorithms such as matrix addition and multiplication, fractals, Towers of Hanoi, and magic square; and

    (F) create program solutions that exhibit robust behavior by recognizing and avoiding runtime errors and handling anticipated errors.

    (6) Testing and documentation. The student demonstrates appropriate documentation and testing practices. The student is expected to:

    (A) use appropriate formatting and write documentation to support code maintenance, including pre- and post-condition statements;

    (B) write program assumptions in the form of assertions;

    (C) write a Boolean expression to test a program assertion; and

    (D) construct assertions to make explicit program invariants.

    (7) Practical application of technology. The student utilizes technology concepts, systems, and operations as they apply to computer science. The student is expected to:

    (A) analyze and create computer program workflow charts and basic system diagrams, documenting system functions, features, and operations;

    (B) gather requirements, design, and implement a process by which programs can interact with each other such as using interfaces;

    (C) create simple programs using a low-level language such as assembly;

    (D) create discovery programs in a high-level language;

    (E) create scripts for an operating system;

    (F) explore industry best practices for secure programming; and

    (G) explore emerging industry or technology trends.

Source Note: The provisions of this §127.791 adopted to be effective August 7, 2022, 47 TexReg 4522