Difference between revisions of "User Stories"

From WeBWorK_wiki
Jump to navigation Jump to search
m
m (Problem sets: reduced credit enable and its period)
Line 65: Line 65:
 
*** Set Name
 
*** Set Name
 
*** Open, due, answer dates
 
*** Open, due, answer dates
  +
*** Reduced credit enable/period
 
*** Give an individual student, or group of students an extension of the due date.
 
*** 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)
 
*** 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)

Revision as of 11:50, 2 June 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
      • View list of acceptable units


  • User Management
    • Change my email address
    • Change my password
  • Communication
    • Email the instructor

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
  • 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
    • 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
      • 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
    • 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
    • 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
  • 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 (editi on), 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
    • 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
    • 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)
  • 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

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.

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)