Difference between revisions of "User Stories"

From WeBWorK_wiki
Jump to navigation Jump to search
(Added view a student's past answers)
(→‎Instructors: added items about restricting TAs' access by section, fixing a student grade on a problem, and exporting detailed (problem-level) data on homework sets)
 
(44 intermediate revisions by 10 users not shown)
Line 14: Line 14:
 
** View my grades on the problems in a problem set
 
** View my grades on the problems in a problem set
 
** View my overall grades for all problem sets
 
** View my overall grades for all problem sets
  +
** View my performance compared to students in this class or this group from the current course or past classes
 
** Get a new version of a problem
 
** Get a new version of a problem
 
** View my past answers to a problem
 
** View my past answers to a problem
  +
** 'Save Progress' button for use with whiteboard or calculator resources
  +
** View assignments from different courses on same page
  +
** Sort assignments (e.g. by Course, by type, by completion or assigned date)
  +
** view completion status of each problem in an assignment while working on one of its problems
  +
** get context-sensitive help
  +
*** info about type of answer: numeric (real, rational), functional expression, equation
  +
*** info about necessary accuracy
  +
**** programed or spontaneuous popup
  +
**** decimal places vs significant figures
  +
**** absolute or relative tolerance
  +
**Get a new, blank version of an assignment for review for an exam
  +
***View list of acceptable units
  +
  +
* Hardcopy of homework sets
  +
** Print hardcopy of active homework set as a supplement to viewing the homework on line
  +
** Print hardcopy of a completed (past answer date) homework set for review
  +
*** Option to print with or without hints.
  +
*** Option to print with or without solutions.
   
 
* User Management
 
* User Management
Line 23: Line 42:
 
* Communication
 
* Communication
 
** Email the instructor
 
** Email the instructor
  +
  +
* User Interface
  +
** Ability to customize the interface
  +
*** Ability to rearrange and resize components
  +
*** Ability to modify theme
   
 
=== Instructors ===
 
=== Instructors ===
Line 29: Line 53:
 
** Add a user (or a few users) manually
 
** Add a user (or a few users) manually
 
** Import users from a file
 
** Import users from a file
** Update a student's information (email, name, id number, password, etc.)
+
** Update a student's information (login, email, name, id number, password, etc.)
  +
*** Student status that includes "enrolled," but "disallow logins" (e.g., for old semesters). This might be a characteristic of a course rather than a student.
 
** Act as a student (see what an individual student sees)
 
** Act as a student (see what an individual student sees)
 
** Delete a student
 
** Delete a student
Line 38: Line 62:
 
** View a student's past answers on a problem
 
** View a student's past answers on a problem
 
** Export list of users
 
** Export list of users
  +
** Create a group of students by hand or through rules. Default group is one class.
  +
** Edit a characteristic or characteristics of many students (e.g., set student status to inactive/drop)
  +
** Have students generate ad hoc groups on the fly for working cooperatively on WeBWorK problems in class
  +
** Restrict TAs' access to students not in their recitation section(s)
   
 
* Communication
 
* Communication
 
** Email a student / group of students / all students
 
** Email a student / group of students / all students
  +
** Provide a chat interface with other members of the class with problem threads.
   
 
* Problem Sets
 
* Problem Sets
 
** Create a new problem set
 
** Create a new problem set
  +
** Delete problem sets (choose problem sets and be presented with a window that lists problem sets to be deleted and has a "confirm delete" button)
  +
** Set the order in which the sets appear on the homework page. (and/or set the rules that determine this order)
 
** Change the details of a problem set
 
** Change the details of a problem set
 
*** Set Name
 
*** Set Name
*** Open, close, answer dates
+
*** Open, due, answer dates
*** Whether to show hints / solutions, and when
+
*** Reduced credit enable/period
  +
*** Give an individual student, or group of students an extension of the due date.
  +
*** Re-open a closed homework set for all students and set a new global due date. Should this override all local due dates (i.e., homework extensions given to individuals)
  +
**** Suggested solution: When resetting a global due date a pop-up window warns if there are any individual overrides. The instructor has a chance to adjust these individual extensions or not as the situation warrants.
  +
*** Whether to show hints / solutions, and when(should this be decided by the problem (e.g. PG code) or should it be set by the environment (webwork2)? Some combination?
  +
*** Merge two or more assignments.
  +
*** Edit the set header file (there should be only one set header file for both html and tex)
 
*** Other set-specific parameters
 
*** Other set-specific parameters
  +
** Specify different types of assignments, with separate grading and assignment rules:
  +
*** Normal Homework Assignment (assigned to everyone in a (class or group), scored as normal homework)
  +
*** Prep Assignment (assigned to specific groups, not part of normal homework)
  +
*** Follow-up Prep Assignment (opened upon completion of Prep Assignment)
  +
*** In-Class Problems (paired to in-class lecture, option for everyone to have the same seed. Different than normal homework.)
  +
*** In-Class Group / Peer Problems (specific problem assigned to specific group for during class.)
  +
*** Gateway Quiz problem set ''(how is this defined?)''
  +
**** Timed Test/Quiz problem sets
  +
**** Userset Versioning of Test/Quiz problem sets
  +
**** Test/Quiz problem sets composed of groups of problems (e.g., sections, with characteristics---e.g., problem order---that can be set by section, but the sections appearing in a specified order)
  +
**** Allow restriction of student access to scores and previously submitted work
  +
**** Hooks for Respondus and SoftwareSecure.com type workstation isolation software.
  +
*** In-Class Quiz or In-Class exam set (scores distinguished differently from normal homework assignments)
  +
*** Placement Testing Mechanism (e.g. student registration, reporting of scores and post-quiz message)
  +
**** Read test scores/results for tests that run over-time and aren't otherwise allowed to be submitted
  +
*** Master Type Sets (future problems or groups of problems determined by a ruleset that uses results on previous problems or groups of problems)---this should be able to play with testing and homework assignment types
 
** Add problems / problem pools to a problem set
 
** Add problems / problem pools to a problem set
  +
** multi-stage scoring
  +
*** current: reduced-credit period is offset backwards from dueDate
  +
*** also: bonus-credit period is offset backwards from dueDate
  +
*** also: full-credit with due-date, extend with reduced-credit for specified duration
  +
*** full-scoring up to n tries before dueDate, then show ans/sol and reseed with reduced-credit before dueDate
 
** Change settings for an individual problem within a problem set
 
** Change settings for an individual problem within a problem set
 
*** Number of Attempts
 
*** Number of Attempts
Line 55: Line 107:
 
*** When to show hints (if available)
 
*** When to show hints (if available)
 
** Assign problem sets to one or more users (possibly based on user criteria such as section / recitation)
 
** Assign problem sets to one or more users (possibly based on user criteria such as section / recitation)
  +
** Show or hide problem set to students. (visible/hidden)
 
** View grades / progress for one or more problem sets
 
** View grades / progress for one or more problem sets
  +
** Set a student's score on a certain problem (e.g., to make up for a bug in the problem)
  +
** Export detailed information (as is shown under "student progress") on one or more problem sets
 
** Export grades for one or more problem sets
 
** Export grades for one or more problem sets
 
** Set whether a problem / problem set should be reseeded after a certain number of attempts
 
** Set whether a problem / problem set should be reseeded after a certain number of attempts
 
** Import / Export homework sets
 
** Import / Export homework sets
  +
*** Export a problem set with all of its auxiliary files and transmit it to a colleague.
 
** Regrade a problem within a problem set after modification
 
** Regrade a problem within a problem set after modification
 
** Set default values for settings to apply to all newly created homework sets
 
** Set default values for settings to apply to all newly created homework sets
  +
** Assign problem sets to students in specified group
  +
** Turn on / off universal resources for students:
  +
*** R
  +
*** Sage
  +
*** whiteboard
  +
*** graphing calculator (especially with whiteboard)
  +
*** geometry software (geogebra, jsxgraph)
  +
*** simple calculator
  +
** Option to log unrecorded attempts submitted after due date has passed.
  +
** Assign the same random seed to all students for a particular problem or an entire homework set
   
  +
* Hardcopy of problem sets
  +
** Print hardcopy for proof reading
  +
*** Option to include hints and/or solutions
  +
** Print hardcopy to distribute to a student or students
  +
*** Option to NOT show hints and/or solutions
 
* Problem Pools
 
* Problem Pools
 
** Create a problem pool
 
** Create a problem pool
 
** Add / remove problems from a problem pool
 
** Add / remove problems from a problem pool
 
  +
 
* Problems
 
* Problems
 
** Edit a problem
 
** Edit a problem
Line 72: Line 143:
 
** Upload/Download one or more problems
 
** Upload/Download one or more problems
 
** View available problems
 
** View available problems
  +
*** identify/exclude problems already used
  +
**** in this assignment
  +
**** in any assignment for this course
  +
**** for a recycled course: identify when used in past
  +
*** enable a virtual library of problems
  +
**** used by this instructor in previous years
  +
**** used by colleagues, now or in past
 
** Search for problems
 
** Search for problems
 
*** By topic
 
*** By topic
*** By author
 
  +
**** DBcourse, DBchapter, DBsection
*** By institution
 
  +
**** keyword(s)
  +
**** text--author (edition), chapter, section
 
*** By type (multiple choice, numerical, symbolic)
 
*** By type (multiple choice, numerical, symbolic)
  +
*** by component: has solution, uses MathObjects,
  +
*** By author or directory
  +
*** By institution
  +
*** enable instructor preferences for starting new search
 
** Tag problems with relevant metadata
 
** Tag problems with relevant metadata
  +
** Tag problems with private metadata (like favorites (stars), or when last used, or other instructor-specific information)
 
** View a problem with a given seed (view a new version of a problem)
 
** View a problem with a given seed (view a new version of a problem)
 
** Add a problem to a problem set
 
** Add a problem to a problem set
  +
** Package a problem with all of its auxiliary files so that it can be shipped to a colleague (probably as part of a problem set)
  +
** Report a bug in a problem
  +
** report a common confusion with a problem
  +
  +
* Course management
  +
** disable "Show Solution" for all students --- primarily for use in huge classes where fraternities have comprehensive solution files
  +
** Archive a copy of the course for safety backup or for use next semester.
  +
** reuse a course
  +
*** revise dates: open, close, show ans & sol
  +
*** revise dates, automatically following some rules + standard holidays factored in
  +
*** treat collection of problems used previously as a virtual library
  +
** Specify desired notation for
  +
*** Vectors
  +
**** Angle versus round brackets
  +
**** Arrow versus bar versus bold
  +
**** Step functions
  +
**** ijk notation versus coordinate form
  +
*** Complex numbers (i versus j)
  +
** Download scores in a format that can be easily imported into an LMS gradebook
  +
  +
* Analytics
  +
** Store student performance for non-webwork assessments (e.g. paper/pencil tests, quizzes, etc.)
  +
** Provide statistics and performance by students on assignments for specified group(s) and specified course(s)
  +
** Provide performance across courses
  +
  +
* User Interface
  +
** Ability to customize the interface
  +
*** Ability to rearrange and resize components
  +
*** Ability to modify theme
   
 
=== Administrators ===
 
=== Administrators ===
Line 90: Line 203:
 
** Restore a course from backup
 
** Restore a course from backup
 
** Add / Remove / Edit users within a course
 
** Add / Remove / Edit users within a course
  +
* Use WeBWorK function calls in external scripts
  +
* System (with aid from IT expert)
  +
** backup crucial data
  +
** monitor important logfiles
  +
** identify which tasks to handle via cron, which by-hand
  +
* Easily import student demographic data from institutional data feeds.
  +
* enable easily-understood date display ($studetDateDisplayFormat !!)
  +
  +
=== Authors ===
  +
* obtain data about common errors on a problem, perhaps gathered only from courses on an MAA site
  +
* digest of student queries/complaints/praise (a selection of Email Instructor items)
  +
  +
=== Developers ===
  +
* Add a feature to webwork. E.G. Add the achievement system or some other feature which interacts with webwork in a non trivial way and requires persistence in such a way that it doesn't break installations of people who aren't using the feature.
  +
  +
* Automated assignments for students taking placement tests
  +
* Sharing of problem pools
  +
* (Easy generation / inclusion of additional tables: meta-data about problem pools, how to define student groups, ... so that these can be shared across institutions and installations of WeBWorK)
  +
* Model courses
  +
* Master courses (e.g. institution standard course, assign assignments from master course to specific course)
  +
  +
=== extended comments ===
  +
* A course-level schedule object could allow flexibility for an Instructor's tool to provide flexible management of dates for assignments together with associated actions.
  +
** dates for a single assignment (some selection/extension of the following)
  +
*** visible to students
  +
*** open
  +
*** dueDate
  +
*** date to show answers
  +
*** date to show solutions
  +
*** date ending opportunity for bonus credit
  +
*** date ending opportunity for reduced credit
  +
** flexible management of dates
  +
*** specify which event (previous list) has explicit calendar date
  +
*** specify delta-times for all other events (allowing "infinity" to hide all solutions from all students)
  +
*** specify fractions for bonus or reduced credit
  +
*** to simplify reuse of a course, allow use of a meta-schedule specifying just dates for the controlling event (but also allow revision of that during the term)
  +
*** select alternatives for summarizing the configuration to students (e.g., show text about dueDate together with icons indicating alternative credit stuff)
  +
** interface should clarify hierarchy for configuring this complexity, perhaps extra tab in Course Configuration which modifies course.conf as a record within an archived course
  +
  +
[[Category:Developers]]

Latest revision as of 22:59, 21 November 2013

This is a list of basic tasks desired by WeBWorK users (Students, instructors, administrators, etc.), as motivated by [1]. The intention is for this document to motivate back-end and API development.

Note that this is not intended to be a list of current functionality. It is a list of tasks that users desire to be able to do in the system.

Please feel free to add any missing tasks to this list.

Students

  • Problem/Problem Sets
    • View the list of my problem sets
    • View the list of problems in a problem set
    • Print my assignment
    • View a problem
    • Attempt a problem (enter answers and get feedback)
    • View my grades on the problems in a problem set
    • View my overall grades for all problem sets
    • View my performance compared to students in this class or this group from the current course or past classes
    • Get a new version of a problem
    • View my past answers to a problem
    • 'Save Progress' button for use with whiteboard or calculator resources
    • View assignments from different courses on same page
    • Sort assignments (e.g. by Course, by type, by completion or assigned date)
    • view completion status of each problem in an assignment while working on one of its problems
    • get context-sensitive help
      • info about type of answer: numeric (real, rational), functional expression, equation
      • info about necessary accuracy
        • programed or spontaneuous popup
        • decimal places vs significant figures
        • absolute or relative tolerance
    • Get a new, blank version of an assignment for review for an exam
      • View list of acceptable units
  • Hardcopy of homework sets
    • Print hardcopy of active homework set as a supplement to viewing the homework on line
    • Print hardcopy of a completed (past answer date) homework set for review
      • Option to print with or without hints.
      • Option to print with or without solutions.
  • User Management
    • Change my email address
    • Change my password
  • Communication
    • Email the instructor
  • User Interface
    • Ability to customize the interface
      • Ability to rearrange and resize components
      • Ability to modify theme

Instructors

  • User management
    • Add a user (or a few users) manually
    • Import users from a file
    • Update a student's information (login, email, name, id number, password, etc.)
      • Student status that includes "enrolled," but "disallow logins" (e.g., for old semesters). This might be a characteristic of a course rather than a student.
    • Act as a student (see what an individual student sees)
    • Delete a student
    • List all students
    • List all students in a given section / recitation
    • Assign problem sets to one or more users
    • View grades / progress for one or more users
    • View a student's past answers on a problem
    • Export list of users
    • Create a group of students by hand or through rules. Default group is one class.
    • Edit a characteristic or characteristics of many students (e.g., set student status to inactive/drop)
    • Have students generate ad hoc groups on the fly for working cooperatively on WeBWorK problems in class
    • Restrict TAs' access to students not in their recitation section(s)
  • Communication
    • Email a student / group of students / all students
    • Provide a chat interface with other members of the class with problem threads.
  • Problem Sets
    • Create a new problem set
    • Delete problem sets (choose problem sets and be presented with a window that lists problem sets to be deleted and has a "confirm delete" button)
    • Set the order in which the sets appear on the homework page. (and/or set the rules that determine this order)
    • Change the details of a problem set
      • Set Name
      • Open, due, answer dates
      • Reduced credit enable/period
      • Give an individual student, or group of students an extension of the due date.
      • Re-open a closed homework set for all students and set a new global due date. Should this override all local due dates (i.e., homework extensions given to individuals)
        • Suggested solution: When resetting a global due date a pop-up window warns if there are any individual overrides. The instructor has a chance to adjust these individual extensions or not as the situation warrants.
      • Whether to show hints / solutions, and when(should this be decided by the problem (e.g. PG code) or should it be set by the environment (webwork2)? Some combination?
      • Merge two or more assignments.
      • Edit the set header file (there should be only one set header file for both html and tex)
      • Other set-specific parameters
    • Specify different types of assignments, with separate grading and assignment rules:
      • Normal Homework Assignment (assigned to everyone in a (class or group), scored as normal homework)
      • Prep Assignment (assigned to specific groups, not part of normal homework)
      • Follow-up Prep Assignment (opened upon completion of Prep Assignment)
      • In-Class Problems (paired to in-class lecture, option for everyone to have the same seed. Different than normal homework.)
      • In-Class Group / Peer Problems (specific problem assigned to specific group for during class.)
      • Gateway Quiz problem set (how is this defined?)
        • Timed Test/Quiz problem sets
        • Userset Versioning of Test/Quiz problem sets
        • Test/Quiz problem sets composed of groups of problems (e.g., sections, with characteristics---e.g., problem order---that can be set by section, but the sections appearing in a specified order)
        • Allow restriction of student access to scores and previously submitted work
        • Hooks for Respondus and SoftwareSecure.com type workstation isolation software.
      • In-Class Quiz or In-Class exam set (scores distinguished differently from normal homework assignments)
      • Placement Testing Mechanism (e.g. student registration, reporting of scores and post-quiz message)
        • Read test scores/results for tests that run over-time and aren't otherwise allowed to be submitted
      • Master Type Sets (future problems or groups of problems determined by a ruleset that uses results on previous problems or groups of problems)---this should be able to play with testing and homework assignment types
    • Add problems / problem pools to a problem set
    • multi-stage scoring
      • current: reduced-credit period is offset backwards from dueDate
      • also: bonus-credit period is offset backwards from dueDate
      • also: full-credit with due-date, extend with reduced-credit for specified duration
      • full-scoring up to n tries before dueDate, then show ans/sol and reseed with reduced-credit before dueDate
    • Change settings for an individual problem within a problem set
      • Number of Attempts
      • Value
      • When to show hints (if available)
    • Assign problem sets to one or more users (possibly based on user criteria such as section / recitation)
    • Show or hide problem set to students. (visible/hidden)
    • View grades / progress for one or more problem sets
    • Set a student's score on a certain problem (e.g., to make up for a bug in the problem)
    • Export detailed information (as is shown under "student progress") on one or more problem sets
    • Export grades for one or more problem sets
    • Set whether a problem / problem set should be reseeded after a certain number of attempts
    • Import / Export homework sets
      • Export a problem set with all of its auxiliary files and transmit it to a colleague.
    • Regrade a problem within a problem set after modification
    • Set default values for settings to apply to all newly created homework sets
    • Assign problem sets to students in specified group
    • Turn on / off universal resources for students:
      • R
      • Sage
      • whiteboard
      • graphing calculator (especially with whiteboard)
      • geometry software (geogebra, jsxgraph)
      • simple calculator
    • Option to log unrecorded attempts submitted after due date has passed.
    • Assign the same random seed to all students for a particular problem or an entire homework set
  • Hardcopy of problem sets
    • Print hardcopy for proof reading
      • Option to include hints and/or solutions
    • Print hardcopy to distribute to a student or students
      • Option to NOT show hints and/or solutions
  • Problem Pools
    • Create a problem pool
    • Add / remove problems from a problem pool
  • Problems
    • Edit a problem
    • Create a new problem
    • Copy a problem
    • Upload/Download one or more problems
    • View available problems
      • identify/exclude problems already used
        • in this assignment
        • in any assignment for this course
        • for a recycled course: identify when used in past
      • enable a virtual library of problems
        • used by this instructor in previous years
        • used by colleagues, now or in past
    • Search for problems
      • By topic
        • DBcourse, DBchapter, DBsection
        • keyword(s)
        • text--author (edition), chapter, section
      • By type (multiple choice, numerical, symbolic)
      • by component: has solution, uses MathObjects,
      • By author or directory
      • By institution
      • enable instructor preferences for starting new search
    • Tag problems with relevant metadata
    • Tag problems with private metadata (like favorites (stars), or when last used, or other instructor-specific information)
    • View a problem with a given seed (view a new version of a problem)
    • Add a problem to a problem set
    • Package a problem with all of its auxiliary files so that it can be shipped to a colleague (probably as part of a problem set)
    • Report a bug in a problem
    • report a common confusion with a problem
  • Course management
    • disable "Show Solution" for all students --- primarily for use in huge classes where fraternities have comprehensive solution files
    • Archive a copy of the course for safety backup or for use next semester.
    • reuse a course
      • revise dates: open, close, show ans & sol
      • revise dates, automatically following some rules + standard holidays factored in
      • treat collection of problems used previously as a virtual library
    • Specify desired notation for
      • Vectors
        • Angle versus round brackets
        • Arrow versus bar versus bold
        • Step functions
        • ijk notation versus coordinate form
      • Complex numbers (i versus j)
    • Download scores in a format that can be easily imported into an LMS gradebook
  • Analytics
    • Store student performance for non-webwork assessments (e.g. paper/pencil tests, quizzes, etc.)
    • Provide statistics and performance by students on assignments for specified group(s) and specified course(s)
    • Provide performance across courses
  • User Interface
    • Ability to customize the interface
      • Ability to rearrange and resize components
      • Ability to modify theme

Administrators

  • Courses
    • Create a course
    • Change the name of a course
    • Make a course available/unavailable to students
    • Copy content (users, sets, problems) from one course to another
    • Back up a course / courses
    • Restore a course from backup
    • Add / Remove / Edit users within a course
  • Use WeBWorK function calls in external scripts
  • System (with aid from IT expert)
    • backup crucial data
    • monitor important logfiles
    • identify which tasks to handle via cron, which by-hand
  • Easily import student demographic data from institutional data feeds.
  • enable easily-understood date display ($studetDateDisplayFormat !!)

Authors

  • obtain data about common errors on a problem, perhaps gathered only from courses on an MAA site
  • digest of student queries/complaints/praise (a selection of Email Instructor items)

Developers

  • Add a feature to webwork. E.G. Add the achievement system or some other feature which interacts with webwork in a non trivial way and requires persistence in such a way that it doesn't break installations of people who aren't using the feature.
  • Automated assignments for students taking placement tests
  • Sharing of problem pools
  • (Easy generation / inclusion of additional tables: meta-data about problem pools, how to define student groups, ... so that these can be shared across institutions and installations of WeBWorK)
  • Model courses
  • Master courses (e.g. institution standard course, assign assignments from master course to specific course)

extended comments

  • A course-level schedule object could allow flexibility for an Instructor's tool to provide flexible management of dates for assignments together with associated actions.
    • dates for a single assignment (some selection/extension of the following)
      • visible to students
      • open
      • dueDate
      • date to show answers
      • date to show solutions
      • date ending opportunity for bonus credit
      • date ending opportunity for reduced credit
    • flexible management of dates
      • specify which event (previous list) has explicit calendar date
      • specify delta-times for all other events (allowing "infinity" to hide all solutions from all students)
      • specify fractions for bonus or reduced credit
      • to simplify reuse of a course, allow use of a meta-schedule specifying just dates for the controlling event (but also allow revision of that during the term)
      • select alternatives for summarizing the configuration to students (e.g., show text about dueDate together with icons indicating alternative credit stuff)
    • interface should clarify hierarchy for configuring this complexity, perhaps extra tab in Course Configuration which modifies course.conf as a record within an archived course