Requirement
5. THREE programs, three languages, three environments, and the rules are in the preamble
Required Often forgotten
Selected with your counselor's guidance. Every condition that decides whether a program passes is stated once above the three parts: it must take input, produce output from computations and decisions made on that input, be debugged, be demonstrated, and be explained.
Notes and warnings
Warning. EVERYTHING THAT DECIDES WHETHER A PROGRAM PASSES IS IN THIS REQUIREMENT'S PREAMBLE, NOT IN ITS PARTS. Each of the three programs must TAKE INPUT and produce output BASED ON COMPUTATIONS AND DECISIONS MADE ON THAT INPUT, be debugged, be demonstrated to your counselor, and be explained: how it processes inputs, how it makes decisions from them, and how it produces outputs. The lettered parts say only "in the first language and environment… explain as above". A program that prints, draws or plays something without reading any input meets none of it.
Warning. THREE LANGUAGES AND THREE DEVELOPMENT ENVIRONMENTS ARE TWO LISTS, NOT ONE. For most Scouts the code is not the obstacle: getting three separate toolchains installed and running is, especially on a school machine or a family computer where somebody else holds the administrator password and the network blocks downloads. Agree the three with your counselor and try to install all three in your first week on the badge, not your sixth.
What this is made of
Where this step comes from
- Programming Merit Badge Requirements (Merit Badge Hub, last modified 2025-12-31), Requirement 5 · The conditions applying to all three programs are stated in this requirement's own preamble rather than in its lettered parts.