Req 5 — Choosing Your Three Projects
5.
Project. 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:
| Project | Possible language/environment | What you gain |
|---|---|---|
| First | Python in a beginner-friendly editor | Clear logic and readable syntax |
| Second | JavaScript in a browser or web editor | Fast feedback and interactive output |
| Third | Scratch, MakeCode, Java, C#, or another tool with a different style | 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:
- Input from a user, sensor, file, button, or other source
- Computation such as math, comparison, sorting, counting, or transformation
- Decision making using if/then logic or similar control flow
- Output that clearly shows the result
The next three pages will help you build and explain each project one at a time.