Difference between revisions of "User Stories"
Jump to navigation
Jump to search
(→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) |
|||
(35 intermediate revisions by 10 users not shown) | |||
Line 20: | Line 20: | ||
** View assignments from different courses on same page |
** View assignments from different courses on same page |
||
** Sort assignments (e.g. by Course, by type, by completion or assigned date) |
** 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 27: | 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 33: | 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 43: | Line 63: | ||
** Export list of users |
** Export list of users |
||
** Create a group of students by hand or through rules. Default group is one class. |
** 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 |
||
− | ** Create pools of problems (which are currently problem sets) |
||
+ | ** 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, |
+ | *** 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 |
*** Other set-specific parameters |
||
** Specify different types of assignments, with separate grading and assignment rules: |
** Specify different types of assignments, with separate grading and assignment rules: |
||
Line 65: | Line 90: | ||
**** Userset Versioning of 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) |
**** 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) |
*** 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) |
*** 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 75: | Line 109: | ||
** Show or hide problem set to students. (visible/hidden) |
** 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 |
||
Line 89: | Line 125: | ||
*** geometry software (geogebra, jsxgraph) |
*** geometry software (geogebra, jsxgraph) |
||
*** simple calculator |
*** 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 |
||
Line 100: | 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) |
** 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 |
* 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. |
** 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 |
* Analytics |
||
** Store student performance for non-webwork assessments (e.g. paper/pencil tests, quizzes, etc.) |
** 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 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 127: | Line 204: | ||
** Add / Remove / Edit users within a course |
** Add / Remove / Edit users within a course |
||
* Use WeBWorK function calls in external scripts |
* 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
- Ability to customize the interface
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
- Print hardcopy for proof reading
- 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
- identify/exclude problems already used
- 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
- By topic
- 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)
- Vectors
- 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
- Ability to customize the interface
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
- dates for a single assignment (some selection/extension of the following)