Merlin Coders

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

Introduction[edit]

 Merlin Coders™  is a special program of  Coder Merlin™  to bring recognition to dedicated and motivated students. Progress in the program requires demonstration of mastery in a topic that consists of one or more experiences.

As students demonstrate mastery of a topic, they're awarded "wands" that are rendered as right-pointing chevrons. When students earn a sufficient number of wands, they advance to the next level. After students earn a series of levels, they advance to a new sash color.

Requirements for Demonstrating Mastery[edit]

Demonstration of mastery in each subject occurs when a student successfully completes of a Merlin Mission with a score of 80% or greater. If that target score is not achieved, students may redo the Merlin Mission after no less than 14 calendar days have elapsed.

Digital Badges[edit]

A digital badge is a visual symbol of achievement. Students can collect and share digital credentials that validate their skills and accomplishments. They can send signals of success to networks that matter to them, such as Discord, Twitter, and Facebook.

For more information:

Sashmojis[edit]

Sashmojis are a concise shortcut for specifying sashes and levels using only two characters.

Sashes[edit]

⬜️🟨🟧🟩🟪🟦🟫🟥⬛️

Levels[edit]

0️⃣1️⃣2️⃣3️⃣4️⃣5️⃣6️⃣7️⃣8️⃣9️⃣

White Sash[edit]

White Sash - Zero Level[edit]

Digital badge: Entry Level Coder Sashmoji: MMM-🧑‍🎓⬜️0️⃣

Description: Expresses a commitment to master the skills of Computer Science


Badge Promotion Requirements for Mastery
CoderMerlin-Badge-White-0.png

Criteria: An earner of this credential has expressed a commitment to invest the required effort necessary to master the skills of Computer Science.

Estimated time to earn credential: 0.0 hours

Tags:

White Sash - First Level[edit]

Digital badge: Basic CLI Software Development Tools Sashmoji: MMM-🧑‍🎓⬜️1️⃣

Description: Demonstrates knowledge and skills of basic software development tools using a command-line interface

Badge Promotion Requirements for Mastery
CoderMerlin-Badge-White-1.png
  •  M1002-10  Bash
  •  M1004-10  Emacs
  •  M1008-10  Merlin Mission Manager

Criteria: An earner of this credential has studied and demonstrated knowledge and skills of basic tools required for software development on Linux. This includes the basic use of the Bash command-line interface, the basic use of the Emacs text editor, and the use of the Merlin Mission Manager to provide feedback on challenges.

Estimated time to earn credential: 8.0 hours

Tags: OOjs UI icon tag-ltr.svg bash  OOjs UI icon tag-ltr.svg emacs  OOjs UI icon tag-ltr.svg merlin mission manager 

White Sash - Second Level[edit]

Digital badge: Number Systems Sashmoji: MMM-🧑‍🎓⬜️2️⃣

Description: Demonstrates knowledge and skills of using number systems in alternative bases

Badge Promotion Requirements for Mastery
CoderMerlin-Badge-White-2.png
  •  M1011-10  Number Systems
  •  M1012-10  Alternative Base Addition

Criteria: An earner of this credential has studied and demonstrated knowledge and skills in using alternative base number systems and alternative base addition.

Estimated time to earn credential: 6.0 hours

Tags: OOjs UI icon tag-ltr.svg number systems  OOjs UI icon tag-ltr.svg alternative base addition 

White Sash - Third Level[edit]

Digital badge: Boolean Algebra Sashmoji: MMM-🧑‍🎓⬜️3️⃣

Description: Demonstrates knowledge and skills of using Boolean algebra

Badge Promotion Requirements for Mastery
CoderMerlin-Badge-White-3.png
  •  M1013-10  Boolean Algebra Basics
  •  M1013-10  Boolean Canonical
  •  M1013-10  Boolean DeMorgan
  •  M1014-10  Logic Gates
  •  M1015-10  Bitwise Operations
  •  M1018-10  SR Latch

Criteria: An earner of this credential has studied and demonstrated knowledge and skills in using Boolean algebra, logic gates, bitwise operations, logic composition, and complex gates such as binary adders and an SR Latch.

Estimated time to earn credential: 12.0 hours

Tags: OOjs UI icon tag-ltr.svg boolean algebra  OOjs UI icon tag-ltr.svg logic gates  OOjs UI icon tag-ltr.svg bitwise operations  OOjs UI icon tag-ltr.svg logic composition  OOjs UI icon tag-ltr.svg binary adders OOjs UI icon tag-ltr.svg SR Latch 

White Sash - Fourth Level[edit]

Digital badge: Computer History and Architecture Sashmoji: MMM-🧑‍🎓⬜️4️⃣

Description: Demonstrates knowledge of computer history and architecture

Badge Promotion Requirements for Mastery
CoderMerlin-Badge-White-4.png
  •  M1021-10  Computer History
  •  M1022-10  Computer Architecture

Criteria: An earner of this credential has studied and demonstrated knowledge of computer history and architecture.

Estimated time to earn credential: 3.0 hours

Tags: OOjs UI icon tag-ltr.svg computer history  OOjs UI icon tag-ltr.svg computer architecture 

White Sash - Fifth Level[edit]

Digital badge: Encoding and Data Types Sashmoji: MMM-🧑‍🎓⬜️5️⃣

Description: Demonstrates knowledge and skills of basic data types and their storage

Badge Promotion Requirements for Mastery
CoderMerlin-Badge-White-5.png
  •  M1032-10  Negative Integers
  •  M1037-10  Basic Expressions
  •  M1039-10  Basic Conversions
  •  M1039-11  Basic Calculations

Criteria: An earner of this credential has studied and demonstrated knowledge and skills in using positive and negative integers, nil values, expressions and operators, and conversion between types.

Estimated time to earn credential: 20.0 hours

Tags: OOjs UI icon tag-ltr.svg positive integers  OOjs UI icon tag-ltr.svg negative integers  OOjs UI icon tag-ltr.svg nil values  OOjs UI icon tag-ltr.svg data conversions 

White Sash - Sixth Level[edit]

Digital badge: Introductory Programming Sashmoji: MMM-🧑‍🎓⬜️6️⃣

Description: Demonstrates basic knowledge and skills of coding

Badge Promotion Requirements for Mastery
CoderMerlin-Badge-White-6.png
  •  M1041-10  Assembly Language
  •  M1089-10  Hello World

Criteria: An earner of this credential has studied and demonstrated knowledge and skills in a very basic understanding of the concept of assembly language and writing "Hello, World!" programs in a variety of programming languages.

Estimated time to earn credential: 22.0 hours

Tags: OOjs UI icon tag-ltr.svg assembly language  OOjs UI icon tag-ltr.svg hello world 

White Sash - Seventh Level[edit]

Digital badge: Non-sequential Coding Sashmoji: MMM-🧑‍🎓⬜️7️⃣

Description: Demonstrates basic knowledge and skills of conditionals and loops

Badge Promotion Requirements for Mastery
CoderMerlin-Badge-White-7.png
  •  M1151-10  Conditionals Level 1
  •  M1152-10  While Loop
  •  M1153-10  Repeat While Loop
  •  M1154-10  For Loop
  •  M1154-20  Loops and Functions

Criteria: An earner of this credential has studied and demonstrated knowledge and skills of nonsequential execution including branching structures such as conditionals and loops.

Estimated time to earn credential: 10.0 hours

Tags: OOjs UI icon tag-ltr.svg non-sequential execution  OOjs UI icon tag-ltr.svg loops  OOjs UI icon tag-ltr.svg conditionals 

White Sash - Eighth Level[edit]

Digital badge: Scope Basics Sashmoji: MMM-🧑‍🎓⬜️8️⃣

Description: Demonstrates basic knowledge and skills of variable, function, and block scope

Badge Promotion Requirements for Mastery
CoderMerlin-Badge-White-8.png
  •  M1201-10  Scope Level 1
  •  M1201-11  Scope Level 2
  •  M1201-12  Scope Level 3
  •  M1201-13  Scope Level 4

Criteria: An earner of this credential has studied and demonstrated knowledge and skills of variable, function, and block scope.

Estimated time to earn credential: 10.0 hours

Tags: OOjs UI icon tag-ltr.svg variable scope  OOjs UI icon tag-ltr.svg function scope  OOjs UI icon tag-ltr.svg block scope 

Yellow Sash[edit]

Yellow Sash - First Level[edit]

Digital badge: Basic Karel Algorithms Sashmoji: MMM-🧑‍🎓🟨1️⃣

Description: Demonstrates basic knowledge and skills of Karel algorithms

Badge Promotion Requirements for Mastery
CoderMerlin-Badge-Yellow-1.png
  •  M1165-10  Karel Basics
  •  M1165-11  Karel Sensors

Criteria: An earner of this credential has studied and demonstrated knowledge and skills, including the ability to independently code algorithms for the following:

  • Orienting Karel appropriate to the task at hand
  • Navigating Karel around obstacles
  • Determining permissible boundaries for Karel movement
  • Picking up and dropping off beepers

Estimated time to earn credential: 20.0 hours

Tags: OOjs UI icon tag-ltr.svg karel orientation  OOjs UI icon tag-ltr.svg karel navigation  OOjs UI icon tag-ltr.svg karel tasks 

Yellow Sash - Second Level[edit]

Digital badge: Basic Numeric Algorithms Sashmoji: MMM-🧑‍🎓🟨2️⃣

Description: Demonstrates basic knowledge and skills of common algorithms

Badge Promotion Requirements for Mastery
CoderMerlin-Badge-Yellow-2.png
  •  M1171-10  Largest Number of Three
  •  M1172-10  Greatest Common Divisor
  •  M1173-10  Finding Primes
  •  M1173-20  Primes Return

Criteria: An earner of this credential has studied and demonstrated knowledge and skills, including the ability to independently code algorithms for the following:

  • Finding the largest integer of three
  • Finding the greatest common divisor of two integers
  • Determining whether a number is prime
  • Finding the next prime given an arbitrary integer

Estimated time to earn credential: 12.0 hours

Tags: OOjs UI icon tag-ltr.svg algorithm largest of three  OOjs UI icon tag-ltr.svg algorithm greatest common divisor  OOjs UI icon tag-ltr.svg algorithm finding primes 

Yellow Sash - Third Level[edit]

Digital badge: Intermediate Numeric Algorithms Sashmoji: MMM-🧑‍🎓🟨3️⃣

Description: Demonstrates intermediate knowledge and skills of common algorithms

Badge Promotion Requirements for Mastery
CoderMerlin-Badge-Yellow-3.png
  •  M1174-10  String To Decimal
  •  M1175-10  Numbers to Words
  •  M1176-10  Making Change

Criteria: An earner of this credential has studied and demonstrated knowledge and skills, including the ability to independently code algorithms for the following:

  • Converting a string of characters, including nondigits, to a decimal integer
  • Converting a series of decimal integers, up to 99,999 to their equivalent English names
  • Determining the optimal denominations to use when making change

Estimated time to earn credential: 30.0 hours

Tags: OOjs UI icon tag-ltr.svg string to decimal integer  OOjs UI icon tag-ltr.svg decimal integer to English name  OOjs UI icon tag-ltr.svg denominations for making change 

Yellow Sash - Fourth Level[edit]

Digital badge: Using Random Numbers Sashmoji: MMM-🧑‍🎓🟨4️⃣

Description: Demonstrates basic knowledge of using random numbers

Badge Promotion Requirements for Mastery
CoderMerlin-Badge-Yellow-4.png
  •  M1292-28  Useful Randomness

Criteria: An earner of this credential has studied and demonstrated knowledge and skills, including the ability to independently code algorithms for using random numbers to determine the value of .

Estimated time to earn credential: 6.0 hours

Tags: OOjs UI icon tag-ltr.svg using random numbers 

Yellow Sash - Fifth Level[edit]

Digital badge: Best Coding Practices Sashmoji: MMM-🧑‍🎓🟨5️⃣

Description: Demonstrates basic knowledge of best coding practices

Badge Promotion Requirements for Mastery
CoderMerlin-Badge-Yellow-5.png
  •  M1297-28  Best Coding Practices

Criteria: An earner of this credential has studied and demonstrated knowledge and skills, including the ability to independently code using best practices, including the following:

  • Proper use of assertions and preconditions
  • Proper use of comments
  • Proper use of whitespace
  • Proper naming conventions for identifiers
  • Proper names for functions, constants, and variables

Estimated time to earn credential: 10.0 hours

Tags: OOjs UI icon tag-ltr.svg best coding practices 

Yellow Sash - Sixth Level[edit]

Digital badge: Arrays Sashmoji: MMM-🧑‍🎓🟨6️⃣

Description: Demonstrates basic knowledge and skills of using arrays

Badge Promotion Requirements for Mastery
CoderMerlin-Badge-Yellow-6.png
  •  M1301-10  Arrays Introduction
  •  M1301-11  Arrays of Strings
  •  M1301-12  More Arrays
  •  M1301-15  Karel Beeper Spread

Criteria: An earner of this credential has studied and demonstrated knowledge and skills, including the ability to independently code:

  • Creation of Integer and String single-dimensional arrays
  • Traversal of single-dimensional arrays
  • Searching (linearly) through single-dimensional arrays
  • Summary calculations on single-dimensional arrays

Estimated time to earn credential: 15.0 hours

Tags: OOjs UI icon tag-ltr.svg single-dimensional arrays 

Yellow Sash - Seventh Level[edit]

Digital badge: Basic Sorting Sashmoji: MMM-🧑‍🎓🟨7️⃣

Description: Demonstrates basic knowledge and skills of sorting arrays

Badge Promotion Requirements for Mastery
CoderMerlin-Badge-Yellow-7.png
  •  M1351-10  Arrays Introduction
  •  M1352-10  Arrays of Strings

Criteria: An earner of this credential has studied and demonstrated knowledge and skills, including the ability to independently code:

  • A swap function
  • Bubble sort

Estimated time to earn credential: 10.0 hours

Tags: OOjs UI icon tag-ltr.svg swapping variables OOjs UI icon tag-ltr.svg bubble sort 

Orange Sash[edit]

Orange Sash - First Level[edit]

Digital badge: Basic Graphics Sashmoji: MMM-🧑‍🎓🟧1️⃣

Description: Demonstrates basic knowledge and skills of utilizing classes and objects in a graphics environment

Badge Promotion Requirements for Mastery
CoderMerlin-Badge-Orange-1.png
  •  M1501-28  Introduction to Objects
  •  M1502-28  Object Attributes
  •  M1503-28  Lines and Ellipses

Criteria: An earner of this credential has studied and demonstrated knowledge and skills, including the ability to independently code:

  • Using classes and objects in a graphics environment
  • Using graphic layers to render simple objects, including rectangles, circles, and ellipses
  • Using standard colors and custom RGB colors
  • Using event-driven programming as part of the render cycle

Estimated time to earn credential: 20.0 hours

Tags: OOjs UI icon tag-ltr.svg graphics OOjs UI icon tag-ltr.svg object-oriented programming OOjs UI icon tag-ltr.svg event-driven programming 

Orange Sash - Second Level[edit]

Digital badge: Intermediate Graphics Sashmoji: MMM-🧑‍🎓🟧2️⃣

Description: Demonstrates intermediate knowledge and skills of utilizing classes and objects in a graphics environment

Badge Promotion Requirements for Mastery
CoderMerlin-Badge-Orange-2.png
  •  M1504-28  First Steps on a Path
  •  M1505-28  Images

Criteria: An earner of this credential has studied and demonstrated knowledge and skills, including the ability to independently code:

  • Using graphic paths and filled paths
  • Using graphic images
  • Cropping graphic images
  • Scaling graphic images

Estimated time to earn credential: 12.0 hours

Tags: OOjs UI icon tag-ltr.svg graphics OOjs UI icon tag-ltr.svg graphic paths OOjs UI icon tag-ltr.svg graphic images OOjs UI icon tag-ltr.svg object-oriented programming OOjs UI icon tag-ltr.svg event-driven programming 

Orange Sash - Third Level[edit]

Digital badge: Turtle Graphics Sashmoji: MMM-🧑‍🎓🟧3️⃣

Description: Demonstrates basic knowledge and skills of utilizing turtle graphics

Badge Promotion Requirements for Mastery
CoderMerlin-Badge-Orange-3.png
  •  M1511-28  Walking Turtles
  •  M1512-28  Colorful Turtles

Criteria: An earner of this credential has studied and demonstrated knowledge and skills, including the ability to independently code:

  • Using the relative, polar-coordinate system of a turtle
  • Rotating a turtle
  • Moving a turtle
  • Lifting a dropping a pen
  • Using loops to simplify coding of turtle graphics
  • Using colors with turtle graphics

Estimated time to earn credential: 16.0 hours

Tags: OOjs UI icon tag-ltr.svg graphics OOjs UI icon tag-ltr.svg turtle graphics OOjs UI icon tag-ltr.svg loops in graphics 

Orange Sash - Fourth Level[edit]

Digital badge: Patterns of Patterns Sashmoji: MMM-🧑‍🎓🟧4️⃣

Description: Demonstrates basic knowledge and skills of replicating patterns

Badge Promotion Requirements for Mastery
CoderMerlin-Badge-Orange-4.png
  •  M1513-28  Patterns of Patterns

Criteria: An earner of this credential has studied and demonstrated knowledge and skills, including the ability to independently code:

  • Using cartesian coordinates
  • Identifying patterns
  • Replicating patterns
  • Judiciously utilizing scope
  • Using loops to simplify coding
  • Using colors

Estimated time to earn credential: 12.0 hours

Tags: OOjs UI icon tag-ltr.svg graphics OOjs UI icon tag-ltr.svg patten identification OOjs UI icon tag-ltr.svg loops in graphics 

Orange Sash - Fifth Level[edit]

Digital badge: Basic Animation Sashmoji: MMM-🧑‍🎓🟧5️⃣

Description: Demonstrates basic knowledge and skills of basic animation

Badge Promotion Requirements for Mastery
CoderMerlin-Badge-Orange-5.png
  •  M1521-28  Moving Along
  •  M1522-28  Ping then Pong

Criteria: An earner of this credential has studied and demonstrated knowledge and skills, including the ability to independently code:

  • Events for both rendering and interaction
  • Layers for background and interaction
  • Moving objects by following the mouse
  • Distorting object proportions to provide visual effects
  • Moving objects each frame by using velocity
  • Bounding rectangles and hit testing

Estimated time to earn credential: 12.0 hours

Tags: OOjs UI icon tag-ltr.svg graphics OOjs UI icon tag-ltr.svg events OOjs UI icon tag-ltr.svg animation OOjs UI icon tag-ltr.svg hit testing 

Orange Sash - Sixth Level[edit]

Digital badge: Animation and Interaction Sashmoji: MMM-🧑‍🎓🟧6️⃣

Description: Demonstrates basic knowledge and skills of interacting with animated objects

Badge Promotion Requirements for Mastery
CoderMerlin-Badge-Orange-6.png
  •  M1523-28  Paddle Paddle

Criteria: An earner of this credential has studied and demonstrated knowledge and skills, including the ability to independently code:

  • Event-driven development
  • Object-oriented development
  • Handling keyboard events

Estimated time to earn credential: 16.0 hours

Tags: OOjs UI icon tag-ltr.svg graphics OOjs UI icon tag-ltr.svg object-oriented development OOjs UI icon tag-ltr.svg event-driven development OOjs UI icon tag-ltr.svg animation 

Orange Sash - Seventh Level[edit]

Digital badge: Animation and Collision Detection Sashmoji: MMM-🧑‍🎓🟧7️⃣

Description: Demonstrates basic knowledge and skills of detecting collisions in animation

Badge Promotion Requirements for Mastery
CoderMerlin-Badge-Orange-7.png
  •  M1524-28  Score
  •  M1525-28  Containment

Criteria: An earner of this credential has studied and demonstrated knowledge and skills, including the ability to independently code:

  • Set theory and using sets and set operations
  • Enumerated types
  • Limiting motion to defined constraints
  • Deflection of objects
  • Scoring in animated games

Estimated time to earn credential: 18.0 hours

Tags: OOjs UI icon tag-ltr.svg graphics OOjs UI icon tag-ltr.svg set collection type OOjs UI icon tag-ltr.svg set theory OOjs UI icon tag-ltr.svg enumerated types 

Green Sash[edit]

Purple Sash[edit]

Blue Sash[edit]

Brown Sash[edit]

Red Sash[edit]

Black Sash[edit]

(Restore from vandalism 14-Dec-2021)