Module Assessment
Overview
Congratulations on completing the Introduction to Python for Data Science module! You've covered a lot of ground — from variables and data types, through functions, strings, conditional logic, lists, and dictionaries, to the fundamentals of object-oriented programming. This assessment is your opportunity to demonstrate that you can apply these skills together to solve realistic data problems.
Complete the assessment using this Colaboratory notebook.
Learning Objective
By the end of this assessment, you will have demonstrated your ability to:
- Validate Python fluency (variables, functions, data structures).
- Practice writing clean, modular code.
Key terms
Modular code: Code that is organized into small, focused functions and classes, making it easier to read, test, and reuse.
Data pipeline: A series of processing steps applied to raw data to produce a clean, analysis-ready result.
Assessment Overview
This module assessment is a coding project completed in a Google Colaboratory notebook. You will work with a small dataset and complete a series of tasks that exercise each skill area from the module.
Skills Assessed
| Skill | Lesson |
|---|---|
| Variables & data types | Intro to Python |
| Functions | Functions |
| String manipulation | Strings |
| Conditional logic | Conditional Logic |
| List operations | Lists |
| Dictionary operations | Dictionaries |
| Classes & objects | Objects |
Coding Assessment
Complete the project in this notebook. The notebook contains a series of guided tasks. After completing all tasks, save your notebook to GitHub and submit it to the AI Grader for grading.
Task Overview
The notebook will walk you through:
-
Loading and inspecting raw data — You will be given a list of dictionaries representing student records. Use variables,
print(), andlen()to explore the dataset. -
Cleaning string data — Write a function that accepts a student record and returns a cleaned version with names properly capitalized and extra whitespace removed.
-
Classifying records with conditional logic — Write a function that accepts a GPA value and returns the corresponding letter grade using
if/elif/elselogic. -
Filtering and transforming with lists — Use list comprehensions to extract only the students who are passing (GPA ≥ 2.0) and to compute a curved score list.
-
Summarizing with dictionaries — Build a summary dictionary that counts how many students received each letter grade.
-
Building a class — Define a
StudentRosterclass with an__init__()method that stores a list of student records, and at least two methods: one that prints a summary report and one that returns the student with the highest GPA.
Grading Rubric
| Criteria | Points |
|---|---|
| Variables and data types used correctly | 10 |
| Cleaning function works correctly with edge cases | 15 |
| Grade classification function handles all ranges | 15 |
| List comprehensions produce correct results | 15 |
| Summary dictionary is accurate | 15 |
StudentRoster class is correctly defined and working | 20 |
| Code is readable, well-named, and modular | 10 |
| Total | 100 |