1. Introduction

CSTutor allows students to view highly navigable lesson plans, and provides a friendly environment for students to get help from professor and other students via a message board, chat room, and remote access assistance. It also lets students take quizzes while being tutored. Students can log in anonymously or by using the same account name when log in their workstations.

1.1. Problem Statement

The general problems to be solved by the CSTutor are the following:

    a. to provide additional help for students out of class.

    b. to allow professors to support student easier via a chat room or the message board.

While these problems have been solved by a number of web based software, however those aren't complete and lack of functionality. 

1.2. System Personnel

The personnel involved in the CSTutor project are organized into the following groups and subgroups:

    a. end users

      i. teachers

      ii. Registered users

      iii. Unregistered users

    b. system developers

    c. software engineering students

End users are those who use the CSTutor for its intended purpose.  Registered users have their information and scores store on the workstation they're using and may concurrently enroll in CSC course.. Teachers may create a lesson/section and able to access/review Registered users' statistics. Lastly, Unregistered individual users are those who log in anonymously.

The primary system developer is Gene Fisher.  His efforts are based on the work of a number of software engineering students who have used the CSTutor as a class project in software engineering courses. 

Student whose work has been particularly helpful are Tommy Tsan, David Gurba, Derrick Lau, Nolan Marcy, and Hiep Nguyen.

1.3 Operational Setting

There are two operational settings for the CSTutor: (1) normal use as a functional tool; (2) use as an example in software engineering courses.

Since the CSTutor is designed as a general public domain software, the specific operational setting is in an higher education academic environment with students and instructors signed up in particular classes. The setting for which it is appropriately suited for a home computer as well as a class room or computer lab.

For use as a pedagogical example, the CSTutor has been designed to fit the curriculum used by Gene Fisher in undergraduate and graduate software engineering courses at Cal Poly University. These courses are two-quarter sequences that cover standard aspects of software engineering, with emphasis on the practical application of formal methods. For the most part, the concepts covered in these courses, and hence the concepts embodied in the CSTutor, are mainstream software engineering. Other instructors may therefore find the CSTutor and its development artifacts useful as course examples.

1.4. Impacts

The positive potential impacts of the CSTutor as a functioning system is increased students' knowledge in their current course. The positive impacts of the CSTutor as a course example are:

  1. the presentation of a non-trivial software system that students can use as a guide for their own software development work.
  2. an illustration of how formal methods of can be put to practical use.

Potential negative impact is that it probably won't provide the same human-to-human quality as the current live tutoring center, and should not be considered a substitute for the live tutoring center.  Another negative impact includes sloppy or erroneous content created by instructors and/or others; problems with the student evaluation component that give a false (positive or negative) impression to students about their progress.  If the system is poorly designed and implemented, it can be inconvenient to use. If the system is flawed, it may reveal information that users do not wish to be revealed.  Generally, the use of the CSTutor has no significant negative impacts, unless its development methodology is considered weak or unrelated to the concepts being taught in a particular course. Such negative impacts can be easily avoided if instructors carefully examine the example before using it in a particular software engineering curriculum.

1.5. Related Systems

CSTutor is the first that provides full functionality.  Some current web based systems that provided some functionality to the CSTutor include

    * Black Board

    *developer.java.sun.com/developer/onlineTraining/

Each of these systems provides a mixture of functionality and CSTutor will provide the important core features found in these tools and add some more is added.