OneBook Educational Technology



[pic]

Educational Technology

System Architecture

October 9, 2001

Project Sponsor

Professor Daniel A. Connors

Department of Electrical and Computer Engineering

University of Colorado at Boulder

Campus Box 425, Boulder, CO 80309-0425

Project Team

Joel Dice - Gabe Johnson - Jamie Lunsford - Eric Minick - Andrew Strotheide

Department of Computer Science, University of Colorado at Boulder

Table of Contents

1 Project Statement 1

2 Introduction 1

2.1 Team and Sponsor Information 1

2.2 Problem Context 1

2.3 OneBook Solution 1

3 Invocation 2

4 User Interface 2

4.1 Students and Instructors 2

4.1.1 Logging In 3

4.1.2 The Portal 3

4.1.3 Class Information 4

4.1.4 Assignments 4

4.1.5 Statistics 6

4.1.6 Filing Cabinet 9

4.2 Administrators 11

4.2.1 Logging In 11

4.2.2 The Portal 11

4.2.3 Users and Groups 11

4.2.4 File Permissions 12

5 Top-Level Modular Decomposition 12

5.1 Client 13

5.2 Web Server 14

5.3 Services 14

5.4 Data Storage and Retrieval 14

6 Summary 14

7 Document Revision History 14

Project Statement

In short, OneBook Educational Technology is a unified mechanism by which students and teachers can effectively exchange course materials for many classes, giving students the ability to archive that course data, and instructors the ability to compile statistics that represent their students’ abilities and performance in their classes.

Introduction

This document describes the system architecture of OneBook. It addresses the interfaces for the three types of OneBook users – students, instructors, and administrators – and outlines a modular decomposition of the software architecture we will employ. First, however, we introduce the team and sponsor, the problem context in which we are working, and the solution we will implement.

1 Team and Sponsor Information

Daniel Connors, the sponsor of this project, is a professor in the Department of Electrical and Computer Engineering, and the Department Computer Science at the University of Colorado at Boulder.

Joel Dice, Gabe Johnson, Jamie Lunsford, Eric Minick and Andrew Strotheide are senior undergraduate students in the Department of Computer Science at the University of Colorado at Boulder. The OneBook project is being undertaken by the five of them as part of their Senior Software Engineering Projects class.

2 Problem Context

At an abstract level, the educational process can be characterized by the exchange of information between students and instructors. Lately, technology such as the World Wide Web has affected this process, allowing instructors to post various forms of information to class web sites and, in some cases, allowing students to submit work and feedback electronically. However, the extent to which the Web is utilized for education varies dramatically, even within a college or a single department. Indeed, many of the most compelling tools for this application have proven too intimidating to all but the most enthusiastic teachers. Tools which compile and search databases of course work or generate detailed statistics to characterize student performance can be extremely helpful, but remain difficult to implement from scratch. The purpose of OneBook is to package these and other tools into a consistent and easy-to-use interface, adaptable to a variety of academic environments.

3 OneBook Solution

Figure 1-1 illustrates the principle services which OneBook shall provide to students and instructors.

[pic]

Figure 2-1: Top-Level Overview

As indicated, OneBook will allow students and instructors to share a variety of information, including assignments, grades, and feedback. Because this information persists in a database, it can easily be browsed and searched at any time – even years after the class of interest has ended. Moreover, OneBook will be capable of sorting and summarizing class information, thereby generating student calendars and performance statistics.

Invocation

All three types of OneBook users – students, instructors, and administrators – will access the system by pointing their web browser to the OneBook server. For example, a user would type a URL such as “” and be taken to the OneBook login screen described in the User Interface section.

The server-side components of OneBook will run as daemons which are invoked automatically at boot time.

User Interface

In this section, we describe the interfaces through which students, instructors, and administrators will navigate and use the OneBook system.

1 Students and Instructors

The user interfaces provided for students and instructors will often be the same, due to the corresponding overlap among the tasks each type of user will want to perform. Therefore, we describe a generic student/instructor interface which fulfills the needs of both types of user, distinguishing between the two only where their needs differ. Note that, in addition to the descriptions below, there is a navigable mock-up of this interface beginning at the following web address:



We recommend using a recent version of Internet Explorer to view it. Note that not all of the hyperlinks in this mock-up actually refer to pages – many of them exist only to indicate how the complete system will appear. Links which do not refer to anything are enclosed in parentheses in order to ease navigation.

1 Logging In

The first screen a user will see when visiting OneBook is the login screen. The portion of interest is illustrated in Figure 4-1. If the user enters a user name and password corresponding to a registered OneBook user, the submit button will take him or her to the portal screen.

[pic]

Figure 4-1: Login Fields

2 The Portal

After logging in, the user will be presented with a portal as illustrated in Figure 4-2.

[pic]

Figure 4-2: Portal

At the top is a menu bar with links to OneBook’s principle services, including the portal (Home), class information, access to the user’s filing cabinet, a calendar of events, help for the system, and a way for the user to log out of OneBook. This menu bar will be available throughout the OneBook interface. On the left is a portal-specific menu. In the main section, a list of announcements from all of the user’s current classes is displayed. To the right is a miniature calendar for the current month which highlights important events for that month.

3 Class Information

When the user clicks on the “Classes” link in the top menu bar, he or she will be taken to the Current Classes page, illustrated in Figure 4-3.

[pic]

Figure 4-3: Class Information

At this page, the user will have the opportunity to view several types of class-specific information for each of his or her current classes. In addition, the user may add or edit classes. Note that both students and instructors will need to perform these tasks. A student may want to create and edit a OneBook class corresponding to a class whose instructor is not using OneBook, in order to privately organize notes, assignments, and schedule information for that class. In addition, an instructor will need to create a OneBook class for organizing the same sorts of materials and making them available to students of his or her class.

4 Assignments

Users may view assignments for a given class via the interface shown in Figure 4-4.

[pic]

Figure 4-4: Assignment List

The link “Create an Assignment” shown on the left in Figure 4-4 takes the user to a page for inputting information for a new assignment.

1 Specific Assignments

Clicking on an assignment in the table shown in Figure 4-4 yields a page such as the one in Figure 4-5.

[pic]

Figure 4-5: Assignment Display

As the figure indicates, the data of interest for a given assignment include:

• assignment title

• due date

• topics covered by the assignment

• assignment text (instructions to the student)

• files associated with the assignment

Other data, such as the release date for an assignment, will be used by OneBook internally. The release date, for example, dictates when an assignment becomes visible to students.

2 Editing Assignments

As with creating and editing classes, both students and instructors may need to create and edit assignments for a given class. Figure 4-6 shows the editing interface for the assignment in Figure 4-5.

[pic]

Figure 4-6: Editing an Assignment

Here, users may change any aspect of an assignment as it is represented in OneBook, including all of those listed in the previous section. Note that the interface for creating new assignments is analogous.

5 Statistics

One of the most powerful features of OneBook will be to generate, organize and display statistics based on student performance. An instructor using OneBook may view statistics either for an entire class or some subset of students in that class. Such statistics might be generated for a specific assignment or a range of assignments, including a set of assignments covering a specific topic. A student of a class may also view performance statistics, including general class statistics and specific data for that student.

1 Class Statistics

Figure 4-7 shows an instructor’s interface for defining the statistics he or she would like to view. The instructor may select some number of students from the class in question, as well as some number of assignments, and view the relevant statistics in a bar graph or a table of numbers. The student’s interface for this process would be similar, except that the names of individual students would not be associated with their grades.

[pic]

Figure 4-7: Defining Statistics

Figure 4-8 illustrates a graph which an instructor might see upon clicking the “graph” button.

[pic]

Figure 4-8: Class Performance Graph

Figure 4-9 illustrates a table generated under the same interface.

[pic]

Figure 4-9: Class Performance Table

2 Statistics by Topic

The interface for viewing statistics by topics is exactly the same as the one described in the preceding section, except that the user selects from a list of topics instead of a list of assignments. Statistics are then generated for all assignments which cover the selected topics. This interface provides extremely valuable statistics to the instructor, regarding how well individual students understand individual course topics. This is a key difference between OneBook and other course tracking systems.

3 Adjusting Assignment Weights

Figure 4-10 shows the interface for adjusting the weights of each assignment for a class. This interface will be used by both students and instructors who wish to review the statistics described above. In the case of students, this interface will only be available when the instructor for the class in question is not using OneBook, and the student wishes to track his or her performance using OneBook. This provides a convenient way for the instructor to change the weights of assignments mid-semester, or to change the syllabus, without having to modify the properties of each individual assignment separately.

[pic]

Figure 4-10: Adjusting Assignment Weights

6 Filing Cabinet

OneBook users will want to organize work they produce for each of their classes. A user may accomplish this by uploading to, browsing, and searching their personal filing cabinet.

1 Browsing the Filing Cabinet

Figure 4-11 illustrates the methods by which a user may search his or her filing cabinet. Files may be displayed in one of several dynamically-generated hierarchies.

[pic]

Figure 4-11: Browsing

2 Searching the Filing Cabinet

Figure 4-12 shows how a user might perform a text search on the files in his or her cabinet. Users may restrict their searches to specific classes, topics, file names, and file types.

[pic]

Figure 4-12: Searching

3 Uploading to the Filing Cabinet

Figure 4-13 shows the interface by which a user may upload data to his or her filing cabinet.

[pic]

Figure 4-13: Uploading

Note that the interface for editing OneBook files (changing permissions, adding topics, etc.) is analogous.

2 Administrators

OneBook system administrators will require a completely different sort of interface from that of students and instructors, as there is little overlap in the tasks which the former and the latter must perform.

1 Logging In

Administrators will log in the same way as students and teachers (see Figure 4-1).

2 The Portal

When OneBook finds that a user is an administrator, it will present a portal specific to system administration. Note that, in the case of an administrator also being a student and/or a teacher, that user will need to have a separate login name for administrative functions. Figure 4-14 illustrates the administrative portal.

[pic]

Figure 4-14: Administrative Portal

3 Users and Groups

Administrators will need to be able to add, remove, and group OneBook users. Figure 4-15 shows the interface for these tasks.

[pic]

Figure 4-15: User and Group Maintenance

The upper portion of Figure 4-15 gives the interface for adding and removing users and groups. Users are defined by their login names, while each group is defined by a unique group name. The bottom portion of Figure 4-2 shows how users may be added to or removed from a specific group. A group might be a class, a set of students collaborating on a project, or some other set of students and/or instructors.

4 File Permissions

Figure 4-16 shows how an administrator will edit the permissions for a file. Note that OneBook will use access control lists (ACLs) to specify permissions.

[pic]

Figure 4-16: Editing File ACL

This interface gives administrators precise control over which users or groups may access which resources and how. Administrators may specify read, write, and execute permissions for each user/group, as well as add or remove users/groups to and from the ACL. Users or groups not listed in the ACL for a given file may not access that file in any way.

Top-Level Modular Decomposition

In addition to presenting a user interface, the OneBook system must, of course, perform a great deal of work behind the scenes. As represented by Figure 5-1 below, OneBook will rely on a four-tiered architecture, composed of a web client, a web server, several server-based services, and a data storage/retrieval system.

[pic]

Figure 5-1: Modular Decomposition

1 Client

The user accesses OneBook through a standard web browser. This will involve some client side JavaScript and may also require client-side Java Applets.

The client interacts with the rest of the system by sending HTTP and HTTPS

requests to the Web Server and receiving pages accordingly.

2 Web Server

The Web Server will accept requests from the client and serve it web pages that

are a combination of static HTML and dynamic content generated through a

technology similar to JSP or PHP. We certainly will take advantage of a third

party web server, and likely additional components which ease the use of PHP or

JSP. Interaction with the client will be through HTTP and HTTPS. When the client

requests some dynamic content, the web server will make a Java request to the

appropriate service(s). It will never interact directly with the underlying

database or Database Manager.

3 Services

Each of the core services that OneBook provides to its users will be made

available to the web server. The intent will be to require as little Java

knowledge as possible from the web page designers. The filing cabinet,

statistics engine, and tagging system are each candidates to be services. The

web server will access these services through a well defined API to be

determined later. Data will be accessed by sending requests to the Database

Manager. No direct (JDBC) access to the underlying data will be used from this tier.

4 Data Storage and Retrieval

The Database Manager controls access to the data OneBook reads and writes. It

accepts requests for objects, creates the objects from the underlying data

store, and returns the needed objects to the requesting service. It also accepts

requests to write objects into the data store. The Database Manager will be

responsible for authenticating the user’s rights to access or change the data.

Access to the underlying data store will utilize JDBC to interact with a single

SQL database. The use of a Database Manager allows for additional data sources

to be added by only modifying this tier.

Summary

This document has described the interfaces OneBook will provide for each of three types of user, as well as a top-level decomposition of the software architecture. Users of the OneBook system will enter, retrieve, and manipulate data via dynamically-generated web pages. That interface represents the first tier of a four-tier architecture which also contains a web server, several server-based services, and a data storage and retrieval mechanism.

Document Revision History

|10/4/2001 |0.1 |Original document creation |Joel Dice |

|10/5/2001 |0.2 |Added Invocation, expanded Summary, adjusted spacing |Joel Dice |

|10/7/2001 |0.3 |Added Statistics, overview diagram, updated a few screen shots, expanded certain |Joel Dice |

| | |interface descriptions | |

|10/7/2001 |0.4 |Grammatical/spelling corrections, page-numbering adjusted, shortened introduction, |Andrew Strotheide |

| | |dynamic figure renumbering added to text, added text to descriptions of some interface| |

| | |screens and a new, smaller (byte-wise) logo added | |

|10/7/2001 |0.5 |Brazenly overrode Andrew’s dynamic figure renumbering, added descriptions to every |Joel Dice |

| | |figure, fixed captions being separated from figures by page breaks | |

|10/7/01 |0.6 |Wrote a new project summary |Joel Dice |

|10/9/01 |1.0 |Moved overview diagram to Introduction; added some text to accompany diagram |Joel Dice |

|5/6/02 |1.1 |Implemented Bruce’s suggestions |Joel Dice |

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download