CourseCombinations.js
CourseCombinations.js

This is the JavaScript logic to create our possible courses. Instead of brute-force creating ALL possible course combinations and then filtering out those that happened to fulfill the requirements, I went the opposite direction. We get an array of all offered courses and the courses we've taken, separate them into "Requirements Bins", create all combinations of each of those Requirements Groups, then mash those together into course paths. From there we filter out those that do not work, and return those that do.

An important note is that this code is NOT very flexible to shifting CS Graduate Requirements, I noted the functions "REQUIREMENTS HARDCODED" where this especially applies. Also note that the Get_Courses_Offered and Get_Courses_Taken functions are not defined, as I'm not sure what approach we're using yet. If you have any questions, let me know.
tjaartvdwalt/graduate-advisor,tjaartvdwalt/graduate-advisor