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