Curricula Assistant

From Coder Merlin
Within these castle walls be forged Mavens of Computer Science ...
— Merlin, The Coder
Hint.pngHelpful Hint
The  Coder Merlin™  Curricula Assistant is intended to provide helpful information to enable a certified professional determine alignment of  Coder Merlin™  lessons with local requirements. The ultimate responsibility for making such a determination lies solely upon this certified professional, and  Coder Merlin™  makes no claims of alignment with any particular standard. Nonetheless, we hope that you'll find these pages helpful.


Key[edit]

Each item listed is in the format Level.Major Topic ID

Level
Similar to grade level
Major Topic ID
Human factors 100's
Tools & technologies 200's
Mathematics 300's
Software development life cycle 400's
Algorithms 500's
Language & constructs 600's
Data structures 700's

Level 10[edit]

Section Knowledge and skills Topic area
§10.111 Participate with electronic communities as a learner and contributor Communication & collaboration
§10.112 Actively mentor learners within and beyond the school environment Mentorship
§10.113 Create relevant and meaningful digital products in collaboration with learners in other subject areas Communication & collaboration, Creativity & innovation
§10.114 Actively engage with the larger community to create relevant and meaningful digital products which contribute to the welfare of society Communication & collaboration, Creativity & innovation, Digital citizenship
§10.121 Demonstrate proficiency in managing files and processes using a command line interface Command-line interface
§10.122 Create meaningful applications which produce well-formed console output Command-line interface, Command-line tools, Console output
§10.123 Create meaningful applications with prompts issued to console output which acquire input from a user via the console Console input
§10.132 Create meaningful applications which interact with a user through a graphical user interface Graphic user interface
§10.133 Create programs which display numeric data through the use of data visualization Communication & collaboration, Graphic user interface, Mathematics
§10.134 Create programs which render vector graphics Graphic user interface, Mathematics
§10.135 Create programs which render bitmap images Graphic user interface
§10.141 Research, using a variety of resources, and document and publish findings regarding relevant and current issues related to intellectual property, including copyright laws, the sharing of information, and software licensing agreements Digital citizenship
§10.142 Research, using a variety of resources, and document and publish findings regarding online privacy Digital citizenship
§10.143 Model proper digital etiquette Digital citizenship
§10.144 Research, using a variety of resources, and document and publish findings regarding measures used to ensuring the security of computer systems Digital citizenship
§10.212 Employ various productivity tools to gather and analyze authentic data to serve as the basis of programs Productivity tools
§10.221 Demonstrate knowledge of computer hardware systems Computer hardware
§10.222 Research, using a variety of resources, and document and publish findings comparing and contrasting operating systems Operating systems
§10.223 Demonstrate knowledge of computer hardware systems, Demonstrate knowledge of the evolution of computer hardware systems and key contributors to their development Computer hardware
§10.231 Demonstrate proficiency in using a source control system for single-users Source control systems
§10.232 Demonstrate proficiency in using a source control system with multiple users Source control systems
§10.241 Demonstrate proficiency in using multiple tools via a command-line interface Command-line interface, Command-line tools
§10.311 Demonstrate proficiency in the use of positional notation to represent and convert between numbers in the binary, octal, decimal, and hexadecimal systems Positional notation
§10.312 Demonstrate proficiency in counting in the binary, octal, decimal, and hexadecimal systems Positional notation
§10.313 Demonstrate proficiency in adding two operands specified in the binary, octal, decimal, and hexadecimal systems Positional notation
§10.321 Demonstrate understanding and proficiency in the use of Boolean algebra Boolean algebra
§10.322 Demonstrate understanding and proficiency in the use of Boolean algebra truth tables Boolean algebra
§10.323 Demonstrate understanding and proficiency in the use of Boolean algebra canonical representation Boolean algebra
§10.324 Demonstrate understanding and proficiency in the use of DeMorgan's Laws Boolean algebra
§10.325 Demonstrate understanding and proficiency in the use of logic gates Boolean algebra
§10.326 Demonstrate understanding and proficiency in the use of bitwise operations Boolean algebra
§10.327 Demonstrate understanding and proficiency in the use of logic composition Boolean algebra
§10.331 Demonstrate understanding and proficiency in the use of binary adders Boolean algebra
§10.332 Demonstrate understanding and proficiency in the use of SR latches Boolean algebra
§10.411 Create programs using best practices to maximize readability and comprehension Best practices
§10.412 Seek advice from peers and professionals in evaluating work processes and products and respond appropriately Best practices, Communication & collaboration
§10.421 Research, using a variety of resources, authentic data to serve as the basis of programs Communication & collaboration, Research
§10.431 Define and specify the domain of a problem and the purpose and goals of solving the problem Analysis
§10.432 Identify and specify the subtasks required to solve a problem Design
§10.433 Identify and specify the data types required to solve a problem Data structures, Design
§10.434 Identify and specify reusable components from existing code to solve a problem Design
§10.435 Design and document a solution to an authentic problem Design
§10.436 Code, using a text-based, authentic programming language, solutions based upon a design document Implementation
§10.437 Identify and appropriately resolve compile-time errors Implementation
§10.438 Test programs for correctness using appropriate methods and data Quality assurance
§10.439 Identify and appropriately resolve runtime and logic errors by relying on error messages, reference materials, and effective strategies Implementation, Quality assurance
§10.441 Analyze problems and design solutions that exhibit robust behavior by preventing runtime errors Algorithms, Analysis, Best practices, Design
§10.511 Analyze, design, implement, and debug common algorithms Algorithms, Analysis, Design, Implementation, Quality assurance
§10.512 Analyze existing code and document the algorithm Algorithms, Analysis
§10.513 Analyze a documented algorithm, improve the design of the algorithm, and implement in code Algorithms, Analysis, Design, Implementation
§10.514 Select the most appropriate algorithm for a defined problem Algorithms, Analysis
§10.521 Develop programs with sequential algorithms to solve non-branching and non-iterative problems Algorithms, Sequential flow
§10.522 Develop programs with algorithms which require conditionals Algorithms, Conditionals
§10.523 Develop programs with algorithms which require conditionals Algorithms, Iteration
§10.611 Demonstrate proficiency in the use of arithmetic operators to create mathematical expressions Mathematics, Operators
§10.612 Demonstrate proficiency in the use of assignment operators for various data types Mathematics, Operators
§10.613 Demonstrate proficiency in the use of relational operators for various data types Mathematics, Operators
§10.614 Demonstrate proficiency in the use of logical operators Mathematics, Operators
§10.615 Demonstrate proficiency in the use of common mathematical functions Functions, Mathematics
§10.616 Develop programs which define and invoke functions which do not return values; those which require parameters and those that don't Functions
§10.617 Demonstrate understanding of the data-binding process between arguments and parameters Functions
§10.618 Develop programs which define and invoke functions comparing their arguments Functions
§10.621 Demonstrate proficiency in the use of library functions Functions, Libraries
§10.631 Research, using a variety of resources, and document and publish findings comparing and contrasting programming languages Languages & constructs
§10.632 Demonstrate an understanding of object-oriented design Object orientation
§10.633 Develop programs which define and instantiate classes, encapsulating both data and functionality Object orientation
§10.641 Develop programs with proper regard to scope Scope
§10.642 Demonstrate understanding and proficiency in the use of variables Variables
§10.643 Demonstrate understanding and proficiency in the use of constants Constants
§10.644 Demonstrate understanding and proficiency in distinguishing L-values from R-values and their appropriate use References
§10.651 Create web pages using HTML and CSS CSS, HTML
§10.711 Demonstrate proficiency in representing primitive data types as they are represented within the computer Primitive types
§10.712 Demonstrate proficiency in selecting the appropriate data type for solutions Primitive types
§10.713 Demonstrate proficiency in safe conversions of basic data types Primitive types
§10.716 Demonstrate proficiency in string manipulation Primitive types
§10.721 Demonstrate proficiency in using one-dimensional arrays to traverse, search, and modify data Arrays


Level 11[edit]

Section Knowledge and skills Topic area
§11.435 Demonstrate proficiency in using program design problem-solving strategies, design, document and implement a solution to an authentic problem Design, Implementation
§11.442 Demonstrate proficiency in reading and understanding large programs and the ability to analyze, evaluate, and modify such programs, including the design description and process development Analysis, Design, Best practices, Software development life cycle, Creativity & innovation
§11.443 Demonstrate proficiency in following a systematic, problem-solving process by analyzing specifications and clearly identifying program purpose and goals, required data types, objects, and subtasks to be performed; Creativity & innovation, Software development life cycle, Analysis, Best practices, Design
§11.444 Compare and contrast design methodologies and implementation techniques Software development life cycle, Analysis, Best practices, Design


Level 12[edit]