SwapnilShahGit / SIP

This is a project that was created by the PEY Interns of the 2016-2017 year at SOTI. We created an organizational tool for students using the MEAN stack.
3 stars 0 forks source link

parse #294

Closed SwapnilShahGit closed 7 years ago

SwapnilShahGit commented 7 years ago

this call should: check to see if hash already exists in the DB call the java file that outputs a JSON call the logic that will take the events from the JSON file and create event objects into the DB assign the events to the user that uploaded the document

Schema.docx

SwapnilShahGit commented 7 years ago
  1. Take everything outputted from the syllabus and cobalt
  2. In the Node, filter stuff out and only return back the events
SwapnilShahGit commented 7 years ago

take in a parameter as well, that is the location of the file (maybe on aws server)

SwapnilShahGit commented 7 years ago

get the syllabi table setup. it should have three columns, a hash, output of the parser, and a list that includes all the eventid's related to that course.

SwapnilShahGit commented 7 years ago

we will treat different lecture and tutorial sections as different courses.

SwapnilShahGit commented 7 years ago

have parse return the options, and then ask which lecture and tutorial section the user is in. Then save accordingly after that.

SwapnilShahGit commented 7 years ago
Course Sections Hash* ref Raw Content
IRE346H1F20159 This will contain a dictionary with the different sections of the course. Section examples can be "L1T1, L1T2, L3T1, etc. These different sections of the course have pointers to Event Id's of events that were created specifically for this course. Please refer to Example 1. Please refer to Example 2 1 Please refer to Example 3
CSC207H5F20169 . . 1 .
PHL245H5S20171 . . 1 .
. . . 1 .

Example 1:

{
  "L1T1": [
            1,
            2,
            6,
            10
          ],
  "L1T2": [
            1,
            2,
            6,
            11
          ],
  "L3T1": [
            3,
            4,
            5,
            10
          ]
}

Example 2:

FEBF0F1E1C01F22A6337ACD84E026A96B7D2F617

Example 3:

{
    "code": "MAT102H5F",
    "graded_evaluations": [
        [
            2016 -10 -20T20: 0 0: 0 0.000 -0 4: 0 0,
            "Term Test 2016-10-20 20%"
        ],
        [
            "Final Exam TBA 40%"
        ]
    ],
    "level": "100",
    "university": "UTM",
    "campus": "UTM",
    "description": "Understanding, using and developing precise expressions of mathematical ideas, including definitions and theorems. Set theory, logical statements and proofs, induction, topics chosen from combinatorics, elementary number theory, Euclidean geometry. [36L, 12T]",
    "exclusions": "MAT138H1,246H1,CSC165H1",
    "meeting_sections": "[{\"enrolment\":0,\"times\":[{\"duration\":3600,\"start\":39600,\"end\":43200,\"location\":\"DV 2080\",\"day\":\"THURSDAY\"},{\"duration\":3600,\"start\":36000,\"end\":39600,\"location\":\"DV 2080\",\"day\":\"TUESDAY\"},{\"duration\":3600,\"start\":36000,\"end\":39600,\"location\":\"DV 2080\",\"day\":\"FRIDAY\"}],\"code\":\"L0101\",\"size\":135,\"instructors\":[\"T Holden\"]},{\"enrolment\":0,\"times\":[{\"duration\":3600,\"start\":43200,\"end\":46800,\"location\":\"IB 150\",\"day\":\"TUESDAY\"},{\"duration\":7200,\"start\":46800,\"end\":54000,\"location\":\"IB 150\",\"day\":\"FRIDAY\"}],\"code\":\"L0102\",\"size\":130,\"instructors\":[\"M Tvalavadze\"]},{\"enrolment\":0,\"times\":[{\"duration\":7200,\"start\":54000,\"end\":61200,\"location\":\"IB 110\",\"day\":\"TUESDAY\"},{\"duration\":3600,\"start\":39600,\"end\":43200,\"location\":\"IB 245\",\"day\":\"THURSDAY\"}],\"code\":\"L0103\",\"size\":135,\"instructors\":[\"A Mousavidehshikh\"]},{\"enrolment\":0,\"times\":[{\"duration\":3600,\"start\":46800,\"end\":50400,\"location\":\"DV 2082\",\"day\":\"TUESDAY\"},{\"duration\":7200,\"start\":46800,\"end\":54000,\"location\":\"DV 2082\",\"day\":\"THURSDAY\"}],\"code\":\"L0104\",\"size\":135,\"instructors\":[]},{\"enrolment\":0,\"times\":[{\"duration\":3600,\"start\":43200,\"end\":46800,\"location\":\"IB 120\",\"day\":\"WEDNESDAY\"},{\"duration\":7200,\"start\":39600,\"end\":46800,\"location\":\"IB 245\",\"day\":\"FRIDAY\"}],\"code\":\"L0105\",\"size\":135,\"instructors\":[]},{\"enrolment\":0,\"times\":[{\"duration\":3600,\"start\":64800,\"end\":68400,\"location\":\"DV 1148\",\"day\":\"WEDNESDAY\"}],\"code\":\"T0116\",\"size\":40,\"instructors\":[]},{\"enrolment\":0,\"times\":[{\"duration\":3600,\"start\":64800,\"end\":68400,\"location\":\"DH 4001\",\"day\":\"WEDNESDAY\"}],\"code\":\"T0117\",\"size\":40,\"instructors\":[]},{\"enrolment\":0,\"times\":[{\"duration\":3600,\"start\":32400,\"end\":36000,\"location\":\"IB 385\",\"day\":\"THURSDAY\"}],\"code\":\"T0118\",\"size\":40,\"instructors\":[]},{\"enrolment\":0,\"times\":[{\"duration\":3600,\"start\":36000,\"end\":39600,\"location\":\"IB 240\",\"day\":\"THURSDAY\"}],\"code\":\"T0119\",\"size\":40,\"instructors\":[]},{\"enrolment\":0,\"times\":[{\"duration\":3600,\"start\":57600,\"end\":61200,\"location\":\"\",\"day\":\"THURSDAY\"}],\"code\":\"P0101\",\"size\":999,\"instructors\":[]},{\"enrolment\":0,\"times\":[{\"duration\":3600,\"start\":32400,\"end\":36000,\"location\":\"IB 385\",\"day\":\"TUESDAY\"}],\"code\":\"T0101\",\"size\":40,\"instructors\":[]},{\"enrolment\":0,\"times\":[{\"duration\":3600,\"start\":39600,\"end\":43200,\"location\":\"CC 1080\",\"day\":\"TUESDAY\"}],\"code\":\"T0102\",\"size\":40,\"instructors\":[]},{\"enrolment\":0,\"times\":[{\"duration\":3600,\"start\":61200,\"end\":64800,\"location\":\"DV 1148\",\"day\":\"TUESDAY\"}],\"code\":\"T0103\",\"size\":40,\"instructors\":[]},{\"enrolment\":0,\"times\":[{\"duration\":3600,\"start\":61200,\"end\":64800,\"location\":\"IB 240\",\"day\":\"TUESDAY\"}],\"code\":\"T0104\",\"size\":40,\"instructors\":[]},{\"enrolment\":0,\"times\":[{\"duration\":3600,\"start\":64800,\"end\":68400,\"location\":\"DV 1148\",\"day\":\"TUESDAY\"}],\"code\":\"T0105\",\"size\":40,\"instructors\":[]},{\"enrolment\":0,\"times\":[{\"duration\":3600,\"start\":64800,\"end\":68400,\"location\":\"IB 240\",\"day\":\"TUESDAY\"}],\"code\":\"T0106\",\"size\":40,\"instructors\":[]},{\"enrolment\":0,\"times\":[{\"duration\":3600,\"start\":36000,\"end\":39600,\"location\":\"IB 220\",\"day\":\"WEDNESDAY\"}],\"code\":\"T0107\",\"size\":40,\"instructors\":[]},{\"enrolment\":0,\"times\":[{\"duration\":3600,\"start\":32400,\"end\":36000,\"location\":\"IB 200\",\"day\":\"WEDNESDAY\"}],\"code\":\"T0108\",\"size\":40,\"instructors\":[]},{\"enrolment\":0,\"times\":[{\"duration\":3600,\"start\":43200,\"end\":46800,\"location\":\"IB 385\",\"day\":\"THURSDAY\"}],\"code\":\"T0109\",\"size\":40,\"instructors\":[]},{\"enrolment\":0,\"times\":[{\"duration\":3600,\"start\":50400,\"end\":54000,\"location\":\"DV 2072\",\"day\":\"WEDNESDAY\"}],\"code\":\"T0110\",\"size\":40,\"instructors\":[]},{\"enrolment\":0,\"times\":[{\"duration\":3600,\"start\":32400,\"end\":36000,\"location\":\"DV 3131\",\"day\":\"WEDNESDAY\"}],\"code\":\"T0111\",\"size\":40,\"instructors\":[]},{\"enrolment\":0,\"times\":[{\"duration\":3600,\"start\":57600,\"end\":61200,\"location\":\"IB 280\",\"day\":\"WEDNESDAY\"}],\"code\":\"T0112\",\"size\":40,\"instructors\":[]},{\"enrolment\":0,\"times\":[{\"duration\":3600,\"start\":57600,\"end\":61200,\"location\":\"DH 3000\",\"day\":\"WEDNESDAY\"}],\"code\":\"T0113\",\"size\":40,\"instructors\":[]},{\"enrolment\":0,\"times\":[{\"duration\":3600,\"start\":61200,\"end\":64800,\"location\":\"IB 390\",\"day\":\"WEDNESDAY\"}],\"code\":\"T0114\",\"size\":40,\"instructors\":[]},{\"enrolment\":0,\"times\":[{\"duration\":3600,\"start\":61200,\"end\":64800,\"location\":\"IB 240\",\"day\":\"WEDNESDAY\"}],\"code\":\"T0115\",\"size\":40,\"instructors\":[]}]",
    "division": "University of Toronto Mississauga",
    "prerequisites": "Minimum 70% in Grade 12 Advanced Functions (MHF4U)",
    "name": "Introduction to Mathematical Proofs",
    "rawtext": "DEPARTMENT OF MATHEMATICAL AND COMPUTATIONAL SCIENCES\r\nUNIVERSITY OF TORONTO MISSISSAUGA\r\nMAT102H5F LEC0101\r\nIntroduction to Mathematical Proofs\r\nCourse Outline - Fall 2016\r\nClass Location & Time Tue, 10:00 AM - 11:00 AM DV 2080 \r\nThu, 11:00 AM - 12:00 PM DV 2080 \r\nFri, 10:00 AM - 11:00 AM DV 2080\r\nInstructor Marina Tvalavadze\r\nOffice Location DH 3046\r\nOffice Hours Tue, 1:00 PM - 3:00 PM; Th, 12:00 PM-1:00 PM\r\nE-mail Address marina.tvalavadze@utoronto.ca\r\nCourse Web Site On BlackBoard\r\n \r\nCo-Instructor Tyler Holden\r\nOffice Location DH-3023\r\nOffice Hours Fr, 11:00 AM -1:00 PM\r\nE-mail Address tholden@math.toronto.edu\r\n \r\nCo-Instructor Ali Mousavidehshikh\r\nOffice Location DH-3098\r\nOffice Hours Mon, 3:00 PM-5:00 PM; Wed, 4:00 PM-5:00 PM\r\nE-mail Address ali.mousavidehshikh@mail.utoronto.ca\r\n \r\nTeaching Assistant James Belanger\r\nOffice Hours TBA\r\nE-mail Address james.belanger@mail.utoronto.ca\r\n \r\nTeaching Assistant Candy Chou\r\nOffice Hours TBA\r\nE-mail Address candy.chou@mail.utoronto.ca\r\n \r\nTeaching Assistant Arash Gholami\r\nOffice Hours TBA\r\nE-mail Address arash.gholami@mail.utotonto.ca\r\n \r\nTeaching Assistant Thaddeus Janisse\r\nOffice Hours TBA\r\nE-mail Address thad.janisse@mail.utoronto.ca\r\n \r\nTeaching Assistant Kaiwen Jiang\r\nOffice Hours TBA\r\nE-mail Address kaiwen.jiang@mail.utoronto.ca\r\n \r\nTeaching Assistant Huu Uyen Phuong Le\r\nOffice Hours TBA\r\nE-mail Address phuong.le@mail.utoronto.ca\r\n \r\nTeaching Assistant Reien Meissner\r\nOffice Hours TBA\r\nE-mail Address reien.meissner@mail.utoronto.ca\r\n \r\nTeaching Assistant Andrew Ross\r\nOffice Hours TBA\r\nE-mail Address a.ross@mail.utoronto.ca\r\nCourse Description\r\nMAT102H5F - Tvalavadze, Marina Page 1 of 4\r\nType Description Due Date Weight\r\nAssignment Best 4 (out of 5) hand-in assignments. On-going 10%\r\nQuiz Best 3 (out of 4) in-class quizzes. On-going 30%\r\nTerm Test 2016-10-20 20%\r\nFinal Exam TBA 40%\r\n  Total 100%\r\nUnderstanding, using and developing precise expressions of mathematical ideas, including definitions and theorems. Set theory,\r\nlogical statements and proofs, induction, topics chosen from combinatorics, elementary number theory, Euclidean geometry. [36L,\r\n12T]\r\nPrerequisite: Minimum 70% in Grade 12 Advanced Functions (MHF4U)\r\nExclusion: MAT138H1,246H1,CSC165H1\r\nRecommended: Minimum 70% in Grade 12 Calculus and Vectors (MCV4U) (SCI) \r\nDistribution Requirement: SCI \r\nStudents who lack a pre\/co-requisite can be removed at any time unless received explicit waiver from department.\r\nTextbooks and Other Materials\r\nRegarding the textbook you have the following two options available:\r\nOption 1: If you are planning on taking  both MAT 102 and MAT 202, then you need to buy the full text: \r\nMathematical Thinking: Problem-Solving and Proofs, 2nd Edition by D'Angelo and West\r\nOption 2: If you are NOT planning to take MAT202, then buy the custom edition of the above mentioned textbook. It is available in\r\nsoft cover at the UTM bookstore. The custom edition will contain only chapters covered in MAT102 course.  \r\n \r\nNOTE: Calculators are not needed for this course, and will not be allowed during quizzes, tests and exams.\r\n \r\n \r\nAssessment and Deadlines\r\nMore Details for Assessment and Deadlines\r\nProblem Sets\r\nProblem sets will be posted on the course website every week, and will cover the recent material discussed in lectures. You are\r\nexpected to work on the questions assigned, and if you cannot solve a problem, you should ask your TA and\/or the instructor for\r\nhelp. You will submit Problem Sets B,D,F,G and I to your TA for grading. The other problem sets will NOT be submitted for\r\ngrading, but you will be tested on the material they cover on a quiz, test or exam (see the course schedule below).\r\nYou are encouraged to work with your fellow students while working on questions from the problem sets. However, the writing of\r\nyour assignment must be done without any assistance whatsoever.\r\nYour problem set mark will be determined by taking the average of the best four problem sets.\r\nNote: If a problem set is to be submitted for grading, submit  one copy of your work to your TA at the beginning of the tutorial\r\non the week it is due, and in the tutorial you are registered in.\r\n \r\nQuizzes and Term Test\r\nThere will be four quizzes and one term test. See the course schedule below for dates, times, location and material for each\r\nquiz\/term test. More details about the term test and the quizzes will be given later. You must bring your student card to the term\r\ntest and to each quiz.\r\nYour quizzes mark will be determined by taking the average of the best three quizzes.\r\nNote: There are no makeup quizzes! If you miss one quiz due to illness, you do not need to submit a medical note, since only the\r\nbest three quizzes will count. If you miss more than one quiz, you will have to provide proper documentation to the course\r\ncoordinator (Marina Tvalavadze) and your marking scheme will be adjusted.\r\nMAT102H5F - Tvalavadze, Marina Page 2 of 4\r\n \r\nPenalties for Lateness\r\nMissing a Problem Set\r\nLate Problem Sets will not be accepted for marking.\r\n \r\nProcedures and Rules\r\nMissed Term Work\r\nMissing a Quiz\r\nThere are no makeup quizzes! If you miss one quiz due to illness, you do not need to submit a medical note, since only the best\r\nthree quizzes will count.\r\nIf you miss more than one quiz, you will have to provide proper documentation to the course coordinator (Marina Tvalavadze) and\r\nyour marking scheme will be adjusted.\r\n \r\n \r\n \r\nMissing the Term Test\r\nIf you cannot show up for the test because of illness or any other special reason, you should declare your absence on ROSI and\r\nsubmit your documentation to the course coordinator (Marina Tvalavadze) no later than one week after the day of the test (for\r\nmedical notes, you must use the Offi \u200Bcial Verification of Student Illness or Injury form, which can be downloaded from the\r\ncourse website).\r\nThere will be no make-up tests. The course coordinator will adjust the marking scheme properly for students who have missed the\r\ntest because of illness or any other (approved) legitimate reason.\r\n \r\nMissed Final Exam\r\nStudents who cannot write a final examination due to illness or other serious causes must file an online petition within 72 hours of\r\nthe missed examination. Original supporting documentation must also be submitted to the Office of the Registrar within 72 hours\r\nof the missed exam. Late petitions will NOT be considered. If illness is cited as the reason for a deferred exam request, a U of T\r\nVerification of Student Illness or Injury Form must show that you were examined and diagnosed at the time of illness and on the\r\ndate of the exam, or by the day after at the latest. Students must also record their absence on ACORN on the day of the missed\r\nexam or by the day after at the latest. Upon approval of a deferred exam request, a non-refundable fee of $70 is required for each\r\nexamination approved.\r\nAcademic Integrity\r\nHonesty and fairness are fundamental to the University of Toronto\u2019s mission. Plagiarism is a form of academic fraud and is treated\r\nvery seriously. The work that you submit must be your own and cannot contain anyone elses work or ideas without proper\r\nattribution. You are expected to read the handout How not to plagiarize (http:\/\/www.writing.utoronto.ca\/advice\/using-sources\/how-\r\nnot-to-plagiarize) and to be familiar with the Code of behaviour on academic matters, which is linked from the UTM calendar under\r\nthe link Codes and policies.\r\nFinal Exam Information\r\nDuration: 2 hours\r\nAids Permitted: None\r\nAdditional Information\r\nTutorials\r\nThere are several tutorial groups in the course. Each student must be registered in one of the tutorials (on ROSI), and attend it\r\nregularly every week. Details regarding the day, time and location of your tutorial are available online, at\r\nhttps:\/\/registrar.utm.utoronto.ca\/student\/timetable\/. In tutorials, you will have the opportunity to work on problems and get help and\r\nguidance from your TA. Occasionally, the TA will review some of the material discussed in the lectures, and will present solutions\r\nto homework problems. Tutorials will begin on the week of January 12 (second week of classes).\r\nNote: Students can register to any of the tutorials, regardless of the lecture section in which they are registered. \r\nMAT102H5F - Tvalavadze, Marina Page 3 of 4\r\nWeek of   \r\n1 September 6 Classes begin. No tutorial this week.\r\n2 September 13 Tutorials begin this week;\r\nSeptember 15 - QUIZ 1 on Problem Set A \r\n3 September 20 Problem Set B is due this week in tutorials.\r\n4 September 27 September 29 - QUIZ 2 on Problem Set C\r\n5 October 4 Problem Set D is due this week in tutorial.\r\n October 11 FALL READING WEEK- NO LECTURES\/TUTORIALS\r\n6 October 18 October 20- TERM TEST covering Problem Sets A, B, C, D, E\r\n7 October 25 Problem Set F is due this week in tutorials\r\n8 November 1 Problem Set G is due this week in tutorials.\r\n9 November 8 November 10 - QUIZ 3 on Problem Set H \r\n10 November 15 Problem Set I is due this week in tutorials.\r\n11 November 22 November 24 - QUIZ 4 on Problem Set J \r\n12 November 29 Problem Set K will be discussed in tutorials this week (not to be submitted)\r\n   \r\n \r\nE-mail Policy\r\nE-mails must originate from a utoronto.ca address and contain the course code MAT102 in the subject line. You must include your\r\nfull name and student number in your e-mail.\r\n \r\nCourse Content (Tentative)\r\n1. Weeks 1-3: Chapter 1 - Numbers, Sets, and Functions.\r\n2. Weeks 4-5: Chapter 2 - Language and Proofs.\r\n3. Weeks 6-7: Chapter 3 - Mathematical Induction.\r\n4. Weeks 8-9: Chapter 4 - Bijections and Cardinality.\r\n5. Weeks 10-11: Parts of Chapter 6 - Divisibility.\r\n6. Weeks 11-12: Parts of Chapter 7 - Modular Arithmetic.  \r\n \r\n \r\n \r\n \r\nCourse Schedule\r\n \r\n \r\n \r\n \r\n \r\nLast Date to drop course from Academic Record and GPA is November 9, 2016.\r\nMAT102H5F - Tvalavadze, Marina Page 4 of 4\r\n",
    "term": "2016 Fall",
    "id": "MAT102H5F20169",
    "department": "Mathematical and Computational Sciences"
}
SwapnilShahGit commented 7 years ago

parse has the correct output from the java, and is outputting a JSON object like this:

{
    "mongodbevents": [
        {
            "course": "MAT102H5F",
            "startTime": "39600",
            "title": "L0101",
            "location": "DV 2080",
            "description": "Understanding, using and developing precise expressions of mathematical ideas, including definitions and theorems. Set theory, logical statements and proofs, induction, topics chosen from combinatorics, elementary number theory, Euclidean geometry. [36L, 12T]",
            "repeat": "0",
            "endTime": "43200",
            "contact": null,
            "backgroundColour": "#000000"
        },
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
        {
            "course": "MAT102H5F",
            "startTime": "61200",
            "title": "T0114",
            "location": "IB 390",
            "description": "Understanding, using and developing precise expressions of mathematical ideas, including definitions and theorems. Set theory, logical statements and proofs, induction, topics chosen from combinatorics, elementary number theory, Euclidean geometry. [36L, 12T]",
            "repeat": "0",
            "endTime": "64800",
            "contact": null,
            "backgroundColour": "#000000"
        },
        {
            "course": "MAT102H5F",
            "startTime": "61200",
            "title": "T0115",
            "location": "IB 240",
            "description": "Understanding, using and developing precise expressions of mathematical ideas, including definitions and theorems. Set theory, logical statements and proofs, induction, topics chosen from combinatorics, elementary number theory, Euclidean geometry. [36L, 12T]",
            "repeat": "0",
            "endTime": "64800",
            "contact": null,
            "backgroundColour": "#000000"
        }
    ],
    "university": "UTM",
    "graded_evaluations": [
        [
            "2016-10-20T20:00:00.000-04:00",
            "Term Test 2016-10-20 20%"
        ],
        [
            "Final Exam TBA 40%"
        ]
    ],
    "department": "Mathematical and Computational Sciences",
    "exclusions": "MAT138H1,246H1,CSC165H1",
    "code": "MAT102H5F",
    "rawtext": "DEPARTMENT OF MATHEMATICAL AND COMPUTATIONAL SCIENCES\r\nUNIVERSITY OF TORONTO MISSISSAUGA\r\nMAT102H5F LEC0101\r\nIntroduction to Mathematical Proofs\r\nCourse Outline - Fall 2016\r\nClass Location & Time Tue, 10:00 AM - 11:00 AM DV 2080 \r\nThu, 11:00 AM - 12:00 PM DV 2080 \r\nFri, 10:00 AM - 11:00 AM DV 2080\r\nInstructor Marina Tvalavadze\r\nOffice Location DH 3046\r\nOffice Hours Tue, 1:00 PM - 3:00 PM; Th, 12:00 PM-1:00 PM\r\nE-mail Address marina.tvalavadze@utoronto.ca\r\nCourse Web Site On BlackBoard\r\n \r\nCo-Instructor Tyler Holden\r\nOffice Location DH-3023\r\nOffice Hours Fr, 11:00 AM -1:00 PM\r\nE-mail Address tholden@math.toronto.edu\r\n \r\nCo-Instructor Ali Mousavidehshikh\r\nOffice Location DH-3098\r\nOffice Hours Mon, 3:00 PM-5:00 PM; Wed, 4:00 PM-5:00 PM\r\nE-mail Address ali.mousavidehshikh@mail.utoronto.ca\r\n \r\nTeaching Assistant James Belanger\r\nOffice Hours TBA\r\nE-mail Address james.belanger@mail.utoronto.ca\r\n \r\nTeaching Assistant Candy Chou\r\nOffice Hours TBA\r\nE-mail Address candy.chou@mail.utoronto.ca\r\n \r\nTeaching Assistant Arash Gholami\r\nOffice Hours TBA\r\nE-mail Address arash.gholami@mail.utotonto.ca\r\n \r\nTeaching Assistant Thaddeus Janisse\r\nOffice Hours TBA\r\nE-mail Address thad.janisse@mail.utoronto.ca\r\n \r\nTeaching Assistant Kaiwen Jiang\r\nOffice Hours TBA\r\nE-mail Address kaiwen.jiang@mail.utoronto.ca\r\n \r\nTeaching Assistant Huu Uyen Phuong Le\r\nOffice Hours TBA\r\nE-mail Address phuong.le@mail.utoronto.ca\r\n \r\nTeaching Assistant Reien Meissner\r\nOffice Hours TBA\r\nE-mail Address reien.meissner@mail.utoronto.ca\r\n \r\nTeaching Assistant Andrew Ross\r\nOffice Hours TBA\r\nE-mail Address a.ross@mail.utoronto.ca\r\nCourse Description\r\nMAT102H5F - Tvalavadze, Marina Page 1 of 4\r\nType Description Due Date Weight\r\nAssignment Best 4 (out of 5) hand-in assignments. On-going 10%\r\nQuiz Best 3 (out of 4) in-class quizzes. On-going 30%\r\nTerm Test 2016-10-20 20%\r\nFinal Exam TBA 40%\r\n  Total 100%\r\nUnderstanding, using and developing precise expressions of mathematical ideas, including definitions and theorems. Set theory,\r\nlogical statements and proofs, induction, topics chosen from combinatorics, elementary number theory, Euclidean geometry. [36L,\r\n12T]\r\nPrerequisite: Minimum 70% in Grade 12 Advanced Functions (MHF4U)\r\nExclusion: MAT138H1,246H1,CSC165H1\r\nRecommended: Minimum 70% in Grade 12 Calculus and Vectors (MCV4U) (SCI) \r\nDistribution Requirement: SCI \r\nStudents who lack a pre\/co-requisite can be removed at any time unless received explicit waiver from department.\r\nTextbooks and Other Materials\r\nRegarding the textbook you have the following two options available:\r\nOption 1: If you are planning on taking  both MAT 102 and MAT 202, then you need to buy the full text: \r\nMathematical Thinking: Problem-Solving and Proofs, 2nd Edition by D'Angelo and West\r\nOption 2: If you are NOT planning to take MAT202, then buy the custom edition of the above mentioned textbook. It is available in\r\nsoft cover at the UTM bookstore. The custom edition will contain only chapters covered in MAT102 course.  \r\n \r\nNOTE: Calculators are not needed for this course, and will not be allowed during quizzes, tests and exams.\r\n \r\n \r\nAssessment and Deadlines\r\nMore Details for Assessment and Deadlines\r\nProblem Sets\r\nProblem sets will be posted on the course website every week, and will cover the recent material discussed in lectures. You are\r\nexpected to work on the questions assigned, and if you cannot solve a problem, you should ask your TA and\/or the instructor for\r\nhelp. You will submit Problem Sets B,D,F,G and I to your TA for grading. The other problem sets will NOT be submitted for\r\ngrading, but you will be tested on the material they cover on a quiz, test or exam (see the course schedule below).\r\nYou are encouraged to work with your fellow students while working on questions from the problem sets. However, the writing of\r\nyour assignment must be done without any assistance whatsoever.\r\nYour problem set mark will be determined by taking the average of the best four problem sets.\r\nNote: If a problem set is to be submitted for grading, submit  one copy of your work to your TA at the beginning of the tutorial\r\non the week it is due, and in the tutorial you are registered in.\r\n \r\nQuizzes and Term Test\r\nThere will be four quizzes and one term test. See the course schedule below for dates, times, location and material for each\r\nquiz\/term test. More details about the term test and the quizzes will be given later. You must bring your student card to the term\r\ntest and to each quiz.\r\nYour quizzes mark will be determined by taking the average of the best three quizzes.\r\nNote: There are no makeup quizzes! If you miss one quiz due to illness, you do not need to submit a medical note, since only the\r\nbest three quizzes will count. If you miss more than one quiz, you will have to provide proper documentation to the course\r\ncoordinator (Marina Tvalavadze) and your marking scheme will be adjusted.\r\nMAT102H5F - Tvalavadze, Marina Page 2 of 4\r\n \r\nPenalties for Lateness\r\nMissing a Problem Set\r\nLate Problem Sets will not be accepted for marking.\r\n \r\nProcedures and Rules\r\nMissed Term Work\r\nMissing a Quiz\r\nThere are no makeup quizzes! If you miss one quiz due to illness, you do not need to submit a medical note, since only the best\r\nthree quizzes will count.\r\nIf you miss more than one quiz, you will have to provide proper documentation to the course coordinator (Marina Tvalavadze) and\r\nyour marking scheme will be adjusted.\r\n \r\n \r\n \r\nMissing the Term Test\r\nIf you cannot show up for the test because of illness or any other special reason, you should declare your absence on ROSI and\r\nsubmit your documentation to the course coordinator (Marina Tvalavadze) no later than one week after the day of the test (for\r\nmedical notes, you must use the Offi \u200Bcial Verification of Student Illness or Injury form, which can be downloaded from the\r\ncourse website).\r\nThere will be no make-up tests. The course coordinator will adjust the marking scheme properly for students who have missed the\r\ntest because of illness or any other (approved) legitimate reason.\r\n \r\nMissed Final Exam\r\nStudents who cannot write a final examination due to illness or other serious causes must file an online petition within 72 hours of\r\nthe missed examination. Original supporting documentation must also be submitted to the Office of the Registrar within 72 hours\r\nof the missed exam. Late petitions will NOT be considered. If illness is cited as the reason for a deferred exam request, a U of T\r\nVerification of Student Illness or Injury Form must show that you were examined and diagnosed at the time of illness and on the\r\ndate of the exam, or by the day after at the latest. Students must also record their absence on ACORN on the day of the missed\r\nexam or by the day after at the latest. Upon approval of a deferred exam request, a non-refundable fee of $70 is required for each\r\nexamination approved.\r\nAcademic Integrity\r\nHonesty and fairness are fundamental to the University of Toronto\u2019s mission. Plagiarism is a form of academic fraud and is treated\r\nvery seriously. The work that you submit must be your own and cannot contain anyone elses work or ideas without proper\r\nattribution. You are expected to read the handout How not to plagiarize (http:\/\/www.writing.utoronto.ca\/advice\/using-sources\/how-\r\nnot-to-plagiarize) and to be familiar with the Code of behaviour on academic matters, which is linked from the UTM calendar under\r\nthe link Codes and policies.\r\nFinal Exam Information\r\nDuration: 2 hours\r\nAids Permitted: None\r\nAdditional Information\r\nTutorials\r\nThere are several tutorial groups in the course. Each student must be registered in one of the tutorials (on ROSI), and attend it\r\nregularly every week. Details regarding the day, time and location of your tutorial are available online, at\r\nhttps:\/\/registrar.utm.utoronto.ca\/student\/timetable\/. In tutorials, you will have the opportunity to work on problems and get help and\r\nguidance from your TA. Occasionally, the TA will review some of the material discussed in the lectures, and will present solutions\r\nto homework problems. Tutorials will begin on the week of January 12 (second week of classes).\r\nNote: Students can register to any of the tutorials, regardless of the lecture section in which they are registered. \r\nMAT102H5F - Tvalavadze, Marina Page 3 of 4\r\nWeek of   \r\n1 September 6 Classes begin. No tutorial this week.\r\n2 September 13 Tutorials begin this week;\r\nSeptember 15 - QUIZ 1 on Problem Set A \r\n3 September 20 Problem Set B is due this week in tutorials.\r\n4 September 27 September 29 - QUIZ 2 on Problem Set C\r\n5 October 4 Problem Set D is due this week in tutorial.\r\n October 11 FALL READING WEEK- NO LECTURES\/TUTORIALS\r\n6 October 18 October 20- TERM TEST covering Problem Sets A, B, C, D, E\r\n7 October 25 Problem Set F is due this week in tutorials\r\n8 November 1 Problem Set G is due this week in tutorials.\r\n9 November 8 November 10 - QUIZ 3 on Problem Set H \r\n10 November 15 Problem Set I is due this week in tutorials.\r\n11 November 22 November 24 - QUIZ 4 on Problem Set J \r\n12 November 29 Problem Set K will be discussed in tutorials this week (not to be submitted)\r\n   \r\n \r\nE-mail Policy\r\nE-mails must originate from a utoronto.ca address and contain the course code MAT102 in the subject line. You must include your\r\nfull name and student number in your e-mail.\r\n \r\nCourse Content (Tentative)\r\n1. Weeks 1-3: Chapter 1 - Numbers, Sets, and Functions.\r\n2. Weeks 4-5: Chapter 2 - Language and Proofs.\r\n3. Weeks 6-7: Chapter 3 - Mathematical Induction.\r\n4. Weeks 8-9: Chapter 4 - Bijections and Cardinality.\r\n5. Weeks 10-11: Parts of Chapter 6 - Divisibility.\r\n6. Weeks 11-12: Parts of Chapter 7 - Modular Arithmetic.  \r\n \r\n \r\n \r\n \r\nCourse Schedule\r\n \r\n \r\n \r\n \r\n \r\nLast Date to drop course from Academic Record and GPA is November 9, 2016.\r\nMAT102H5F - Tvalavadze, Marina Page 4 of 4\r\n",
    "id": "MAT102H5F20169",
    "meeting_sections": "[{\"times\":[{\"duration\":3600,\"location\":\"DV 2080\",\"start\":39600,\"day\":\"THURSDAY\",\"end\":43200},{\"duration\":3600,\"location\":\"DV 2080\",\"start\":36000,\"day\":\"TUESDAY\",\"end\":39600},{\"duration\":3600,\"location\":\"DV 2080\",\"start\":36000,\"day\":\"FRIDAY\",\"end\":39600}],\"enrolment\":0,\"code\":\"L0101\",\"instructors\":[\"T Holden\"],\"size\":135},{\"times\":[{\"duration\":3600,\"location\":\"IB 150\",\"start\":43200,\"day\":\"TUESDAY\",\"end\":46800},{\"duration\":7200,\"location\":\"IB 150\",\"start\":46800,\"day\":\"FRIDAY\",\"end\":54000}],\"enrolment\":0,\"code\":\"L0102\",\"instructors\":[\"M Tvalavadze\"],\"size\":130},{\"times\":[{\"duration\":7200,\"location\":\"IB 110\",\"start\":54000,\"day\":\"TUESDAY\",\"end\":61200},{\"duration\":3600,\"location\":\"IB 245\",\"start\":39600,\"day\":\"THURSDAY\",\"end\":43200}],\"enrolment\":0,\"code\":\"L0103\",\"instructors\":[\"A Mousavidehshikh\"],\"size\":135},{\"times\":[{\"duration\":3600,\"location\":\"DV 2082\",\"start\":46800,\"day\":\"TUESDAY\",\"end\":50400},{\"duration\":7200,\"location\":\"DV 2082\",\"start\":46800,\"day\":\"THURSDAY\",\"end\":54000}],\"enrolment\":0,\"code\":\"L0104\",\"instructors\":[],\"size\":135},{\"times\":[{\"duration\":3600,\"location\":\"IB 120\",\"start\":43200,\"day\":\"WEDNESDAY\",\"end\":46800},{\"duration\":7200,\"location\":\"IB 245\",\"start\":39600,\"day\":\"FRIDAY\",\"end\":46800}],\"enrolment\":0,\"code\":\"L0105\",\"instructors\":[],\"size\":135},{\"times\":[{\"duration\":3600,\"location\":\"DV 1148\",\"start\":64800,\"day\":\"WEDNESDAY\",\"end\":68400}],\"enrolment\":0,\"code\":\"T0116\",\"instructors\":[],\"size\":40},{\"times\":[{\"duration\":3600,\"location\":\"DH 4001\",\"start\":64800,\"day\":\"WEDNESDAY\",\"end\":68400}],\"enrolment\":0,\"code\":\"T0117\",\"instructors\":[],\"size\":40},{\"times\":[{\"duration\":3600,\"location\":\"IB 385\",\"start\":32400,\"day\":\"THURSDAY\",\"end\":36000}],\"enrolment\":0,\"code\":\"T0118\",\"instructors\":[],\"size\":40},{\"times\":[{\"duration\":3600,\"location\":\"IB 240\",\"start\":36000,\"day\":\"THURSDAY\",\"end\":39600}],\"enrolment\":0,\"code\":\"T0119\",\"instructors\":[],\"size\":40},{\"times\":[{\"duration\":3600,\"location\":\"\",\"start\":57600,\"day\":\"THURSDAY\",\"end\":61200}],\"enrolment\":0,\"code\":\"P0101\",\"instructors\":[],\"size\":999},{\"times\":[{\"duration\":3600,\"location\":\"IB 385\",\"start\":32400,\"day\":\"TUESDAY\",\"end\":36000}],\"enrolment\":0,\"code\":\"T0101\",\"instructors\":[],\"size\":40},{\"times\":[{\"duration\":3600,\"location\":\"CC 1080\",\"start\":39600,\"day\":\"TUESDAY\",\"end\":43200}],\"enrolment\":0,\"code\":\"T0102\",\"instructors\":[],\"size\":40},{\"times\":[{\"duration\":3600,\"location\":\"DV 1148\",\"start\":61200,\"day\":\"TUESDAY\",\"end\":64800}],\"enrolment\":0,\"code\":\"T0103\",\"instructors\":[],\"size\":40},{\"times\":[{\"duration\":3600,\"location\":\"IB 240\",\"start\":61200,\"day\":\"TUESDAY\",\"end\":64800}],\"enrolment\":0,\"code\":\"T0104\",\"instructors\":[],\"size\":40},{\"times\":[{\"duration\":3600,\"location\":\"DV 1148\",\"start\":64800,\"day\":\"TUESDAY\",\"end\":68400}],\"enrolment\":0,\"code\":\"T0105\",\"instructors\":[],\"size\":40},{\"times\":[{\"duration\":3600,\"location\":\"IB 240\",\"start\":64800,\"day\":\"TUESDAY\",\"end\":68400}],\"enrolment\":0,\"code\":\"T0106\",\"instructors\":[],\"size\":40},{\"times\":[{\"duration\":3600,\"location\":\"IB 220\",\"start\":36000,\"day\":\"WEDNESDAY\",\"end\":39600}],\"enrolment\":0,\"code\":\"T0107\",\"instructors\":[],\"size\":40},{\"times\":[{\"duration\":3600,\"location\":\"IB 200\",\"start\":32400,\"day\":\"WEDNESDAY\",\"end\":36000}],\"enrolment\":0,\"code\":\"T0108\",\"instructors\":[],\"size\":40},{\"times\":[{\"duration\":3600,\"location\":\"IB 385\",\"start\":43200,\"day\":\"THURSDAY\",\"end\":46800}],\"enrolment\":0,\"code\":\"T0109\",\"instructors\":[],\"size\":40},{\"times\":[{\"duration\":3600,\"location\":\"DV 2072\",\"start\":50400,\"day\":\"WEDNESDAY\",\"end\":54000}],\"enrolment\":0,\"code\":\"T0110\",\"instructors\":[],\"size\":40},{\"times\":[{\"duration\":3600,\"location\":\"DV 3131\",\"start\":32400,\"day\":\"WEDNESDAY\",\"end\":36000}],\"enrolment\":0,\"code\":\"T0111\",\"instructors\":[],\"size\":40},{\"times\":[{\"duration\":3600,\"location\":\"IB 280\",\"start\":57600,\"day\":\"WEDNESDAY\",\"end\":61200}],\"enrolment\":0,\"code\":\"T0112\",\"instructors\":[],\"size\":40},{\"times\":[{\"duration\":3600,\"location\":\"DH 3000\",\"start\":57600,\"day\":\"WEDNESDAY\",\"end\":61200}],\"enrolment\":0,\"code\":\"T0113\",\"instructors\":[],\"size\":40},{\"times\":[{\"duration\":3600,\"location\":\"IB 390\",\"start\":61200,\"day\":\"WEDNESDAY\",\"end\":64800}],\"enrolment\":0,\"code\":\"T0114\",\"instructors\":[],\"size\":40},{\"times\":[{\"duration\":3600,\"location\":\"IB 240\",\"start\":61200,\"day\":\"WEDNESDAY\",\"end\":64800}],\"enrolment\":0,\"code\":\"T0115\",\"instructors\":[],\"size\":40}]",
    "division": "University of Toronto Mississauga",
    "prerequisites": "Minimum 70% in Grade 12 Advanced Functions (MHF4U)",
    "level": "100",
    "term": "2016 Fall",
    "description": "Understanding, using and developing precise expressions of mathematical ideas, including definitions and theorems. Set theory, logical statements and proofs, induction, topics chosen from combinatorics, elementary number theory, Euclidean geometry. [36L, 12T]",
    "name": "Introduction to Mathematical Proofs",
    "campus": "UTM"
}

Now the task is to place all the events in the MongoDb using insertMany (see here: http://stackoverflow.com/questions/30696946/how-to-import-json-into-mongodb-using-mongoose) in the Node.JS logic. Afterwards, we will have to find a way to get the list of events that were generated, and add them to the new course we create in the courses table, as well as the user that requested this. We should end this call by returning all the events for that user back to frontend (or more specifically, events from the first month of the syllabi semester so the user can see the newly generated information).

hobindar commented 7 years ago

Why there's a random newline: streams just spew 'data' events whenever there's some data ready on any given tick (not necessarily when it's done reading a line). To get more useful data from the stream, like a whole line, use node's readline to encapsulate it.

SwapnilShahGit commented 7 years ago

Need functions that:

SwapnilShahGit commented 7 years ago

http://stackoverflow.com/questions/16683989/node-js-restify-cant-upload-file http://restify.com/#bodyparser

hobindar commented 7 years ago

Issue is being replaced with #428 and #429, closing.