Project Title:
CSPB Pathway Generator
Team Members:
- Emily Carpenter: elcarpenter
- Guanbo Bian: gbian2
- Ryan Young: RyanColoradoCS
Installing flask and creating a virtual environment:
clone repository to your machine
$ cd to repository
$ python3 -m venv venv
This creates the virtual environment Install flask You can install all packages withe the requirements.txt file
End Result:
The program takes in a number of user inputs to determine which classes the students of our program need to take and when they need to take them. There are constraints to the input, such as: there's no class that takes less than 5 hours of work per week and some classes can require up to 20 hours of work per week. If someone says they only have 10 hours throughout the entire program, it's not going to go very well.
Another issue we have is that, though we originally intended this to be a full pathway generator, we simply don't have the information necessary to do that in most cases. The elective offering has recently changed and there is a new rotation schedule in place. It's unfortunately not clear to students what exactly will be offered after Spring 2024 and we've been told these offerings could change. Therefore, we decided to limit the program to only produce schedules for semesters we know the offerings for.
Original Plans:
Vision Statement:
- Help students be able to take all of the classes they want given their current progress and graduation plan;
- Help students get class information and class difficulty level;
- Help students get a balanced schedule
Motivation:
- Prospective/current students need class information to make a plan for finishing the program. They should have access to information that allowes them to take the courses they need, the electives that align with their interests, and those that are balanced against their work schedule.
Risks:
- Small group with limited experience in development
- We are all in different time zones with 7-hour differences
- Limited data on difficulty/time per week for each class may lead to it not being accurate
- To get final class schedule from program
- We might give bad advice
Mitigation Strategy:
- We can reach out to our advisor about future class availability
- We will do all of our class readings and watch all of our lectures, so that we all develop foundational knowledge in all the areas in which we will need to work
- We can do surveys and collect information from current students on social media (reddit, discord, etc.)
- Will communicate with program advisor on final class schedule plan (which classes will be open in Spring semester, Fall semester … )
Development Method:
-
Agile method.
-
We will use Python flask and HTML.
-
We plan to meet every two weeks at the beginning and once per week in the last few weeks. In each meeting, we will summarize what we finish, in terms of data collection, graph interface design.
Project Tracking Software:
- GitHub Project
- Trello
Github repo: https://github.com/elcarpenter/CSPB-Pathways