Standards in this Framework
Standard | Description |
---|---|
127.763.c.1.a | Use program design problem-solving strategies to create program solutions; |
127.763.c.1.b | Demonstrate the ability to read and modify large programs, including the design description and process development; |
127.763.c.1.c | Follow the systematic problem-solving process of identifying the specifications of purpose and goals, the data types and objects needed, and the subtasks to be performed; |
127.763.c.1.d | Compare and contrast design methodologies and implementation techniques such as top-down, bottom-up, and black box; |
127.763.c.1.e | Analyze, modify, and evaluate existing code by performing a case study on a large program, including inheritance and black box programming; |
127.763.c.1.f | Identify the data types and objects needed to solve a problem; |
127.763.c.1.g | 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; |
127.763.c.1.h | Use object-oriented programming development methodology, data abstraction, encapsulation with information hiding, and procedural abstraction in program development and testing; and |
127.763.c.1.i | Create, edit, and manipulate bitmap images that are used to enhance user interfaces and program functionality. |
127.763.c.2.a | Use the principles of software engineering to work in software design teams, break a problem statement into specific solution requirements, create a program development plan, code part of a solution from a program development plan while a partner codes the remaining part, team test the solution for correctness, and develop presentations to report the solution findings; |
127.763.c.2.b | Create interactive console display interfaces with appropriate user prompts; |
127.763.c.2.c | Create interactive human interfaces to acquire data from a user and display program results using an advanced Graphical User Interface (GUI); |
127.763.c.2.d | Write programs and communicate with proper programming style to enhance the readability and functionality of the code by using meaningful descriptive identifiers, internal comments, white space, indentation, and a standardized program style; |
127.763.c.2.e | Improve data display by optimizing data visualization; |
127.763.c.2.f | Display simple vector graphics to interpret and display program results; and |
127.763.c.2.g | Display simple bitmap images. |
127.763.c.3.a | Use local area networks (LANs) and wide area networks (WANs), including the Internet and intranets, in research, file management, and collaboration; |
127.763.c.3.b | Understand programming file structure and file access for required resources; |
127.763.c.3.c | Acquire and process information from text files, including files of known and unknown sizes; |
127.763.c.3.d | Manipulate data structures using string processing; |
127.763.c.3.e | Manipulate data values by casting between data types; |
127.763.c.3.f | Identify and use the structured data type of one-dimensional arrays to traverse, search, modify, insert, and delete data; |
127.763.c.3.g | Identify and use the structured data type of two-dimensional arrays to traverse, search, modify, insert, and delete data; and |
127.763.c.3.h | Identify and use a list object data structure to traverse, search, insert, and delete data. |
127.763.c.4.a | Develop sequential algorithms using branching control statements, including nested structures, to create solutions to decision-making problems; |
127.763.c.4.aa | Extend, modify, and improve existing code using inheritance; |
127.763.c.4.b | Develop choice algorithms using selection control statements based on ordinal values; |
127.763.c.4.bb | Create adaptive behaviors, including overloading, using polymorphism; |
127.763.c.4.c | Demonstrate proficiency in the use of short-circuit evaluation; |
127.763.c.4.cc | Understand and use reference variables for object and string data types; |
127.763.c.4.d | Demonstrate proficiency in the use of Boolean algebra, including De Morgan's Law; |
127.763.c.4.dd | Understand and implement access scope modifiers; |
127.763.c.4.e | Develop iterative algorithms using nested loops; |
127.763.c.4.ee | Understand and demonstrate how to compare objects; |
127.763.c.4.f | Identify, trace, and appropriately use recursion in programming solutions, including algebraic computations; |
127.763.c.4.ff | Duplicate objects using the appropriate deep and/or shallow copy; |
127.763.c.4.g | Design, construct, evaluate, and compare search algorithms, including linear searching and binary searching; |
127.763.c.4.gg | Define and implement abstract classes and interfaces in program problem solutions; |
127.763.c.4.h | Identify, describe, design, create, evaluate, and compare standard sorting algorithms, including selection sort, bubble sort, insertion sort, and merge sort; |
127.763.c.4.hh | Apply functional decomposition to a program solution; |
127.763.c.4.i | Measure time/space efficiency of various sorting algorithms; |
127.763.c.4.ii | Create simple and robust objects from class definitions through instantiation; |
127.763.c.4.j | Compare and contrast search and sort algorithms, including linear, quadratic, and recursive strategies, for time/space efficiency; |
127.763.c.4.jj | Apply class membership of variables, constants, and methods; |
127.763.c.4.k | Analyze algorithms using "big-O" notation for best, average, and worst-case data patterns; |
127.763.c.4.kk | Examine and mutate the properties of an object using accessors and modifiers; |
127.763.c.4.l | Develop algorithms to solve various problems, including factoring, summing a series, finding the roots of a quadratic equation, and generating Fibonacci numbers; |
127.763.c.4.ll | Understand and implement a composite class; and |
127.763.c.4.m | Test program solutions by investigating boundary conditions; testing classes, methods, and libraries in isolation; and performing stepwise refinement; |
127.763.c.4.mm | Design and implement an interface. |
127.763.c.4.n | Identify and debug compile, syntax, runtime, and logic errors; |
127.763.c.4.o | Compare and contrast algorithm efficiency 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; |
127.763.c.4.p | Demonstrate the ability to count, convert, and perform mathematical operations in the binary and hexadecimal number systems; |
127.763.c.4.q | Demonstrate knowledge of the maximum integer boundary, minimum integer boundary, imprecision of real number representations, and round-off errors; |
127.763.c.4.r | Create program solutions to problems using the mathematics library class; |
127.763.c.4.s | Use random algorithms to create simulations that model the real world; |
127.763.c.4.t | Identify, understand, and create class specifications and relationships among classes, including composition and inheritance relationships; |
127.763.c.4.u | Understand and explain object relationships among defined classes, abstract classes, and interfaces; |
127.763.c.4.v | Create object-oriented definitions using class declarations, variable declarations, constant declarations, method declarations, parameter declarations, and interface declarations; |
127.763.c.4.w | Create robust classes that encapsulate data and the methods that operate on that data and incorporate overloading to enrich the object's behavior; |
127.763.c.4.x | Design and implement a set of interactive classes; |
127.763.c.4.y | Design, create, and evaluate multiclass programs that use abstract classes and interfaces; |
127.763.c.4.z | Understand and implement a student-created class hierarchy; |
127.763.c.5.a | Model ethical acquisition and use of digital information; |
127.763.c.5.b | Demonstrate proper digital etiquette, responsible use of software, and knowledge of acceptable use policies; and |
127.763.c.5.c | Investigate digital rights management. |
127.763.c.6.a | Compare and contrast types of operating systems, software applications, hardware platforms, and programming languages; |
127.763.c.6.b | Demonstrate knowledge of major hardware components, including primary and secondary memory, a central processing unit (CPU), and peripherals; |
127.763.c.6.c | Demonstrate knowledge of major networking components, including hosts, servers, switches, and routers; |
127.763.c.6.d | Demonstrate knowledge of computer communication systems, including single-user, peer-to-peer, workgroup, client-server, and networked; |
127.763.c.6.e | Demonstrate knowledge of computer addressing systems, including Internet Protocol (IP) address and Media Access Control (MAC) address; and |
127.763.c.6.f | Differentiate among the categories of programming languages, including machine, assembly, high-level compiled, high-level interpreted, and scripted. |