Surriculum is an interactive graduation planner for Sabanci University undergraduate programs. The entire application runs in the browser using plain HTML, CSS and JavaScript. It lets you build a semester-by-semester plan, track program requirements and check whether you are on course to graduate.
A live instance is available at beficent.github.io/surriculum.
Clone this repository or download the source and open index.html in a modern web browser. No build step or server is required.
The interface allows you to:
- Select your major and an optional double major
- Add semesters and drag courses from the catalog
- Import your Academic Records Summary (HTML or PDF) to prefill taken courses. Or alternatively import your YÖK Transcript PDF file.
- Add custom courses manually
- Check graduation status and view a summary of remaining requirements for each major
- Toggle between light and dark themes or follow your system preference
- Collapse the sidebar to maximize planning space
- On touch devices, swipe from the left edge to open the sidebar
- Insert new semesters and courses using "+ New Semester" and "+ Add course" ghosts
- Show additional course details using the "Show Course Details" toggle
- Hide courses you've already added from the "Add course" dropdown list using the "Hide Taken Courses" toggle
Always verify graduation requirements yourself. For issues or suggestions, contact [email protected], or start a discussion/issue on the repository.
Course catalogs for each program are stored as JSON files under courses/. To refresh them or add new programs:
- Edit
fetch_courses.pyif the university site changes and runpython fetch_courses.pyto regenerate the JSON files. The scraper now downloads data for every term starting from Fall 2019 and stores them undercourses/<TERM>/. Aterms.jsonfile indicates which majors are available for each term. - Use
update_credits.pywhen Basic Science and Engineering credit values need to be extracted from official CSV/HTML sources. - Run
python fetch_requirements.pyto scrape updated graduation rules into the JSON files underrequirements/. Update matching messages inmain.jsif necessary.
When using the planner, select your major and specify the entry term for both your main major and optional double major. Course lists and graduation requirements adjust automatically based on the selected terms.
After updating data, manually test with various course combinations to ensure the graduation checker behaves correctly.
This repository started as a fork of the original Surriculum project (https://github.com/melih-kiziltoprak/surriculum) and is maintained by BEFICENT (Bilal M. G.). Major additions include double major support, Data Science and Analytics and several FASS programs, UI overhaul, updated course lists and improved requirement checks.
This project is licensed under the GNU General Public License v3.0 (GPL-3.0).
See the LICENSE file for more information.