Course Management User Stories - Use Cases

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

SomeClass.java
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

SomeClass.java
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
Eng 240 002 Andrews

Site 1

Eng 240 003 Andrews
Eng 240 004 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)
                   Smith
            002 Andrews (p)
                   Smith

Site 1

Eng 212 003 Smith (p)
                   Andrews

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)
                   CURIE
            002 SALK (p)
                   CURIE

Site 1

VMD 162 001 CURIE (p)
                   SALK

Site 2

12. Cross-listed – Mixed IOR

BIO 284 001 SALK (p)
                   BOHR

VMD 291 001 SALK (p)
                   CURIE