GithubHelp home page GithubHelp logo

patrickleweryharris / major-finder Goto Github PK

View Code? Open in Web Editor NEW
6.0 3.0 2.0 391 KB

A tool for finding your major at UofT

License: MIT License

JavaScript 95.54% HTML 3.89% Python 0.57%
web-app uoft toronto

major-finder's Introduction

major-finder

License standard-readme compliant

A tool for finding your major at UofT

Takes your first year courses and tells you what Specialist, Major or Minor program(s) you are eligible for

Branches

Table of Contents

Background

UofT offers no easy tool to see what subject programs a student can study given their first year courses. Major finder was created to fill this gap

Usage

Major finder for the UofT St. George campus is currently released here. Major finder for UTSC and UTM is no longer supported.

API

Should you wish to develop major finder for another campus/school, all you need do is create a json file for that school, then add this code into the find_majors() function in major-finder.js:

if (campusSelection == 'yourCampus'){
  jsonStr = 'yourJSONURL';
}

A corresponding selector must be added to the accompanying html file:

<input type="radio" name="group1" id="r1" value="yourCampus">
        <label for="item1">Your Campus Name</label>

JSON Format

JSON files that utilize the application should be in the following format:

{
  "postName":"Computer Science Major / Specialist / Minor",
  "calLink":"http://calendar.artsci.utoronto.ca/crs_csc.htm#ASSPE1689",
  "type": "2L",
  "requirements":[
    "CSC148",
    "CSC165",
    "MAT135",
    "MAT136"
  ]
}

Notes

To Do

  • Second year program entry
  • Type 2L program grade requirements
  • Eventual updating to 2017 - 2018 calendar will be required

Programs Not Included:

The following programs are not included due to having non-standard curricula:

  • Geoscience Major/Minor (40 different combinations)
  • Earth and Environmental Systems Major (35 different combinations)
  • Physical and Environmental Geography Specialist/Major/Minor
  • Geology Specialist
  • Physical & Environmental Geography Major
  • Renaissance Studies Specialist / Major / Minor (pick from a list of courses)

Contribute

PRs accepted.

Small note: If editing the Readme, please conform to the standard-readme specification.

License

MIT © Patrick Harris

major-finder's People

Contributors

jpinkney avatar patrickleweryharris avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

jpinkney

major-finder's Issues

Verify course code on input [Enhancement]

User request from reddit: verify course code on input i.e. if they type in CSC10841 then give them a warning letting them no that no course is found with that code.

Problematic Programs

The following programs don't work with the JSON file due to complicated requirements:

  • Any program without specific first year requirements
  • Geoscience Major/Minor
  • Earth and Environmental Systems Major
  • Ethics, Society and Law Major (Based on breadth reqs.)
  • International Relations Specialist (Only some variants of the reqs.)
  • Forest Conservation Science Specialist/Major/Minor
  • Forest Conservation Specialist/Major/Minor
  • Environmental Geography Specialist/Major ("Pick any two courses")
  • Human Geography Specialist/Major/Minor ("Pick any two courses")
  • Physical and Environmental Geography Specialist/Major/Minor
  • Geographic Information Systems Minor
  • Urban Studies Specialist/Major/Minor (Pick selections of different courses)
  • Near and Middle Eastern Civilizations Specialist/Major/Minor (Many many different combos)
  • Peace, Conflict and Justice Specialist/Major (Type 3 with many many requirements)
  • Physiology Major/Minor ("Pick any of the following")

Programs that need to be added to the JSON file

  • Sociology Specialist/Major/Minor
  • South Asian Studies Minor
  • Spanish Specialist/Major/Minor
  • Statistics Specialist/Major/Minor
  • Applied Statistics Specialist
  • Women and Gender Studies Specialist/Major/Minor

Tag won't turn red if its longer then 6 characters

Currently, the tag won't turn red when the length of the tag is strictly greater than 6 i.e. When you enter in CSC100H (Which isn't a valid class) the tag won't turn red. However when you type in less then or equal to 6 characters e.g. CSC100 it will turn red.

I'm going to look into this I was just wanted to make sure the bug was reported.

screen shot 2016-05-24 at 4 25 38 pm

To Do List

  • UTM/ UTSC version
  • Filtering (i.e. if a user did not take any math courses there is no point searching through programs that require math)

From issue on main plh.io repo:
Some sort of validation would be nice. The finder silently fails when a wrongly formatted input is entered, or if the course doesn't exist.

Maybe dynamically adding one-liner text forms as the user enter more courses instead of one large text box would look nicer.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.