Course Management User Stories - Use Cases
(IOR = Instructor of Record)
(CMA = CourseManagementAdministration)
(CMS = CourseManagementService)
assumptions or prereq's
Roles for instructors of different ilks
- InstructorOfRecord
- Instructor
- TA
///need to look at whether only IOR can grade, if so then, other roles may need to be qualified more WRT grading
Calendar startCal = Calendar.getInstance(); Calendar endCal = Calendar.getInstance(); startCal.set(2006, 8, 1); endCal.set(2006, 12, 1); String deptOrSchoolEid = "Mythical Dept/School EID"; /// can we use college codes for courseset id's? String category = "L&S"; String noParent = null; String courseSetTitle = "Inhumanities"; String description = "This Department has a lot of courses in varying SUBJ codes"; String academicSessionEid = "200710"; String academicSessionTitle = "Fall QTR 2007"; String academicSessionDesc = "Fall Quarter 2007"; String canonicalCourseEid = "ENG 121"; String canonicalCourseTitle = "ENG 121"; String canonicalCourseDescr = "What more can be said?"; cmAdmin.createCourseSet(deptOrSchoolEid, courseSetTitle, description, category, noParent); cmAdmin.createAcademicSession(academicSessionEid, academicSessionTitle, academicSessionDesc,startCal.getTime(), endCal.getTime()); cmAdmin.createCanonicalCourse(canonicalCourseEid, canonicalCourseTitle, canonicalCourseDescr); cmAdmin.addCanonicalCourseToCourseSet(deptOrSchoolEid, canonicalCourseEid); /// query for enrollment sets foreach enrollmentSet in enrollmentSets { cmAdmin.createCourseOffering("ENG 121 200710", "English For The Toothless", "Finally a class for the tooth challenged.", academicSessionEid, "ENG 121", new Date("Sept. 26, 2007), new Date("Dec. 21, 2007")); cmAdmin.createEnrollmentSet("20071021213", "Fall QTR 2007 Roster", "Fall QTR 2007 Enrollments", "L&S undergrads", "3", "ENG 121 200710", null /* IORs to be added later */); ///may need to make more unique ID's here, depending on impl details cmAdmin.createSection("ENG 121 200710 001", String title, String description, "Lecture", null, "ENG 121 200710", "20071021213"); Vector officialGraderEids = new Vector(); List instructors = provider.etUserswithroles(new String[] {"InstructorOfRecord","Instructor", "TA"}); foreach instructor in instructors { officialGraderEids.add(instructor); role = provider?.getRoleInAuthzGroup(insructor); Membership member = new MemberShipCmImpl(instructor, role, CMA.getCourseOffering("ENG 121 200710", "active"} cmAdmin.addOrUpdateSectionMembership(member.getUserId(), member.getRole(), "ENG 121 200710 001", member.getSTatus() ); cmAdmin.newSectionMeeting("ENG 121 200710 001", "Klieber 100000B", "7D839D00SA0S", "Meets next to the horse barn") /// by convention UCD might adopt the strat of using an time object ID in the time string } // end foreach enrollmentSet in ...
1. Unique Course
Example: ENG 121 001 Smit
One course with one section for a term
CMA.createCanonicalCourse("ENG 121", "ENG 121", "What more can be said?"); CMA.addCanonicalCourseToCourseSet(deptOrSchool, "ENG 121");// can or should do both or not? foreach enrollmentSet in enrollmentSets { CMA.createCourseOffering("ENG 121 200710", "English For The Toothless", "Finally a class for the tooth challenged.", + "200710", "ENG 121", new Date("Sept. 26, 2007), new Date("Dec. 21, 2007")); CMA.createEnrollmentSet("20071021213", "Fall QTR 2007 Roster", "Fall QTR 2007 Enrollments", "L&S undergrads", "3", "ENG 121 200710", null /* IORs to be added later */); ///may need to make more unique ID's here, depending on impl details CMA.createSection("ENG 121 200710 001", String title, String description, "Lecture", null, "ENG 121 200710", "20071021213"); Vector officialGraderEids = new Vector(); List instructors = provider.etUserswithroles(new String[] {"InstructorOfRecord","Instructor", "TA"}); foreach instructor in instructors { officialGraderEids.add(instructor); role = provider?.getRoleInAuthzGroup(insructor); Membership member = new MemberShipCmImpl(instructor, role, CMA.getCourseOffering("ENG 121 200710", "active"} CMA.addOrUpdateSectionMembership(member.getUserId(), member.getRole(), "ENG 121 200710 001", member.getSTatus() ); CMA.newSectionMeeting("ENG 121 200710 001", "Klieber 100000B", "7D839D00SA0S", "Meets next to the horse barn") /// by convention UCD might adopt the strat of using an time object ID in the time string } // end foreach enrollmentSet in ...
2. Mutliple Sections with single IOR per section
Example:
ENG 299 001 Andrews
Smith
3. Multiple Sections with a IOR
Example
ENG 220 001 SMITH 21214
ENG 220 002 SMITH 21215
4. Multiple sections with single IOR and with Ad Hoc grouping
Example:
Eng 240 001 Andrews |
Site 1 |
Eng 240 003 Andrews |
Site 2 |
5. Single Section with more than one IOR
Example: Eng 111 001 Andrews - Primary (p)
Smith - Secondary (s)
6. Mutiple Section with Mutiple IOR
- a - one primary
- b - mixed primary
Example: a
Eng 112 001 Andrews (p)
Smith (s)
002 Andrews (p)
Smith (s)
Example: b
Eng 112 001 Andrews (p)
Smith (s)
002 Smith (p)
Andrews (s)
7. Mutiple sections with mutliple IOR's and ad hoc grouping
To Do
- a - one primary
- b - mixed primary
Eng 212 001 Andrews (p) |
Site 1 |
Eng 212 003 Smith (p) |
Site 2 |
8. Mutiple Sections Mixed IOR
To Do
- a - one primary
- b - multiple primary
Eng 212 |
001 |
Smith (p) |
 |
 |
 |
Andrews |
|
Eng 212 |
002 |
Smith (p) |
 |
 |
 |
Mcgee |
9. Cross-listed – Single IOR
Eng 210 001 Andrews
Cse 210 001 Andrews
10. Cross-listed – Mutiple IOR
To Do
- a - one primary
- b - multiple primary
BIO 282 001 |
SALK (p) |
200610 31621 |
 |
CURIE |
 |
VMD 161 001 |
CURIE (p) |
200610 71818 |
 |
SALK |
 |
11. Cross-listed – Multiple IOR and ad hoc grouping
BIO 282 001 SALK (p) |
Site 1 |
VMD 162 001 CURIE (p) |
Site 2 |
12. Cross-listed – Mixed IOR
BIO 284 001 SALK (p) |
VMD 291 001 SALK (p) |