127.790.d.1.a |
identify job and internship opportunities and accompanying job duties and tasks and contact one or more companies or organizations to explore career opportunities |
Lessons
|
127.790.d.1.b |
examine the role of certifications, resumes, and portfolios in the computer science profession |
Lessons
|
127.790.d.1.c |
employ effective technical reading and writing skills |
Lessons
|
127.790.d.1.d |
employ effective verbal and non-verbal communication skills |
Lessons
|
127.790.d.1.e |
solve problems and think critically |
Lessons
|
127.790.d.1.f |
demonstrate leadership skills and function effectively as a team member |
Lessons
|
127.790.d.1.g |
identify legal and ethical responsibilities in relation to the field of computer science |
Lessons
|
127.790.d.1.h |
demonstrate planning and time-management skills |
Lessons
|
127.790.d.1.i |
compare university computer science programs |
Lessons
|
127.790.d.2.a |
use program design problem-solving strategies to create program solutions |
Lessons
|
127.790.d.2.b |
read, analyze, and modify programs and their accompanying documentation such as an application programming interface (API), internal code comments, external documentation, or readme files |
Lessons
|
127.790.d.2.c |
follow a systematic problem-solving process that identifies the purpose and goals, the data types and objects needed, and the subtasks to be performed |
Lessons
|
127.790.d.2.d |
compare design methodologies and implementation techniques such as top-down, bottom-up, and black box |
Lessons
|
127.790.d.2.e |
trace a program, including inheritance and black box programming |
Lessons
|
127.790.d.2.f |
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.790.d.2.g |
use object-oriented programming development methodology, including data abstraction, encapsulation with information hiding, inheritance, and procedural abstraction in program development |
Lessons
|
127.790.d.3.a |
use the principles of software development to work in software design teams |
Lessons
|
127.790.d.3.b |
break a problem statement into specific solution requirements |
Lessons
|
127.790.d.3.c |
create a program development plan |
Lessons
|
127.790.d.3.d |
code part of a solution from a program development plan while a partner codes the remaining part |
Lessons
|
127.790.d.3.e |
collaborate with a team to test a solution, including boundary and standard cases |
Lessons
|
127.790.d.3.f |
develop presentations to report the solution findings |
Lessons
|
127.790.d.4.a |
use programming file structure and file access for required resources |
Lessons
|
127.790.d.4.b |
acquire and process information from text files, including files of known and unknown sizes |
Lessons
|
127.790.d.4.c |
manipulate data using string processing |
Lessons
|
127.790.d.4.d |
manipulate data values by casting between data types |
Lessons
|
127.790.d.4.e |
use the structured data type of one-dimensional arrays to traverse, search, modify, insert, and delete data |
Lessons
|
127.790.d.4.f |
identify and use the structured data type of two-dimensional arrays to traverse, search, modify, insert, and delete data |
Lessons
|
127.790.d.4.g |
identify and use a list object data structure to traverse, search, insert, and delete data |
Lessons
|
127.790.d.4.h |
differentiate between categories of programming languages, including machine, assembly, high-level compiled, high-level interpreted, and scripted |
Lessons
|
127.790.d.5.a |
develop sequential algorithms using branching control statements, including nested structures, to create solutions to decision-making problems |
Lessons
|
127.790.d.5.b |
develop choice algorithms using selection control statements based on ordinal values |
Lessons
|
127.790.d.5.c |
demonstrate the appropriate use of short-circuit evaluation in certain situations; |
Lessons
|
127.790.d.5.d |
use Boolean algebra, including De Morgan's Law, to evaluate and simplify logical expressions |
Lessons
|
127.790.d.5.e |
develop iterative algorithms using nested loops |
Lessons
|
127.790.d.5.f |
identify, trace, and appropriately use recursion in programming solutions, including algebraic computations |
Lessons
|
127.790.d.5.g |
trace, construct, evaluate, and compare search algorithms, including linear searching and binary searching |
Lessons
|
127.790.d.5.h |
identify, describe, trace, evaluate, and compare standard sorting algorithms, including selection sort, bubble sort, insertion sort, and merge sort |
Lessons
|
127.790.d.5.i |
measure time and space efficiency of various sorting algorithms, including analyzing algorithms using "big-O" notation for best, average, and worst-case data patterns |
Lessons
|
127.790.d.5.j |
develop algorithms to solve various problems such as factoring, summing a series, finding the roots of a quadratic equation, and generating Fibonacci numbers |
Lessons
|
127.790.d.5.k |
test program solutions by investigating boundary conditions; testing classes, methods, and libraries in isolation; and performing stepwise refinement |
Lessons
|
127.790.d.5.l |
identify and debug compile, syntax, runtime, and logic errors |
Lessons
|
127.790.d.5.m |
compare efficiency of search and sort algorithms 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.790.d.5.n |
count, convert, and perform mathematical operations in the decimal, binary, octal, and hexadecimal number systems |
Lessons
|
127.790.d.5.o |
identify maximum integer boundary, minimum integer boundary, imprecision of real number representations, and round-off errors |
Lessons
|
127.790.d.5.p |
create program solutions to problems using a mathematics library |
Lessons
|
127.790.d.5.q |
use random number generator algorithms to create simulations |
Lessons
|
127.790.d.5.r |
use composition and inheritance relationships to identify and create class definitions and relationships |
Lessons
|
127.790.d.5.s |
explain and use object relationships between defined classes, abstract classes, and interfaces |
Lessons
|
127.790.d.5.t |
create object-oriented class definitions and declarations using variables, constants, methods, parameters, and interface implementations |
Lessons
|
127.790.d.5.u |
create adaptive behaviors using polymorphism |
Lessons
|
127.790.d.5.v |
use reference variables for object and string data types |
Lessons
|
127.790.d.5.w |
use value and reference parameters appropriately in method definitions and method calls |
Lessons
|
127.790.d.5.x |
implement access scope modifiers |
Lessons
|
127.790.d.5.y |
use object comparison for content quality |
Lessons
|
127.790.d.5.z |
duplicate objects using the appropriate deep or shallow copy |
Lessons
|
127.790.d.5.aa |
apply functional decomposition to a program solution |
Lessons
|
127.790.d.5.bb |
create objects from class definitions through instantiation |
Lessons
|
127.790.d.5.cc |
examine and mutate the properties of an object using accessors and modifiers |
Lessons
|