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