codebyexample
assessment · Python

Assessment 01: Foundations

Goal

Build confidence with input handling, loops, functions, lists, and strings.

Task

Write a program that:

  1. Reads an integer N (N > 0).
  2. Reads N full names and exam scores (0..100).
  3. Prints:
  • all records
  • average score
  • highest score with student name
  • lowest score with student name
  • pass count (score >= 60)

Learning Metadata

  • Difficulty: Beginner.
  • Estimated Time: 30-45 minutes.
  • Prerequisites: All 01-foundations modules, especially types-and-io, control-flow, and strings.
  • Learning Focus: Prove you can read structured input, preserve names, and compute accurate summaries without step-by-step scaffolding.

Learning Outcomes

  • FND-TIO-02
  • FND-CFL-02
  • FND-FUN-01
  • FND-SEQ-02

Quick Run

Run the checkpoint checker from the repository root. The starter is intentionally incomplete, so the first run establishes the work still to do:

python scripts/automation.py check-checkpoint --language python --kind assessment --level 01-foundations

Sample Input

3
Ana Smith
91
Bob Lee
55
Carla Mendez
88

Sample Output (shape)

Students:
- Ana Smith: 91
- Bob Lee: 55
- Carla Mendez: 88
Average: 78.00
Highest: Ana Smith (91)
Lowest: Bob Lee (55)
Passed: 2/3

Cross-Language Notes

  • Compared with the C++ assessment, this version reaches the same summary goal with much less syntax and more runtime flexibility.
  • Relative to C#, Go, and TypeScript, fewer mistakes are caught before execution.
  • The comparison to watch is how much structure the learner must impose manually.

Check Your Work

Implement the task in starter/, then run from the repository root:

python scripts/automation.py check-checkpoint --language python --kind assessment --level 01-foundations

Use --solution only after completing a full attempt. Each failed case reports targeted feedback without exposing the implementation.

What To Check

  • full names are preserved exactly as entered
  • highest and lowest records match the actual dataset
  • pass counts and averages use the required scoring rules

Content revision 1d0b3f4

READ & DOWNLOAD

Take the next step locally.

Online execution for projects and assessments is coming later. Download the starter files and follow the instructions alongside your editor.

View source
def main() -> None:
    # TODO: implement the README specification (FND-TIO-02, FND-CFL-02, FND-FUN-01, FND-SEQ-02).
    print("TODO: implement this checkpoint")


if __name__ == "__main__":
    main()
← Back to the curriculumYour next insight is one experiment away.