Curricula Assistant
From Coder Merlin
Within these castle walls be forged Mavens of Computer Science ...
— Merlin, The Coder

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 |