Difference between revisions of "User Stories"

From WeBWorK_wiki
Jump to navigation Jump to search
Line 205: Line 205:
   
 
=== Authors ===
 
=== Authors ===
* data about common errors on a problem, perhaps gathered only from courses on an MAA site
+
* 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)
 
* digest of student queries/complaints/praise (a selection of Email Instructor items)
   

Revision as of 09:39, 8 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
    • Get a new, blank version of an assignment for review for an exam
      • View list of acceptable units


  • 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
  • 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)
    • 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 upto n tires 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
    • 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
  • 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
    • 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