Meeting #3 - TechnionYearlyProject/Exam-Scheduler GitHub Wiki

Sunday 12 11 2017 12:30

Weekly Progress

We worked in teams in the previous week, the progress wasn’t given individually.

GUI team

Members: Roey Ashkenazy, Tal Gelber. Previously thought of using the C++ Qt library. Now plan on using JavaFX, meaning the project will mostly use Java and JavaFX. Building a calendar seems relatively easy with the library. Made diagrams of the planned GUI, although these are expected to change.

DB team

Members: Rephael Azoulay. Started characterizing the way the DB will be built. Considering dividing the DB according to semesters, with each semester holding its own courses. The DB will also require an API.

Logic team

Members: Yosef Bader, Moisei Vainbaum, Dor Bartov. Came up with 2 main concepts for building the schedule. Also discussed parsing of files - suggested inserting the current courses manually during development and then allowing users to add / remove individual courses according to changes (Instead of parsing the courses catalog).

Tanya Brokhman’s notes

  • The HLD should be updated by next meeting, with each member updating the part relevant to his work. Current HLD isn’t well defined and is too general. Needs to be more specific and use bullet points. Address development environments, clear the phrasing “can be modified manually”, add images of planned user interface.
  • Clarification - there is a 3 day minimum between exams of courses appearing in the same semester in the courses catalog.
  • Next document to be written Test Plan, and coding should start soon.
  • Starting with the next meeting, each member should give an update on his individual progress and assignments.

In the remaining time the group deliberated different topics.

Major Decisions

  • The 2 proposed algorithms were presented: The first was using Edges coloring on graph to group together courses that can have a test at the same time. The second was creating many different groups of courses that are usually being taken together (according to the course catalog, the semester’s representatives, and other info), sorting them by amount of courses in each, and then, starting with the biggest group, scheduling each group while taking the previous groups’ schedules as given conditions. The group chose the second algorithm.
  • The GUI was presented, with minor changes suggested to accommodate the current algorithm plan.
  • The DB was further discussed, as well as the option of interfacing with the Technion’s Undergraduate system.