Skip to content

JoshuaTorres55/Advising-Assistance-Program

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

Advising-Assistance-Program

A command-line C++ tool for ABCU Computer Science advisors to load and query course data, and generate both alphanumeric and prerequisite-order (topological) course lists.


Portfolio Contents


Reflection

  1. What was the problem you were solving in the projects for this course?
    I built an advising tool to help ABCU advisors quickly load a CSV of course data, look up individual course details, and produce both an alphanumeric listing and a prerequisite-correct course schedule.

  2. How did you approach the problem?
    I chose a balanced BST (std::map) for O(log n) lookups and O(n) in-order traversal, and I implemented Kahn’s algorithm for the bonus topological sort to enforce prerequisite order and detect cycles.

  3. How did you overcome any roadblocks you encountered?
    When CSV parsing led to blank or missing tokens, I added input validation and debug logging to skip empty fields and verify each prerequisite exists before building the dependency graph.

  4. How has your work on this project expanded your approach to designing software and developing programs?
    I adopted a modular structure—splitting functionality into data loading, listing, lookup, and sorting—so each part can be tested and extended independently, whether the feature is simple or complex.

  5. How has your work on this project evolved the way you write maintainable, readable, and adaptable code?
    I now emphasize clear variable/function names, thorough inline comments, and a single-file organization with well-defined sections. This makes the code self-documenting and easy to update.


Author: Joshua Torres
Date: June 2025

About

A course planning program for ABCU Computer Science department

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages