|
|
|
DYNAMIC WEB-BASED ASSISTANT TOOL FOR THE CLASSROOM Drs. Ali Setoodehnia* and Hong Li
*Department of Technology, Department of Computer Science Kean University 1000 Morris Ave. Union, NJ 07083 Emails: hli@kean.edu, or asetoode@kean.edu
Abstract In this paper, we present PERL / CGI and MYSQL for dynamic programming application which enhances the Web-Based application in classroom. The primary focus will be on the database design to store student and course information and online class quizzes. The paper will present step-by-step the design and implementation and show the simplicity of Integration of HTML and PERL CGI. Also, for the data security, the design of socket programming will be presented. As a result, dynamic web pages show the new trend for on line teaching tools for many courses, this will benefit both teachers and students to minimize their time and maximize the learning process.
Introduction: No matter what business you are in, the Internet is vital for conducting transactions and communicating with customers, and employees- and its essential that business-critical information transmitted online is protected from interception and tampering. The demand for exporting the computer networking and Internet services into home, schools, offices, or other locations are growing rapidly. One of the applications of this network is increasing the demand for distance education services and tools for students, faculty, and administrations. The dynamic web based system can offer flexibility and portability into all businesses around world. The focus of this paper is the application of Internet web base for on line courses. This application offers students access to registration, enrollment, course drop, syllabuses, quizzes, assignments, tutorials, simulations, grade standing, and bulletin board. Instructors are able to administrate the class on line, install courses, assignments, and create test or syllabuses. The rest of this paper will describe the architecture description of client/server based system for online course development and administrations. The Perl/CGI with mysql database is used for implementation. Also, the JAVA Applet is used for data simulation part.
2 Basic Principle of Client/Server system:
Although creating a static HTML site can be relatively easy, developing a dynamic site can be relatively complicated. Construction of dynamic site might require Software Engineering concepts and Webmaster service provider tools. In this paper a static/dynamic site is presented for online classroom application. However, it can be applied to many other applications. In general, Figure-1 shows the block diagram of a typical Client-Server network.
Internet Intranet
Figure-1 Client-Server Network
There are many ISP server service providers in market, they offer similar or different type of Internet services such as: Disk Space, POP Accounts, Data Transfer, IP address, Data Base, Sub-Domain, s etc. Currently the Dynamic Web-Based Assistant Tool For Classroom (DWATC) is implemented on server service provider which supports MYSQL database, CGI-Perl, Java APPLET, and C++ on UNIX platform. The Perl/CGI is used for the most of the classroom applications. Java Language is used to develop a Graphical User Interface (GUI) for data simulation network. The important feature of Java Applets is that they can be easily accessible over the Internet using popular WWW browser, such as Netscape and Internet Explorer. The main body of the software can include three main parts, the first part, the client application, provides visual interface for specific user-defined task. The user selects one out of the available options, supplies his data using an interface protocol and configures the simulation procedure. The second part, the main server, provides Internet connections to the third part, the local server, which analyze the data and send the results back to the client. The calculated results can be visualized using the graphical interface and stored at the local disk of the users. The development of graphical interface represents one of the most difficult and time-consuming parts of any user-friendly software. The security issue is addressed by resource access (such as data files on a disk) for Java Applets being restricted from Web navigators and the access to the servers that provide the analytical methods is performed only under the proper authorization protocols. These two features ensure the protection of local client resources from viruses that can be written using the Java language [2].
3. Architecture of DWATC: A general block diagram of the main page of the DWATC is shown in Figure-2. The major activates of this page are as follow:
Figure-2: Block diagram of DWBFC page
A brief description of each activity is presented next.
Student Activities: In this section, a student must first register for DWATC by submitting online registration form. Figure-3 shows a typical form. Student ID is supposed as student's social security number. The registration form can be modified to provide student ID by administration.
Figure-3: Student Registration Now, if the registration was completed successfully the message prompt will display it, otherwise need to completed again or send the message to administration. Once registered for the program, the student can go to other activities. Students are able to view the course catalog, enroll for a class, drop a class and etc. Figure-4 shows the enrollment form.
Figure-4: Enrollment Form Similar pages as Figure-4 are used for student to drop a class or view grade standing. The bulletin board is public to everybody. Students can post message viewable to all or select to post message viewable only to a group, such as group of all student in one specific class. Through the bulletin board, student can exchange information, discuss issues related to lectures, assignments, and etc. Figure-5 shows a typical message board.
Figure-5: Bulletin Board
All of the input information entered to any of the above forms by users is delivered to server. At the server site the Perl/CGI program will run the information and store the results in database or prompt a message back to the user with respect to the application. A general description of interaction of database interface (DBI) and Perl/CGI are presented latter in this paper.
Instructor Activities: Before instructors start working at the DWATC, they must get the permission from the administration using online permission form. This is similar to student registration form as shown in Figure-3 with different type of labels. A registered instructor is able to create Syllabus and Quizzes, install assignments, or lectures at any time. They can be performed either through the DWATC page or ftp to the server/instructor location. For generality, one of the online creating syllabus is shown in Figure-6
Figure-6: Creating Syllabus
The other Instructor accessories pages are similar to Figure-6, except the labels and content are different. For creating quizzes, instructor is able to create multiple choices questions and the answers one by one, then the database will create the quizzes and installed into the instructors course test list, Figure-7 shows a typical page. Students will take quiz online and the grade can be posted either immediately after the submissions or anytime determined by instructor. Tests can be scheduled differently with respect to timing and reliability. The instructors lecture and notes can be easily loaded onto address: server/instructor/LectureFolder. To load information to instructor folder follow the below steps:
You should see the transmission message.
Figure-7: Create Quiz
4. How the Perl/CGI and DBI works: DBI is an interface specification for accessing databases from Perl programs. It allows Perl programs to access databases in Oracle, mySQL, Informix, SQL Server, etc. DBI is a database-independent set of routines for manipulating databases. However, DBD (Data Base Driver) modules interface between DBI and the underlying database management system (these are specified to a particular database you intend to use).
The following lines can be used to show which DBD is installed in your server:
#!/usr/bin/perl Use DBI; @drivers = DBI -> available_drivers (); Foreach $driver (@drivers) { print " $driver\n";} For example, the above code may produce: Proxy, Mysql, Oracle In order to access the database in perl program the following lines need to be included.
#!/usr/bin/perl use DBI; $datasource = "dbi:mysql:database_name"; $Username = "guest"; $password = "changeme"; $dbh = DBI - > connect ($databsource,$username,$password); # Perform some operations on the database $dbh ->disconnect
A complete example of Perl/CGI and DBI program for registration is listed below:
#!/usr/bin/perl5.004 # This is script responding student registration form # read in data and write to student table
use DBI; ####################################################################### read(STDIN, $data, $ENV{"CONTENT_LENGTH"}); @field = split(/&/, $data); foreach $item (@field) { ($name, $value) = split(/=/, $item); $value{$name} = $value; } $ssn = $value{"ssn"};$sex = $value{"sex"};$lname = $value{"lname"}; $fname = $value{"fname"};$street = $value{"address1"}; $city = $value{"city"}; $state = $value{"state"}; $zipcode = $value{"zip"}; $telephone = $value{"tel"}; $email = $value{"email"}; $degree = $value{"degree"}; $tel = join("", split(/-/,$telephone)); $telephone = join("",split(/\(/,$tel)); $telephone = join("",split(/\)/, $telephone)); $dbh = DBI->connect('dbi:mysql:learninigi_center', 'username','password'); $sql = "select lname, fname from student where ssn = $ssn"; $sth = $dbh->prepare($sql); $sth->execute; if(@row = sth->fetchrow_array) { $message= " You already registered with ID: $ssn"; $lname = $row[0]; $fname = $row[1]; } else {$sql = "insert into student values(\"$ssn\", \"$sex\",\"$fname\", \"$lname\", \"$street\", \"$city\", \"$state\",\"$zipcode\", \"$telephone\", \"$email\",\"$degree\")"; sql($dbh, $sql); $message ="You have successfully registered to learning center!\n"; } sub sql {$dbh = @_[0]; $sql = @_[1]; $sth = $dbh->prepare($sql); $sth->execute || die " couldn't execute"; } print "Content-type: text/html\n\n"; print "<html>"; print "<head><title> Registration </title></head>"; print "<body>\n"; print "<p>Thank you, $fname, $lname </p>\n"; print "<p><h3>$message</h3>\n"; print "<p><h4> <a href =\"http://www.xxx.zzz\">Click here to return to learning center homepage</a>"; print " </body></html>";
5. Data Simulations at Virtual Computer Lab (VCL): This section of DWATC is used for data simulation. The application of this can be used for system identification or prediction as long as the system is controllable and observable. Supervised and self-organized neural networks are used as the solutions[ ]. The procedure for VCL Lab is installed at the site. The user can read the procedure for VCL Lab, and then do the online simulation. Data can be imported from keyboard or file for preliminary experiments; this is good for small data set. However, if the results of a sample are good, the socket connection can be used for large data set[ ] The Java Applet was used for data simulation part.
6. Conclusion: The DWATC architecture model of web-based classroom tool and simulation lab was proposed. This model contains different activities and parts to support interaction between instructors and students with minimal administration involvements. This model is very simple and can be easily implement. Student at DWBFC can register, enroll course, read the lectures and notes, access the tutorials, take quiz, post message on the classroom board, email, view his/her grading progress during the course. This model was used for C++ class and student's evaluation was very positive. Instructor at DWATC is capable of creating quizzes, install syllabus, lectures, tutorials, assignments, and record grades. The Perl/CGI and mysql was used for these components. Also, the DWBFC is capable of data modeling using ANN methodology for different applications. The java applet was used for this part.
References
A. Setoodehnia, H. LI; "Artificial Neural Network and Virtual Computer Laboratory, The Proceedings of the 2001 WIECC, Kish Island |
|