Amenity

Differences between revisions 19 and 20
Revision 19 as of 2006-06-04 16:05:41
Size: 6235
Editor: wsip-70-182-43-2
Comment:
Revision 20 as of 2006-06-04 16:10:28
Size: 6415
Editor: wsip-70-182-43-2
Comment:
Deletions are marked like this. Additions are marked like this.
Line 22: Line 22:
   * The teacher will be able to moderate the chat from the teacher client.
Line 29: Line 30:
 * A '''Class''' is a group of student profiles used to determine who can connect to sessions.
 * A '''Session''' is an instance of an activity sequence and a class that is allowed to access it
 * A '''Roster''' is a group of student profiles used to determine who can connect to sessions. This was called a '''Class''', but I changed the name to avoid confusion with the programming term.
 * A '''Session''' is an instance of an activity sequence and a roster that is allowed to access it

Summary

Amenity aims to provide an Activity Management System to be used (in conjunction with ["Pike"]) in classrooms and to be included in Edubuntu.

Rationale

Effective, easy-to-use educational software needs to provided to aid in the adoption of Edubuntu and OSS in the education world. Open source counterparts of commercial products are very important in this respect.

Currently, no system for computerized activities exists in Edubuntu. It would be useful for an educator to create a group of activities that students can complete from different computers.

Glossary

  • Activity refers to a computerized activity that educators create and students partake in. Activities include, but are not limited to:

    • Chat - An activity with a chat box for students to chat with each other about a designated topic.

      • The teacher will be able to moderate the chat from the teacher client.
    • File Submission - An activity where students upload files as specified by the teacher.

    • Journal - An activity with an area for students to record their thoughts on a certain topic.

    • Multiple Choice - An activity with a group of multiple choice questions for students to answer.

    • Notice Board - An activity with an area for teachers to present text (and optionally urls) to students.

    • Poll - An activity with a poll for students to vote on.

    • Question and Answer - An activity with a group of questions for students to supply answers to.

  • Activity Sequence refers to an ordered group of activities, to be used in a session.

  • A Roster is a group of student profiles used to determine who can connect to sessions. This was called a Class, but I changed the name to avoid confusion with the programming term.

  • A Session is an instance of an activity sequence and a roster that is allowed to access it

Use cases

  • Jane, an elementary school teacher, wants to her students to complete a series of activities on a computer. She uses Amenity to create an Activity Sequence and starts a session for her class to participate in. She monitors their progress as they complete the activities.
  • John, a school teacher, wants to evaluate his progress during the school year. Using Amenity he can see how much time was spent on each Activity Sequence and compare this to other sequences or similiar sequences used by colleagues.
  • Jill, a school district administrator, wants to standardize the lesson plans for the school district. She has a committee create Activity Sequences to be distributed and used in classrooms in his district.

Scope

  • Amenity will use the Pyro Nameserver and Eventserver, so the pyro package, may need to be included in the main repository.
  • For the Pyro Nameserver and Eventserver to run with SSL support, the packages m2crypto and openssl need to be installed. openssl is currently in the main repository, but m2crypto will also need to be moved from the universe to the main repository.
  • A new package containing a python module named education will be created. This module will contain models such as Class and Student that will also be used in the ["Pike"] project. The education module will also contain the amenity module, which contains all of the models used in this project.

  • Most of the Python GTK and Gnome bindings are included in Ubuntu, so these packages will probably not be altered.

Design

Teacher Client

Includes the Activity Manager window and the Activity Sequence Editor window.

Activity Manager

attachment:ams-mockup.png

  • New toolbar button opens the Activity Sequence Editor Window with a new Activity Sequence.

  • Edit toolbar button opens the Activity Sequence Editor Window with an existing Activity Sequence, chosen from a gtk File Chooser Dialog.

  • Open toolbar button creates a session with an Activity Sequence and a class chosen by the user and places it under inactive in the sessions tree.

  • Save toolbar button saves the state of the selected session.

  • Delete toolbar button deletes the selected session and it's saved state file.

  • The Session info tab displays information of the selected session.

  • The Monitor tab displays the activities and which students are currently taking part in each one.

  • The Students tab displays each student's progress through the sequence.

Activity Sequence Editor Window/Druid

These mockups were made with glade, but glade doesn't handle Gnome Druids well enough in my opinion. I will probably hard code the Druid.

attachment:ase-mockup1.png

attachment:ase-mockup2.png

attachment:ase-mockup3.png

  • Add button creates a new Activity of the chosen type, opens the Activity editor dialog for that type, and adds the activity to the activities tree.

  • Delete button removes the currently selected activity from the sequence.

  • Up button moves the currently selected activity up in the sequence order.

  • Down button moves the currently selected activity down in the sequence order.

attachment:ase-mockup4.png

Student Client

attachment:asc-mockup.png

  • Connect toolbar button opens a dialog that allows a student to connect to a session at a site (teacher's computer).

  • The scrolled window on the right will be used to display the activities as the student progresses through the session.

Implementation

Deliverables

  • Python module containing common education models/classes shared by Amentity and Pike
  • Python module containing models/classes exclusive to Amenity
  • Complete PyGTK applications utilizing these models
    • Amenity Teacher Client
    • Amenity Student Client
  • Method of importing/exporting Activity Sequences

Code

  • Technologies used
    • Python
    • PyGTK
    • Pyro, with SSL support

Data preservation and migration

Outstanding issues

BoF agenda and discussion


CategorySpec

Amenity (last edited 2008-08-06 16:33:27 by localhost)