(a) To receive approval, a GaPSC-approved educator preparation provider shall offer a preparation program as described in program planning forms, catalogs, and syllabi, based on the following standards adapted from the International Society for Technology Education (ISTE) (2017), and the Computer Science Teachers Association Standards (2017).
1. The program shall prepare candidates who demonstrate computational thinking skills to formalize a problem and express its solution in a way that computers (human and machine) can effectively carry out, as indicated by the following:
(i) The program shall prepare candidates who demonstrate knowledge of and ability for applying computational thinking skills including decomposition, abstraction, and pattern recognition in problem solving;
(ii) The program shall prepare candidates who demonstrate skills in devising algorithms for solving computational problems and checking for the correctness of the algorithms;
(iii) The program shall prepare candidates who demonstrate understanding of limitations of computing; and
(iv) The program shall prepare candidates who perform activities demonstrating applications of computational thinking skills.
2. The program shall prepare candidates who demonstrate proficiency in at least one third-generation programming language, such as Java, Python, C or C++, C#/.NET, R, and Rust, as indicated by the following:
(i) The program shall prepare candidates who demonstrate knowledge of and skill regarding the syntax and semantics of a third-generation programming language, its control structures, and its data types;
(ii) The program shall prepare candidates who demonstrate knowledge of and skill regarding common abstraction mechanisms including methods (functions/procedures), data structures, and application programming interfaces (APIs);
(iii) The program shall prepare candidates who demonstrate knowledge of and skill in implementing algorithms into robust full stack programs (interpreted and compiled) and testing and debugging these programs for correctness;
(iv) The program shall prepare candidates who perform laboratory-based activities that demonstrate programming concepts proficiency in a third-generation programming language; and
(v) The program shall prepare candidates who can document a program so that others can understand its design and implementation.
3. The program shall prepare candidates who demonstrate proficiency in basic computer system components and organization as indicated by the following:
(i) The program shall prepare candidates who demonstrate knowledge of how data are represented on a computer including bits, bytes, and words;
(ii) The program shall prepare candidates who demonstrate knowledge of the mathematics of binary, octal and hexadecimal, as well as conversions among them;
(iii) The program shall prepare candidates who demonstrate knowledge of main components of a computer system including CPU, OS, Memory, motherboard layout (north & south bridges), I/O devices, and peripherals;
(iv) The program shall prepare candidates who demonstrate knowledge of various types of storage options in a computing environment including hard drive, cloud storage, flash drives, DVDs; and
(v) The program shall prepare candidates who demonstrate knowledge and understanding of how components of a computer system work together to produce programs and applications to solve computational problems.
4. The program shall prepare candidates who demonstrate proficiency in fundamental principles of computer networks and the Internet as indicated by the following:
(i) The program shall prepare candidates who demonstrate knowledge of network components including hardware and software;
(ii) The program shall prepare candidates who can explain how network and cloud topologies and protocols enable users, devices, and systems to communicate and collaborate with each other;
(iii) The program shall prepare candidates who can examine the factors such as bandwidth, latency, security, and server capability that impact network functionality;
(iv) The program shall prepare candidates who can explain the abstractions in the Internet and how the Internet functions (OSI model) including the assignment of IP addresses, routing, the domain name system (DNS), and the use of protocols; and
(v) The program shall prepare candidates who can explain the characteristics of the Internet and the systems built on it including redundancy, fault tolerance, hierarchy in IP addressing scheme, hierarchy in the DNS and open standards, and the influence of these characteristics on the systems.
5. The program shall prepare candidates who demonstrate proficiency in effectively and responsibly using computer applications to create digital artifacts, analyze data, model and simulate phenomena suggested by research and/or data as indicated by the following:
(i) The program shall prepare candidates who can effectively use computer applications to create digital artifacts such as audio, video, animation, presentation, and websites;
(ii) The program shall prepare candidates who can extract information from data to discover, explain, and visualize connections or trends;
(iii) The program shall prepare candidates who can create models and simulations to help formulate, test and refine hypotheses;
(iv) The program shall prepare candidates who can form a model from a hypothesis generated from research and run a simulation to collect and analyze data to test that hypothesis; and
(v) The program shall prepare candidates to use industry best practices in application development.
6. The program shall prepare candidates who demonstrate proficiency and understanding of security, privacy, and safety concerns in computer systems, networks, and applications as indicated by the following:
(i) The program shall prepare candidates who can describe main tenets of information security including confidentiality, integrity, availability, authentication, non-repudiation, and Zero Trust systems;
(ii) The program shall prepare candidates who can describe the fundamentals of encryption and decryption to protect data;
(iii) The program shall prepare candidates who can explain fundamental security design principles, to include the differences between network and data security;
(iv) The program shall prepare candidates who can describe types of threats and vulnerabilities to computer systems and the appropriate incident response and handling as well as imaging and backup procedures;
(v) The program shall prepare candidates who can describe common network vulnerabilities and their associated responses;
(vi) The program shall prepare candidates who can identify safe, secure, and ethical digital behavior; and use effective strategies to evaluate the quality and credibility of websites; and
(vii) The program shall prepare candidates to educate students on their role in the prevention of cyberbullying and to take an active role in building positive online communities.
7. The program shall prepare candidates who plan, organize, deliver, and evaluate instruction for teaching full stack computer programming as indicated by the following:
(i) The program shall prepare candidates to use industry standard Integrated Development Environments (IDE) for the development of computer programs;
(ii) The program shall prepare candidates who can demonstrate fundamental programming design paradigms, to include Waterfall, Agile, and DevOps;
(iii) The program shall prepare candidates who can demonstrate full stack programming in both interpreted and compiled languages;
(iv) The program shall prepare candidates who can professionally interface with end users to develop programming requirements;
(v) The program shall prepare candidates who can instruct students to develop their own unique full-stack programs (both interpreted and compiled languages) and debug them using professional industry-standard IDEs;
(vi) The program shall prepare candidates who know how to plan and implement instruction using a wide range of instructional strategies for individuals and groups and for a diverse student population;
(vii) The program shall prepare candidates who create and implement multiple forms of assessment (including performance- and project-based) and use resulting data to gauge student progress and adjust instruction accordingly; and
(viii) The program shall prepare candidates to positively impact the achievement and attainment of underrepresented populations by incorporating instructional strategies to increase student self-efficacy and interest to drive goals towards continued advanced studies in computer science.
8. The program shall prepare candidates who work with business and industry leaders in establishing school/business partnerships and advisory committees and operate student organizations as appropriate.
9. The program shall prepare candidates who demonstrate knowledge of the philosophy and purposes of Career Technical Education (CTE), including being members of professional teacher organizations that are appropriate for computer science content.
(b) The program shall prepare candidates who meet the P-12 standards for the teaching of reading as specified in GaPSC Rule 505-3-.03 FOUNDATIONS OF READING, LITERACY, AND LANGUAGE (paragraph (3) (g)).