5. Building Programs

Choosing Your Three Projects

5.
With your counselor’s guidance, select three different programming languages and development environments. For each sub-requirement below, do the following: Write or modify a program using the indicated programming language and development environment. The program must take input and produce output based on computations and decisions made on the input. Debug and demonstrate the program to your counselor. Explain how each program processes inputs, makes decisions based on those inputs, and provides outputs based on computations and decision making.

You must choose exactly three options here — and in this badge, that means all three project pages. The real choice is not whether to do three projects. It is which three languages and development environments will help you learn the most.

Your Options

  • Req 5a — First Language Project: Build your first project in a language and toolset that feels approachable. This is your chance to understand the core pattern of input, logic, output, debugging, and explanation.
  • Req 5b — Second Language Project: Build a second program in a different language and environment so you can compare how tools, syntax, and workflow change.
  • Req 5c — Third Language Project: Finish with a third language and environment that stretches you a little more and shows how widely programming skills transfer.

How to Choose

Choosing your three languages and environments

Pick combinations that show variety without becoming overwhelming
  • Start with confidence: Make your first project in a language or platform where you can get a working result fairly quickly.
  • Change something meaningful: Your second and third choices should differ in language, development environment, or style of project.
  • Match the environment to the job: A browser editor, desktop IDE, robotics tool, or game engine each teaches different habits.
  • Think about what you will gain: One project might teach clear syntax, another debugging tools, and another how software connects to real users or devices.
  • Keep the scope reasonable: A small program that works and that you can explain is better than a giant project you do not fully understand.

A strong set of three might look like this:

ProjectPossible language/environmentWhat you gain
FirstPython in a beginner-friendly editorClear logic and readable syntax
SecondJavaScript in a browser or web editorFast feedback and interactive output
ThirdScratch, MakeCode, Java, C#, or another tool with a different styleA wider view of how programming ideas transfer
  • First

    Possible language/environment
    Python in a beginner-friendly editor
    What you gain
    Clear logic and readable syntax
  • Second

    Possible language/environment
    JavaScript in a browser or web editor
    What you gain
    Fast feedback and interactive output
  • Third

    Possible language/environment
    Scratch, MakeCode, Java, C#, or another tool with a different style
    What you gain
    A wider view of how programming ideas transfer

Before you move to the first project page, make sure each planned program includes the same four ingredients:

  1. Input from a user, sensor, file, button, or other source
  2. Computation such as math, comparison, sorting, counting, or transformation
  3. Decision making using if/then logic or similar control flow
  4. Output that clearly shows the result

The next three pages will help you build and explain each project one at a time.