RPICourseRecommender -- A course recommender python script for RPI students
Developers:
- Bogong Yang
- Yutao Sun
Inspiration
When we were deciding what courses to take for the next semesters, it was a slow and painful process. So we wanted to build something that gives us some suggestions for course selection
How we built it
Dependencies:
- Python 3.6+
- urllib.request
- bs4 (BeautifulSoup)
Test run:
- For the hackathon submission zip file, just run RPICourseRecommender/init.py
Usage:
This is for HackRPI 2019 (it's a hackathon). Did not have much time for arranging and refactoring, so....
- Open RPICourseRecommender/init.py
- Change the variable fetch to True for first time running
- Run crawler/profs.py manually for first time running (It should create some txt file)
- Change the rest variables to your preferences
- Create a txt file under /algo/doc named courses_taken.txt, it should include all classes the user has taken (One course per line, in form of 'XXXX-XXXX')
- Run RPICourseRecommender/init.py
Challenges we ran into
- Scraping from RPI website was hard. Used a ton of time to find where the information was located
- The project structure is a huge mess...
Accomplishments that we are proud of
- Well at least it works, kind of
What we learned
- How to scrape data from websites
- How to use txt file as database XD
What's next for RPICourseRecommender
- Add templates for other majors than CSCI
- Use database instead of txt file. Reading from txt is sooooo slow
- Refactor code
Notes:
- This thing currently only works for the major CSCI. For other majors, add the templates in /algo/doc, and modify the scripts accordingly (hmmmm)
- If you modifies this script and use it for a larger set of data, REMEMBER TO PAUSE EACH REQUEST FOR AT LEAST ONE SECOND SO THAT YOU DO NOT DDOS STUFF
Log in or sign up for Devpost to join the conversation.