Skip to main content

A package for Saint Martin's University Mechanical Engineering students to create a custom flowchart for their academic plan.

Project description

SMUME: Saint Martin's University Mechanical Engineering Curriculum Planner

SMUME is a Python-based tool for visualizing and managing Mechanical Engineering degree plans at Saint Martin’s University. It supports students, advisors, and faculty by offering a flexible and programmable way to define curricula, create student-specific academic plans, and generate dependency-aware flowcharts.


🔧 Features

For Students & Advisors

  • Student Plans: Generate a personalized academic plan from a catalog year and start term (e.g., Fall 2024).
  • Prerequisite Checking: Automatically detect and highlight missing or improperly sequenced prerequisites, corequisites, and concurrent prerequisites.
  • Flowchart Generation: Render academic plans as dependency graphs with color-coded course categories, term clustering, and visual indicators for completion and violations.

For Faculty

  • Curriculum Definition: Easily define new curriculum structures using Python—no GUI builder required.
  • Generic Plans: Assign default term-by-term layouts for catalog years.
  • Extensibility: Add metadata like full course names, notes, and categories (Core, Math/Science, GE, ME, Other).

📁 Project Structure

  • smume/curricula/ – Defines catalog year curricula (e.g. _2024_25.py)
  • smume/generic_plans/ – Maps courses to default terms
  • smume/student_plan.py – Logic for student-specific academic planning
  • smume/graph_builder.py – Graphviz-based flowchart generation

📌 Notes

  • Term formats are flexible: both Fall and F, and 2025 or 25 are valid.
  • Curriculum and plan objects are fully programmable—ideal for integration into other workflows or GUIs.
  • Graphs highlight completed courses (gray, checkmarks), unmet dependencies (red), and visually group courses by academic term.

📚 Example


👥 Who It's For

  • Students: Visualize and adjust your academic plan semester by semester.
  • Advisors: Confirm course sequencing and verify prerequisite compliance.
  • Faculty: Define and revise curriculum plans in code with minimal friction.

🛠️ Future Work

  • Web frontend
  • Support for electives and transfer credit
  • Improved drag-and-drop UI for plan adjustment

🚀 Quick Start

Install the package with pip:

pip install smume

For development:

git clone https://github.com/YOUR_USERNAME/smu-curriculum-flowcharts.git
cd smu-curriculum-flowcharts
poetry install

Usage examples:

# Clone and install
poetry install

# Example: generate a graph for the 2024–25 curriculum
poetry run python scripts/generate_generic_graph.py 2024-25

# Example: create and render a student plan
poetry run python scripts/generate_student_graph.py 2024-25 --start-year 2024 --start-term Fall

MIT Licensed · Developed by Dr. Rico Picone and collaborators

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smume-0.1.4.tar.gz (97.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smume-0.1.4-py3-none-any.whl (108.9 kB view details)

Uploaded Python 3

File details

Details for the file smume-0.1.4.tar.gz.

File metadata

  • Download URL: smume-0.1.4.tar.gz
  • Upload date:
  • Size: 97.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.1 CPython/3.12.9 Darwin/24.5.0

File hashes

Hashes for smume-0.1.4.tar.gz
Algorithm Hash digest
SHA256 e8cf3fc9eea05c5f8bcc6ef542cd20072f27d9d0711ae13966e4eaf79edf6948
MD5 60f873c395eb6b2405975f69c5e6ae56
BLAKE2b-256 b4d2ebc69977bf29419b44489929bedaf09d6cb9ddda0dae8b47d4da963f8d37

See more details on using hashes here.

File details

Details for the file smume-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: smume-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 108.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.1 CPython/3.12.9 Darwin/24.5.0

File hashes

Hashes for smume-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8bdd1f8d9e93b7a7c2a5aed90c37ef8165cf2c0a68eb9d1a0eb2018b7559f87b
MD5 056a278f473a0e0770eb9fa58ed194f0
BLAKE2b-256 5f95658db60a8b8a8c133d7bb05a7042a3f246406e0d0f31594d03c397d2f3a5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page