A desktop app for teaching assistants to manage class rosters, track and grade assignments, and export results. Built with Python and Tkinter, backed by SQLite.
- Course & roster management: Create multiple courses and import student rosters from text files.
- Grading: Add, update, and remove scores, with optional comments and automatic grade calculation.
- Results: Search and sort tables, visualize score distributions, and export results to CSV or Excel.
- Course finalization: Combine assessment tables into a single grade sheet.
- Customization: Switch between multiple color themes.
![]() Enter a course name. |
![]() Select a roster file to import students. |
Python 3.9+ is required. Python dependencies are listed in requirements.txt.
git clone https://github.com/AmirmasoudCS/TA-application.git
cd TA-application
pip install -r requirements.txtpython main.pyOn first launch, enter a course name and select a roster file to import students.
Roster files are stored in data/rosters/ as plain .txt files, with one student per line:
Firstname Lastname StudentID
📁
├── 📁 assets
│ └── 📁 screenshots
├── 📁 data
│ └── 📁 rosters
├── 📁 db
│ ├── 🐍 __init__.py
│ ├── 🐍 assessment_repository.py
│ ├── 🐍 connection.py
│ ├── 🐍 course_repository.py
│ ├── 🐍 database.py
│ ├── 🐍 models.py
│ └── 🐍 student_repository.py
├── 📁 logs
├── 📁 services
│ ├── 🐍 __init__.py
│ ├── 🐍 export_service.py
│ ├── 🐍 roster_import_service.py
│ └── 🐍 stats_service.py
├── 📁 settings
│ └── 📝 theme_config.txt
├── 📁 ui
│ ├── 📁 widgets
│ │ ├── 🐍 __init__.py
│ │ ├── 🐍 popup.py
│ │ └── 🐍 table_view.py
│ ├── 📁 windows
│ │ ├── 🐍 __init__.py
│ │ ├── 🐍 comment_window.py
│ │ ├── 🐍 course_setup_window.py
│ │ ├── 🐍 histogram_window.py
│ │ ├── 🐍 settings_window.py
│ │ └── 🐍 update_window.py
│ ├── 🐍 __init__.py
│ ├── 🐍 main_window.py
│ └── 🐍 theme.py
├── 🐍 config.py
├── ⚖️ LICENSE
├── 🐍 logging_setup.py
├── 🐍 main.py
├── 📘 README.md
└── 📝 requirements.txt
Generated using Tree Printer.
| Technology | Purpose |
|---|---|
| Python / Tkinter | Desktop UI |
| SQLite | Data persistence |
| openpyxl | Excel export |
| matplotlib | Score histograms |
See LICENSE.






