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