Programming Merit Badge

http://www.youtube.com/watch?v=s07aEbPwThM

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!

From the Boy's Life Website

When do I use programming?

You may not realize when you do, but it is very important to your life.

  • Computers (obviously)
  • Cell Phone
  • A traffic light
  • Checking out at the supermarket or a store
  • Cable Box
  • Making a phone call
  • Electronic Billboards

Programming has become a very popular topic in recent years among youth. It would be fun to build something with your code that you can show to your friends and family. But before that, you must learn a few important things.

Requirements

1. Safety.

Programming allows you to build some great things but only if you stay safe while doing it. You must stay safe before performing any programming on your own!

  1. Cyber Chip http://www.scouting.org/Training/YouthProtection/CyberChip.aspx http://www.netsmartz.org/scouting

  2. Discuss first aid and prevention for the types of injuries or illnesses that could occur during programming activities, including repetitive stress injuries and eyestrain.

2. History. Do the following:

  1. Give a brief history of programming, including at least three milestones related to the advancement or development of programming.

  2. Describe the evolution of programming methods and how they have improved over time.

3. General knowledge. Do the following:

  1. Create a list of 10 popular programming languages in use today and describe which industry or industries they are primarily used in and why.

  2. Describe three different programmed devices you rely on every day.

4. Intellectual property. Do the following:

  1. Explain how software patents and copyrights protect a programmer.

  2. Describe the difference between licensing and owning software.

  3. 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:

  1. With your counselor’s approval, choose a sample program. Then, as a minimum, modify the code or add a function or subprogram to it. Debug and demonstrate the modified program to your counselor.

  2. 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.

  3. 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.

  4. 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.

  5. Careers. Find out about three career opportunities 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.