- What actually is a program?
- What makes a good program?


- Input — what information the program needs
- Process — how the program transforms or uses that input
- Output — what the program should return or display

When planning a program, ask:
What inputs do I need? How will I process them? What output should I produce? Writing these down before coding makes implementation clearer and reduces rework.-
Correctness
- The program produces the right result for valid inputs.
- Test edge cases and typical uses to ensure consistent behavior.
-
Efficiency
- Use time and memory wisely. Prefer solutions that solve the problem with minimal, necessary work.
- Avoid unnecessary repetition; refactor duplicate logic into reusable functions.
-
Readability
- Code gets read more than written. Use descriptive names, consistent formatting, and concise comments that explain why a decision was made.
- Readable code makes collaboration and future maintenance much easier.
-
Robustness
- Handle unexpected or invalid inputs gracefully. Provide useful error messages (for example, “Please enter numbers only”) and ways to recover.
To recap: a program is a step-by-step set of instructions (like a recipe). All programs follow the IPO model: take input, process it, and produce output. A good program is correct, efficient, readable, and robust.

- Programming Basics — Introduction and Concepts
- Algorithmic Complexity — Big O notation
- Clean Code Principles