Data Structure: Users

Download Report

Transcript Data Structure: Users

Technical Introduction to the
LearningOnline Network with CAPA
(LON-CAPA)
Network Architecture:
Distribution
•LON-CAPA is
build as a
geographically
distributed
network of
constantly
connected
servers
Network Architecture:
Domains
•The network is logically divided into
domains such as “MSU”, “FSU” or
“Publisher X”
•Domains limit the flow of user
information
•Domains can limit access to content
resources
•Domains limit the extent of user
privileges
Network Architecture:
Server Types
•Two classes of servers: access
servers and library servers
•Access servers: host user
sessions – processing
•Library servers: every user
and course has a home server
in the network which holds all
of their resources and data –
storage backend
Network Architecture:
Load Balancing
•Access servers can have a list of spare access
servers to offload sessions depending on own
work load
•Additional round-robin IP scheme possible
•MSU setup: msu.lon-capa.org
Round-Robin
s1
s4
s2
Spares
Library Server
s3
Network Architecture:
Dynamic Replication
•When a content resource is first requested, the access
server finds the home library server of the author/owner,
subscribes to the resource, and copies it in the
background.
•When resource is modified on its library server,
subscribed access servers are notified.
•Depending on last date of local access, the access
servers copy the new version over, or delete local cached
copy.
Resources: Handlers
•Every resource in the system, both content and
system programs, is called by URL – all resources
can be bookmarked.
•Any resource can be processed on-the-fly while
being delivered to the user.
•User calls for a resource, LON-CAPA finds
appropriate chain of handlers, processes resource for
desired target, and sends it out.
•Chain of handlers can also cover several
transactions. Example: user calls for URL, but needs
to login first and then pick course.
•All handlers can interact with session environment
Resources: Documentdriven processing
•Example: user calls for sample.xml
sample.xml
Uses my.style
triggers
XML Handler
User
my.style
Defines tags for targets
loads
Target
Session
Preferences Environment
Resources:
XML/MathML/HTML
•XML handler provides rendering of XML and HTML to
targets XML, HTML, MathML, and LaTeX
• Math rendering capability: LaTeX can be inserted into
HTML and XML documents between <m> and </m>
tags.
<h1>Identity</h1><img src=“circle.gif” align=“right”>
The <i>identity</i> <m>$\sin^2(\omega t)+
\cos^2(\omega t)=1$</m> allows us to…
•Math fragments are rendered into symbol fonts for
target HTML, and MathML for MathML-capable
browsers using a derivative of tth/ttm.
Resources: LaTeX
•LaTeX files can be directly put onto the file system, and
will be automatically handled as if they had
one large
<m>…</m>
around them
Resources:
Assessments
•“Personalized” by course, user, and instance.
•Assessments are XML documents.
•Converters for both CAPA and LectureOnline problems
exist (functionality superset).
•Web-based form editor for these XML documents will
be provided similar to LectureOnline.
•Code segments within numerical type problems are
written in Perl.
•Other problem types need no coding.
Resources: Publication
•Authors have a construction space (private) to
edit their resources
•Authors can publish their resources into the
public resource space
•Triggers several actions: generation of a new
version (keeping all old versions), collection of
metadata for cataloging, notification of all
subscribed access servers.
Construction Space
Publication Step
Metadata
Resource Space
Resources: Metadata
•Metadata is collected for every resource at
publication time
•Publication
handler
identifies
possible
keywords,
gets default
data
Resources: Granularity
•LON-CAPA allows to dynamically
combine content resources at several levels
of granularity by reference
•Lowest level: fragments. One GIF, one
paragraph of text, one applet, one problem
•Next level: Pages
•Next level: Sequences of pages
•Top-level: Maps for Courses (sequences)
Resources: Assembly
•Pages can be constructed
from fragments and other
pages
•Sequences can be
constructed from fragments,
pages, and other
sequences
•Courses point to (top-level)
sequences
•Maps at every level are
simply other content
resources
Resources: Adaptivity
•Graphical resource assembly tool (RAT) to construct
maps
•Allows for
branching
based on
conditions using
performance data,
course data,
and preferences
•Individualized
curriculum
Resources:
Accessibility Options
•All resources can be processed by a chain of
handlers
•Preferences, etc, stay with students across
courses and semesters
•Branching conditions can be inserted into
resource maps which can depend on
preferences
•Should allow us to implement accessibility
options at the server level
•We will work with offices on campus
Data Structure: Users
•Courses are assigned to users, not vice versa
•Users keep their login, data, preferences, etc,
throughout complete tenure
•Users assume a set of (temporary) roles over
their tenure
Data Structure: Roles
•LON-CAPA has set of roles that can be
assigned to users
•Roles can have start and end dates
Data Structure:
Privileges
•Each role has a set of privileges
•Privileges on
system, domain,
and course level
•Allows for
coursecoordinator
defined custom
roles
Data Structure:
Courses
•Internally, courses are handled like users
without login privileges
•Each course has a unique ID, no semester
transition
•Course points to its top-level resource map
•Deadlines, spreadsheets, etc, can be associated
with the course
•Sections are part of course
•Homework and quiz performance data is
associated with user by course
Data Structure:
Authentication
•Course lists in CSV, tab-separated, and space separated
format can be uploaded (planned: XML)
•It is checked if the user already exists; if not, new user
is established on one of the library servers of the domain
•Role of student in that course is added
•Users are authenticated by their home server.
Authentication can currently be internal, UNIX, or
Kerberos. Authentication modular, other modes can be
added
•All authentication information is 56-bit (DES)
encrypted between client and server, and 128-bit
(IDEA) between servers. No certificates necessary.
Data Structure:
Resource parameters
•Deadlines, open dates, publish-answer dates, maximum number of
attempts, weight of problem parts, etc, can be independently set for
courses, sections and individual students
•Can cover all
resources, one
map, or only
one resource
•Resources
publish their
parameters in
metadata, no
predefined set
of parameters
Data Structure:
Locking, Offline
•To use LON-CAPA for exams, locking
mechanisms will be established: access to
resources, all communication can be locked
(planned, infrastructure in place)
•Role of Exam Proctor in system
•To facilitate paper based exams in offline mode,
individualized exam sheets can be printed and
“checked out” – bar code on top of page to
“check in” grades for that exam (planned,
infrastructure in place)
Data Structure:
Assessment data
•Only raw data is stored
•All attempts are stored
•Data is stored in non-randomized form to allow for item
analysis
•LON-CAPA provides
spreadsheet functionality
with sheets at
assessment, user, and
course level (exporting
into each other) to
calculate grades and
statistics
Coding: Environment
•LON-CAPA runs on Linux (target for
installs: RedHat distribution)
•Apache webserver
•mod_perl for server-side handlers
•JavaScript for client-side functionality
•MySQL as database for metadata searches
(planned)
•MuPAD for symbolic manipulations
(planned)
Coding: License
•The LON-CAPA code will be distributed under a
GNU public license
•Code will be made available for download free of
charge
•Installation CDs and printed documentation will
be provided at cost
•A CVS repository will be set up for code
contributions
•Contrast: Content Resources (subject of ITR
research)
Status
•Infrastructure (load-balancing, replication, inter-server
communication, etc.) functional
•All basic learner functionality in place
•Chatrooms, internal email, locking mechanisms, etc,
(“accessories”) still missing
•Infrastructure in place for course management, but
instructor user web interface missing
•CAPA problems supported, fine-tuning on the converter
necessary
•All LectureOnline problem styles except imagemap
supported
•Currently running in two courses at MSU
Outlook
•Lots of work left to do, lots of
questions to be answered, lots of ways
to get involved …