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