Programming Merit Badge
Six requirements, and the fifth is three working programs in three different languages and three different development environments, with everything that decides whether a program passes stated once in the paragraph above the parts rather than in any of them. The three are chosen with the counselor's guidance, and "write or modify" allows modifying an existing program, which is a much smaller job than it first reads as.
The plan behind this
Requirement 5 keeps its specification in the preamble
The three parts say almost nothing:
(a) In the first language and environment, write or modify a program, debug and demonstrate, and explain as above.
"As above" is the whole requirement. Above it, applying to all three:
| the program must | |
|---|---|
| take input | not just produce output |
| produce output based on computations and decisions made on the input | so it has to branch on what it was given |
| be debugged | |
| be demonstrated to your counselor | in person, working |
| be explained | how it processes inputs, makes decisions from them, and provides outputs |
A program that prints a message, draws a shape, or plays a sound without reading anything meets none of that. The decision-making is the part being assessed.
Three languages and three environments
With your counselor's guidance, select three different programming languages and development environments.
Those are two lists, not one. Three languages, three environments.
For most Scouts the writing is not the hard part. Getting three separate toolchains installed and working (on a school machine, a family laptop, or whatever is available) is. Some of that needs an administrator's password and some of it needs a download that the network blocks. Find out which three you are using, and try to install all three, in the first week rather than the sixth.
"Write or modify"
Both words appear in all three parts. Modifying an existing program is explicitly allowed: take something that works, change what it does, understand why the change works, and be able to explain it.
That is a much smaller job than three programs from a blank file, and it is easy to read past.
Requirement 3(a) is the research that should choose your three
Requirement 3(a) asks for five popular programming languages and the industries they are used in and why. Requirement 5 then asks you to pick three languages.
Doing 3(a) first, properly, means arriving at the counselor conversation with an informed opinion rather than picking whatever you have heard of. The badge does not connect them and they are two requirements apart.
The same video as Digital Technology
Requirement 1(a) is the Personal Safety Awareness "Digital Safety" video, with a parent or guardian's permission. The Digital Technology merit badge asks for the same video at its own requirement 1.
If you are working on both, raise it with your counselor rather than assuming it counts twice or assuming it does not. That is their call, not this page's.
What this page is
The Programming merit badge, drawn so requirement 5's real conditions and its three toolchains are visible before anybody chooses a language. It is not a copy of the requirements and it teaches no programming: each step is a short label with a link to the official requirements, which are what actually governs and which change from year to year.
Sources for this page
- Programming Merit Badge Requirements, Merit Badge Hub, last modified 2025-12-31 · The requirements themselves, and the free official pamphlet linked from them.
- Guide to Advancement, 2025, Section 7.0.0.3 · The process every merit badge is earned through, which this page does not repeat.
- Guide to Advancement, 2025, Section 7.0.4.3 · Which version of a changed requirement applies to a Scout who has already started.
- Guide to Advancement, 2025, Section 4.0.0.1 · Why the requirements are not in the Guide to Advancement and are expected to change annually.
Last checked against its sources on .