Programming

Below are the requirements I completed for the Programming Badge Note: Click any image on this page to enlarge it in a new tab

  ​

“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.” I completed the first module of Khan Academy’s online coding lessons, which taught me how to use the basics of Javascript.

4/7/2020

After completing the first module of Khan Academy’s ProgrammingJS lessons, I decided to also take the second course, learning the basics of making games. I learned how to change scenes and create hover animations, add new sprites onto the screen, use repeating functions, and use translate functions to move things in simple ways.

9/25/2020

“With your counselor’s approval, choose a second programming language and development environment … Then write, debug, and demonstrate a functioning program to your counselor, using that language and environment.” For my second programming language, I chose Python. I used it to create a program that will take inputs of length and width, then calculate area and perimeter for a rectangle of that size, as well as draw it.

9/16/2022

“With your counselor’s approval, choose a third programming language and development environment … Then write, debug, and demonstrate a functioning program to your counselor, using that language and environment.” For my final language, I used the Unity Game Engine with the programming language C# to create a game that I showcased in this video! To complete it, I learned about how to manipulate objects in Unity using mostly Rigidbodies and scripts.

6/20/2022-9/24/2022

“Explain how the programs you wrote … process inputs, how they make decisions based on those inputs, and how they provide outputs based on the decision making.”

My program in Javascript does not take any inputs, only modifications in the code. My program in Python takes 2 text inputs, and if they are numerical, it runs the program based on them. My Unity program takes input from the WASD keys, as well as the space bar and LMB. The keyboard keys move the player and clicking picks up boxes. A lot of my code, including pressure pads and moving to the next stage, rely on the physics system present in Unity when using Rigidbody-type objects, which saves a lot of time implementing physics.

ADDITIONAL REQUIREMENTS COMPLETED

In addition to the above, I also researched all the following areas and then completed a verbal presentation/interview to demonstrate my knowledge and understanding for each of them:

  • Earn and show your up-to-date Cyber Chip.
  • Discuss first aid and prevention for potential injuries, such as eyestrain and repetitive stress injuries, that could occur during programming activities.
  • Discuss with your counselor the history of programming and programming languages, and discuss how programming languages have evolved over time to become easier to use while adding additional capabilities
  • Discuss with your counselor the history of programming and the evolution of programming languages.
  • Create a list of 10 popular programming languages in use today and describe which industry or industries they are primarily used in and why.
  • Describe three different programmed devices you rely on every day.
  • Explain the four types of intellectual property used to protect computer programs.
  • Describe the difference between licensing and owning software.
  • Describe the differences between freeware, open source, and commercial software, and why it is important to respect the terms of use of each.
  • 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.