Programming merit badge
Earning the Programming merit badge will take you “behind the screen” for a look at the complex codes that make digital devices useful and fun. Without programs, today’s high-tech gadgets would be little more than empty shells. But given clear instructions, digital devices can do amazing things and perform operations that would have seemed like magic to people in the past.
By the time you fulfill the requirements for the Programming merit badge, you will be able to work a little of that “magic” yourself. And you might find yourself joining the legions of young programmers who create so much innovative software. Whatever the need, somebody somewhere has written a program to answer it. You could become that somebody. Happy programming!
GET STARTED PROGRAMMING
Get help with Requirement 5! Select a programming language for sample programs, resources, tips, videos and more. Use the dropdown menu to filter languages by industry.
MERIT BADGE REQUIREMENTS
Purchase the merit badge pamphlet
1. Safety. Do the following:
a. Show your counselor your current, up-to-date Cyber Chip.
b. Discuss first aid and prevention for the types of injuries that could occur during programming activities, including repetitive stress injuries and eyestrain.
2. History. Do the following:
a. Give a brief history of programming, including at least three milestones related to the advancement or development of programming.
b. Discuss with your counselor the history of programming and the evolution of programming languages.
3. General knowledge. Do the following:
a. Create a list of five popular programming languages in use today and describe which industry or industries they are primarily used in and why.
b. Describe three different programmed devices you rely on every day.
4. Intellectual property. Do the following:
a. Explain the four types of intellectual property used to protect computer programs.
b. Describe the difference between licensing and owning software.
c. Describe the differences between freeware, open source, and commercial software, and why it is important to respect the terms of use of each.
5. Projects. Do the following:
a. With your counselor’s approval, choose a sample program. Modify the code or add a function or subroutine to it. Debug and demonstrate the modified program to your counselor.
b. With your counselor’s approval, choose a second programming language and development environment, different from those used for requirement 5a and in a different industry from 5a. Then write, debug, and demonstrate a functioning program to your counselor, using that language and environment.
c. With your counselor’s approval, choose a third programming language and development environment, different from those used for requirements 5a and 5b and in a different industry from 5a or 5b. Then write, debug, and demonstrate a functioning program to your counselor, using that language and environment.
d. Explain how the programs you wrote for requirements 5a, 5b, and 5c process inputs, how they make decisions based on those inputs, and how they provide outputs based on the decision making.
6. Careers. Find out about three career opportunities that require knowledge in programming. Pick one and find out the education, training, and experience required. Discuss this with your counselor and explain why this career might be of interest to you.
EARN THE CYBER CHIP
Earning the Cyber Chip can help you learn how to stay safe while you are online and using social networks or the latest electronic gadgets.
Topics include cell phone use, texting, blogging, gaming, cyberbullying, and identity theft. Find out more about the Cyber Chip at www.scouting.org/cyberchip.
JAMBOREE RESOURCES
Videos and activities used during the inaugural launch of the Programming Merit Badge at the 2013 National Scout Jamboree.
• Robotic arm activity video
• Factory automation activity video
• Embedded programming activity video
I love HTML and Javascrpit
YES
I need help to download python
You can if you are on a PC use Mu editor
HTML, css, svg, and several others are “declarative” languages that describe something static. Programs make decisions, they loop through lists and act on their contents.
I wouldn’t mind seeing some of the visual programming languages on the list here, though I wouldn’t want more than one of the three projects to be in one. I think they’re great for separating concepts from the underlying language’s syntax. You can then teach them independently.
Didn’t the requirements change slightly in 2017? The list on this page still reflects the original 2013 requirements. Please update.
You should include Swift.
HTML???
SQL?
Where’s HTML? Why does this badge content teach CSS but NOT HTML? In my personal opinion, I beleive HTML should also be taught in this merit badge.
SQL is a query language, not a programming language
HTML is a markup language, not a programming language
do you know whats for dinner 😉
beans
my dog
meat, cheese, bread, dip, grilled veggies
why is css not on the list for the GET STARTED PROGRAMMING list?
CSS is a markup language, therefore it’s not a legitimate programming language.
i am a cool dude
good for you
beef its whats for dinner
Entertainment = Gaming
This is true.