To Teaching Classes


Summary of Software


This document summarizes the software associated with Web classes. Software includes HTML code, Javascript, Perl scripts, csh scripts, makefiles, fortran programs, and aliases.

Contents

General info
Summary
Setting up class web pages
Template
Preparing for classes
Buttons
Gifs2html and jpgs2html
Idx
Gif2ps
While teaching classes
Live.rpm
Loglink
Backchat
Savebrd
While archiving classes
Cut and Ins
Events
Addlec
CD-Rom creation
CreateCD
Utility
Substi

General Summary

Locations

The instructor software and web pages are pushed below the instructor's public_html directory during setup. There are also names added to the .tcshrc file in the instructor's home directory.

Most general software is located below the mechanical engineering web page subdirectory

/home/e96/httpd/coedocs/departments/mechanical/courses/web

Some of the public relations stuff as well as some fortran programs are located higher up, below

/home/e96/httpd/coedocs/departments/mechanical

Then there are two perl scripts in the cgi-bin directory

/home/e96/httpd/cgi-bin
to wit, backchat.pl and loglink.pl

Currently, whiteboards are written to Dr. Van Dommelen's directory to reduce class setup time.

Protections

The file

/home/e96/httpd/coedocs/departments/mechanical/courses/web/restperm
will reset almost all file permissions if someone messed them up. You may need to make the file itself executable, of course. However, backchat.pl and loglink.pl in the system cgi-bin directory will have to be reset by a user with system privileges (to o=rw).

Template

Purpose

The template directory is used to set up web pages for new web courses.

Summary

The web course coordinator will cd to .../courses/web/template and read the instructions in copyit.

Implementation

Contents

Buttons

Purpose

The buttons command creates buttons for the lecture notes on the live lecture web page. It also has the capability of wrapping images inside .html files.

Summary

The instructor will change to the directory with the lecture notes, possibly with help of the command "gotop" (go topics) and the issue the command "buttons files_to_add". This will add the specified files to a text file in the course's live/ directory called buttons.txt. The instructor is then put into an editor to allow him/her to edit buttons.txt and get rid of the buttons for notes that are no longer used. He/she can also add mnemonics for the various lecture note slides at the start of their lines if desired. Based on what is in the buttons.txt file after the instructor exits it, the lecture note buttons will be created.

Implementation

Contents

Gifs2html, Jpgs2html

Purpose

Put all the .gif (respectively .jpg) files in a directory in their own .html wrapper and index them in a file index.html. This creates an index of scanned lecture notes. Note that the "buttons" command, used to prepare live lecture lecture note buttons, has equivalent functionality.

Implementation

Contents

Idx

Purpose

Idx will create chapter indices of a specified set of HTML files. It will also color-code them. It will also chain them together so that you can read them in series without going over the index each time.

Implementation

Contents

Gif2ps

Purpose

Gif2ps is an executable in the .../courses/web/bin/ directory that converts gif pictures (up to about 575 pixels wide) into postscript. These can then be included in TeX documents. Typically, this is done by putting \hbox{\epsffile{file_specification}} in displaymath mode. Under X-windows, the xv command does a better job, though.

Contents

Live.rpm

Purpose

.../courses/web/live.rpm determines from which server live video streams are sent.

Contents

Loglink

Purpose

Loglink keeps a record of what web pages the instructor loads during class, and at what time. The purposes are:

  1. During live lectures, it allows the web students to load the same web page as the instructor is on by clicking a "catch-up" button, (the "N" button on the live lecture page.)
  2. During live lectures, it allows the instructor to load the next slide in the series by simply cliccking the same "N" button. This works as long as the next slide is a logical numerical continuation of the previous slide name. For example, slide004.html will go to slide005.html.
  3. The recorded data are used to auto-load the web pages when the archived videos are played.
  4. The recorded data are also used to add links on the web pages to the videos.

Summary

Although the instructor's live lecture web page looks like the ordinary live lecture page, it is internally different. The buttons on the instructor's page do not directly load the lecture notes. Instead they request the lecture-note web pages from the script loglink.pl in the system cgi-bin directory. Loglink.pl tells the instructor's browser to load the web page, so the final visual effect is the same. But loglink.pl also logs the time and name of the lecture note page in a [course].txt file. This provides the data to link archived videos to lecture notes and lecture notes to archived videos. Further loglink.pl creates a [course.html] file that redirects the students to the web page. In short, when the students click the catch-up button during live lectures, it loads [course.html] and that file in turn loads the web page the instructor is discussing.

Implementation

Contents

Backchat

Purpose

Backchat is the program that runs the chatbox during live lectures. It also keeps records of everything said in the chat box, and allows the instructor to check attendance of the web students.

Summary

The live lecture page loads .../courses/web/backchat/[course].html into an appropriately-sized frame. [course].html itself further subdivides its frame into two: the top part is the input frame [course]form.html and the lower part loads .../courses/web/backchat/writable/[course].html (showing what people have last said in the chat frame). Whenever people input data through the top part, it is send to the script backchat.pl in the system cgi-bin directory. Backchat.pl then adds their input to the chat shown in the lower part, and refreshes their top part. The chat in the lower part self-refreshes every 3 seconds to keep current when other people chat. In order to identify the person who makes a remark, (picture, E-mail address, web page, ...) backchat.pl uses a user data file .../courses/web/backchat/data/users.fil that organizes the data on all users by user IDs. File users.fil must be updated whenever new users and instructors join.

Implementation

Contents

Savebrd

Purpose

Savebrd is a command that the instructor can issue to save the whiteboard dumps.

Summary

To save the whiteboards, the instructor will have to mount his/her Unix disk to the presenter PC. The instructor also needs to use telnet to start a Unix shell and issue the "savebrd" command from that shell. Then, during the lecture, the instructor needs to save the whiteboard as 0.gif to the whitebrd directory under the course directory. As soon as the instructor has saved to this file, the whiteboard will be available full size to the web students. Also, after about 5 seconds, the whiteboard will be copied to a file with a different number, so that it will not be lost when the instructor saves the next board.

Implementation

Contents

Cut, Ins

Purpose

cut.bat and ins.bat are DOS batch files that are used to process archived lectures. cut.bat cuts junk from the start of the archived video. ins.bat inserts the links to the lecture notes into the video, causing the lecture notes to load automatically at the right times.

Implementation

Contents

Events

Purpose

Uses the loglink data to make a list of when the instructor loaded the various lecture note web pages. This lists is then used to auto-load the lecture notes for the archived videos.

Implementation

Contents

Addlec

Purpose

Addlec finishes the creation of an archived video.

Implementation

Contents

CreateCD

Purpose

Makes a CD from the class after the semester is over.

Usage

Contents

Substi

Purpose

Substi is a general purpose substitution program. It is used all over the place in other programs.

Implementation

.../substi/substi substitutes one string by another in a file. The string and its replacement must be consecutive lines in an input file. You can have more than one pair in the input file. The latest version is sensitive to trailing blanks, watch out.

Contents


To Teaching Classes