Merit Badge Requirements Merit Badge History
Programming Merit Badge Workbook
This Scoutmaster Bucky Merit Badge Workbook is based off the 2020 Scouts BSA Requirements.
Type your work on this page or download the Programming Workbook PDF.

Consider also using the Programming merit badge class preparation page for clarification and expections when participating in a Scoutmaster Bucky merit badge opportunity (online or in-person).

https://scoutmasterbucky.com/merit-badges/programming/

Scout's Name:
Requirement 1: **Safety. Do the following:**
Requirement 1a: Show your counselor your current, up-to-date Cyber Chip.
Requirement 1b: Discuss first aid and prevention for potential injuries, such as eyestrain and repetitive stress injuries, that could occur during programming activities.
Requirement 2: **History. Do the following:**
Requirement 2a: Give a brief history of programming, including at least three milestones related to the advancement or development of programming.
Requirement 2b: Discuss with your counselor the history of programming and the evolution of programming languages.
Requirement 3: **General knowledge. Do the following:**
Requirement 3a: Create a list of 10 popular programming languages in use today and describe which industry or industries they are primarily used in and why.
Requirement 3b: Describe three different programmed devices you rely on every day.
Requirement 4: **Intellectual property. Do the following:**
Requirement 4a: Explain the four types of intellectual property used to protect computer programs.
Requirement 4b: Describe the difference between licensing and owning software.
Requirement 4c: Describe the differences between freeware, open source, and commercial software, and why it is important to respect the terms of use of each.
Requirement 5: **Projects. Do the following:**
Requirement 5a: 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.
Requirement 5b: 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.
Requirement 5c: 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.
Requirement 5d: 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.
Requirement 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.