First Move (11~18) - Code, Learn, Build
🧭 Career CompassDashboardProgress
Loading...
First Move (11~18) - Code, Learn, Build

Structured, level-based technology learning paths from foundational exploration to industry mastery.

Learning Domains

  • Python Programming (Active)
  • Computer Science Core
  • Web Development
  • AI & Machine Learning

Platform Architecture

  • Level-Based Progression
  • Decoupled Content Schema
  • Modular Code Execution Engine
  • Curated Official Resources

© 2026 First Move (11~18) • CODE • LEARN • BUILD. Built with Next.js App Router.

Readability & Accessibility First

🐍 Python Programming Mastery/Project 1 of 10
Saved Locally (Guest)
BEGINNER PROJECTNOT STARTED ○

Python CLI Student Management System

Build an interactive console application to create, query, update, and persist student academic records.

0%
0 of 5 milestones complete

Project Description

Build a production-grade Command-Line Interface (CLI) application in Python that manages student profiles, course grades, GPA calculations, and JSON file storage. You will apply core data structures, input validation, and defensive programming.

Learning Objectives

  • Design structured nested dictionary representations for complex entity records.
  • Implement CRUD (Create, Read, Update, Delete) data operations over interactive CLI inputs.
  • Safely handle invalid user inputs with try/except exception catching.
  • Persist application state cleanly using Python standard library json file serialization.

Technical Requirements & Specifications

### Project Overview The **Student Management System** is a foundational CLI application designed to consolidate your mastery of Python Level 0 & 1 concepts. ### System Architecture & Requirements 1. **Student Data Model**: - Each student is identified by a unique ID (e.g. `"STU1001"`). - Attributes: `name` (str), `age` (int), `email` (str), `courses` (list of str), `grades` (list of float). 2. **Core Features**: - **Add Student**: Prompts for details, validates numeric grades, and computes initial GPA. - **Search Student**: Query by Student ID or partial Name search. - **Update Record**: Add new course grades or update email address. - **Delete Student**: Safely remove student profile after user confirmation. - **Export Report**: Print formatted ASCII summary table of all enrolled students sorted by GPA. 3. **Data Persistence**: - Automatically save all mutations to `students.json` upon program exit.

Project Metadata

Estimated Time⏱️ ~4 Hours
Difficulty📊 beginner
Milestone Count📋 5 Milestones

Skills Demonstrated

Python Dictionaries & ListsCLI Menu Loop Control FlowJSON File Read/Write OperationsInput Sanitization & ValidationError & Exception Handling

Prerequisites

  • Variables & Fundamental Data Types
  • Control Flow & Conditional Logic
  • Loops & Iteration
  • Functions & Scope