Project 1: Data Explorer - Rubric

This rubric is used to evaluate Project 1: Data Explorer.

Correctness (40 points)

Does the program produce correct results?

CriterionPointsDescription
Average calculation10Correctly calculates and displays the average temperature
Highest/lowest finding10Correctly identifies the highest and lowest temperatures AND their days
Day classification10Correctly classifies each day as Hot (>75), Mild (70-75), or Cool (<70)
Category counting10Correctly counts hot days and cool days

Deductions

  • -5 points for off-by-one errors
  • -3 points for minor calculation errors
  • -2 points for rounding issues

Code Quality (30 points)

Is the code well-structured and readable?

CriterionPointsDescription
Loop usage10Uses loops effectively to process data (not 7 separate if-statements)
Variable names10Uses meaningful, descriptive variable names
Code organization10Code is logically organized and easy to follow

Examples

Good variable names (full credit):

total_temperature = 0
highest_temp = temperatures[0]
hot_day_count = 0

Poor variable names (reduced credit):

t = 0
h = temperatures[0]
x = 0

Deductions

  • -5 points for hardcoded repetition instead of loops
  • -3 points for confusing variable names
  • -3 points for overly complex logic when simpler approach exists

Output Format (20 points)

Is the output clear and well-formatted?

CriterionPointsDescription
Daily breakdown8Shows each day with temperature and classification
Summary section8Shows all required summary statistics
Readability4Output is easy to read with appropriate labels and spacing

Expected Output Structure

=== Weekly Weather Report ===

Daily Breakdown:
[Day]: /demos/cs1-path/projects/[Temp]%C2%B0F ([Classification])
...

Summary:
- Average temperature: [X.X]°F
- Highest: [X]°F on [Day]
- Lowest: [X]°F on [Day]
- Hot days (>75°F): [N]
- Cool days (<70°F): [N]

Deductions

  • -4 points for missing section headers
  • -2 points for missing degree symbols or units
  • -2 points for poor spacing/alignment

Documentation (10 points)

Is the code documented?

CriterionPointsDescription
Header comment3Includes name, date, and project description at top
Inline comments7Key sections of code have explanatory comments

Example Header

# Project 1: Data Explorer
# Name: [Student Name]
# Date: [Date]
# Description: Analyzes weekly weather data and generates a report

Deductions

  • -3 points for no header comment
  • -2 points for no inline comments
  • -1 point for comments that don't explain anything useful

Bonus Opportunities (+5 max)

  • +2 points: Handle edge cases gracefully (empty data, all same temperature)
  • +2 points: Add additional interesting statistics (median, temperature range, etc.)
  • +1 point: Exceptionally clean and elegant code

Common Issues to Avoid

  1. Hardcoding instead of looping: Don't write 7 separate print statements
  2. Integer division: Make sure average is a decimal, not rounded to integer
  3. Off-by-one in classification: Check boundary conditions (is 75 hot or mild?)
  4. Missing the day name: Finding 80°F is not enough—also track WHEN it occurred
  5. No comments: Even simple code benefits from a brief explanation

Feedback Format

When providing feedback, reference this rubric by section:

Correctness: XX/40
- Average: [feedback]
- Highest/lowest: [feedback]
- Classification: [feedback]
- Counting: [feedback]

Code Quality: XX/30
- [specific feedback]

Output Format: XX/20
- [specific feedback]

Documentation: XX/10
- [specific feedback]

Total: XX/100

Strengths:
- [what worked well]

Areas for Improvement:
- [specific suggestions]