The management of TAs and graders contributing to courses offered by ECE is a carried out before the beginning of each semester by first uploading the list of courses for the upcoming semester with detailed course information (e.g. course credit, number of lab and tutorial sessions and hours) and student enrolment data. This information defines the default TA and grader hours calculated by the department, which implicitly specify a budget for the course derived using different hourly rates for TAs and graders.
Instructors of each course publish job postings for TA and grader positions by a given deadline by specifying the preferred skills and experience required for the course. Both graduate and undergraduate students may apply to at most three job offers by submitting their personal details (e.g. McGill ID number) and their past TA/grader experience and specifying their preference between the different courses. A student may apply for both TA and grader positions for a course.
The department prepares an initial allocation considering that (1) the same TA should be hired whenever possible for classes with multiple tutorial or lab sessions, (2) each TA may have an appointment of at least 45 hours (for each course) and at most 180 hours (in total), and (3) if graduate TAs are available for a course then they should be hired instead of undergraduate students. Instructors may modify this initial allocation by changing TA and grader hours if the total budget of the course is not exceeded.
The department approves the final TA and grader allocations for each course and sends the job offers to the TAs and graders who can accept or reject it. In order to handle unforeseen events and changes, multiple job offers can be sent to TAs and graders by the department. At the end of the course, the instructor writes a short evaluation on each TA and grader of the course.
Meeting 1: Sunday 2/5/17, 3:00 PM - 5:30 PM, Trottier Building (2.5h)
Attendance:
Ebou Jobe
Wiam El Ouadi
Bijan Sadeghi
Younes Boubekeur
James Tang
Key Design decisions
No specific design decisions were made.
Task Distribution
1. Collectively looked over project description (All)
2. Collectively studied the requirements of the project (All)
3. Addressed some questions regarding the deliverable #1 (All)
4. Set up meeting times for future meetings (All)
5. Created meeting log (All)
6. Set up Github access (All)
======================================================================
Meeting 2: Monday 2/6/2017, 4:00 PM - 9:00 PM, McLennan Library (5h)
Attendance
Ebou Jobe
Wiam El Ouadi
Bijan Sadeghi
Younes Boubekeur
James Tang
Key Design decisions
TA will not leave job throughout the semester.
Lab sessions and tutorial sessions will not overlap each other.
Task Distribution
1. Discussed design questions and general project specifications (All)
2. Began working on requirements document (Bijan & Ebou)
3. Worked on functional/nonfunctional requirements (Wiam, Younes, James & Bijan)
4. Worked on actors and use cases (Bijan & Ebou)
5. Continued working on domain model (All)
6. Address more questions regarding the remaining parts of the deliverable #1 (All)
======================================================================
Meeting 3: Wednesday 2/8/2017, 5 PM - 9:30 PM, McLennan Library (4.5h)
Attendance
Ebou Jobe
Wiam El Ouadi
Bijan Sadeghi
Younes Boubekeur
James Tang
Key Design decisions
Created the first draft of the Class Diagram, including multiplicities. For example, we decided an Instructor can teach many Courses, and a Course may be given by more than one Instructor. We created the classes JobApplication, Allocation, JobAssignment.
Task Distribution
-
Worked on domain model (All)
-
Almost finished statechart for class “Job” (Wiam, Younes & James)
-
Begin requirement-level sequence/activity diagrams (All)
-
Updated meeting log (All)
======================================================================
Meeting 4: Saturday 2/11/2017, 3 PM - 2 AM, Trottier (11h)
Attendance
Ebou Jobe
Wiam El Ouadi
Bijan Sadeghi
Younes Boubekeur
James Tang
Key Design decisions
Replaced GradStudent and UndergradStudent subclasses with a boolean isGrad attribute in the Student class. Redefined the relationship between Allocation and the other classes, and updated multiplicities from * to 0..3. Added studentEnrolment attribute in the Course class. TAMAS doesn’t choose the final candidate for the position but proposes eligible ones based on their availabilities and student status. The instructor is the one that chooses the optimal candidate and enters it in TAMAS so that the EceAdmin can approve it.
Task Distribution
1. Revised and advanced domain model based on discussions
2. Completed requirements-level sequence diagrams
3. Discussed in detail regarding the sequence diagrams
4. Updated meeting log
======================================================================
Meeting 5: Sunday 2/12/2017, 1 PM - 3 PM, Trottier (2h)
Attendance
Ebou Jobe
Wiam El Ouadi
Bijan Sadeghi
Younes Boubekeur
James Tang
Key Design decision
No specific design decisions were made.
Task Distribution
1. Finished domain model and added it to document
2. Finished use case diagram and descriptions
3. Finished statechart
4. Formatted document
5. Updated meeting log
======================================================================
Member Contribution up to deliverable #1
Bijan: 22h
Ebou: 22h
Younes: 22h
Wiam: 22h
James: 22h
======================================================================Proposed work plan for remaining Iterations
Deliverable 2, due Feb 26th, Sunday
Proposed meeting time and hours
Meeting #1: Wed, Feb, 15th. 5:00pm-9:30pm ( 4.5 h)
Meeting #2: Sat, Feb, 18th. 12:00pm-10:00pm ( 10 h)
Meeting #3: Thur, Feb 23rd 6:00pm-10:00pm ( 4 h)
Meeting #4: Sat, 25th. 12:00pm-10:00pm ( 10 h)
Requirements to be addressed:
TAMAS Functional Requirements
TFR.01 |
TAMAS shall determine default TA and grader hours based on a list of courses uploaded by the department that includes key course information. |
TFR.02 |
TAMAS shall allow instructors to publish job postings for upcoming TAs and markers until a given deadline. |
TFR.03 |
TAMAS shall allow students to apply to at most three unique jobs by submitting their applicant details (including the possibility of applying to a TA and grader job for the same course). |
TAMAS Non-Functional Requirements
TNR.01 |
TAMAS shall be accessible on Desktop (full functionality), Web and Android (one each for TAs and instructors, in any order). |
TNR.02 |
TAMAS shall prompt users to verify their identity in order to access the appropriate functionality. |
Estimating of efforts
-
Description of architecture of proposed solution including block diagrams ( 4h)
-
Description of detailed design of proposed solution including class diagrams ( 9-10h)
-
Source code of prototype implementation of “Publish Job Posting” use case on Java and mobile/web platform and “Apply for Job” use case on Java and web/mobile platform. ( 9-10h)
-
Implementation-level sequence diagram for “Publish Job Posting” and “Apply for Job” use cases for each supported platform ( 3 h)
-
Update of work plan (1 h)
Deliverable 3, due March 17th, Friday
Proposed meeting time and hours
Meeting #1: Wed, March 1st. 5pm-9:00pm ( 4 h)
Meeting #2: Sat, March 4th, 12:00pm-10:00pm ( 10 h)
Meeting #3: Thursday March 9th. 5:00pm-10:00pm ( 6 h)
Meeting #4: Thursday March 15th. 6:00pm-10:00pm ( 4 h)
Requirements to be addressed:
Functional
TFR.04 |
TAMAS shall determine the optimal candidate for each available job based on their availabilities and their student status. |
TFR.05 |
TAMAS shall allow instructors to change the initial allocation of worker hours in the case that the budget is not exceeded. |
Non- Functional
TNR.02 |
TAMAS shall prompt users to verify their identity in order to access the appropriate functionality. |
Estimating of efforts
-
Description of unit testing ( 6 h)
-
Description of component testing ( 6h)
-
Description of system testing ( 7 h)
-
Description of performance/stress testing ( 4h)
-
Update of work plan (1h)
======================================================================
Deliverable 4, due March 27, Monday
Proposed meeting time and hours
Meeting #1: Sat,March 18th. 12:00pm-10:00pm ( 10 h)
Meeting #2: Wed, March 22nd. 5:00pm-9:30pm ( 4.5 h)
Meeting #3: Sat, March 25th 12:00pm-10:00pm ( 10 h)
Functional
TFR.06 |
TAMAS shall allow the department to approve final job allocations. |
TFR.07 |
TAMAS shall prompt selected students to accept or reject job offers. |
Non- Functional
TNR.03 |
TAMAS shall require less than 30 minutes of training time for users to learn how to use all features of the system. |
Estimating of efforts
-
Adding TNR.03, TRF.06 and TF.07 to TAMAS ( 13h)
-
Description of release pipeline ( 9-10h)
-
Update of work plan (1h)
Deliverable 5, due April 3rd, Monday
Proposed meeting time and hours
Meeting #1: Wed,March 29th. 5:00pm-10:00pm ( 5 h)
Meeting #2: Thursday, March 30th. 5:00pm-9:30pm ( 4.5 h)
Meeting #3: Sat, April 1st, 12:00pm-10:00pm ( 10 h)
Meeting #4: Sun, April 2nd, 10:00am-4:00pm (6h)
Functional
TFR.08 |
TAMAS shall allow the instructor to submit an evaluation for each TA and grader at the end of the course. |
Non- Functional
TNR.04 |
TAMAS shall perform each of its operations in less than one minute. |
TNR.05 |
TAMAS shall take less than 500 MB of disk space. |
Estimating of efforts
-
Adding requirements TFR.08, TNR.04, TNR.05 to TAMAS (5h)
-
Getting TAMAS ready for presentation ( 6h)
-
Improve UI ( 4h)
-
Preparing for presentation ( 8h)
-
Update of work plan (1h)
-
Presentation ( 0.5h)
======================================================================
Deliverable 6, due April 11th, Monday
Proposed meeting time and hours
Meeting #1: Wed, April 5th. 5:00pm-10:00pm ( 5 h)
Meeting #2: Thursday,April 6th. 5:00pm-9:30pm ( 4.5 h)
Meeting #3: Sat, April 8th, 12:00pm-10:00pm ( 10 h)
Meeting #4: Sun, April 9th, 11:00am-4:00pm (5h)
Non- Functional
TNR.06 |
TAMAS shall have no more than two malfunctions per session of use. |
TNR.07 |
TAMAS shall force-close at a rate less than one out of twenty sessions. |
Estimating of efforts
-
Improve UI ( 4h)
-
Ensure requirement TNR.06, TNR.07 are met. ( 4h)
-
Optimize TAMAS for performance ( 4h)
-
Gather source code of full implementation of TAMAS ( 2h)
-
Gather full commit history of the Github repository (1h)