Computer-supported education

Close Index
Slovak title: Efektívne Počítačom Podporované Vyučovanie, 1993
Led by Ing. Štefan Švarc, PhD. A more recent version of the project is available here: IPPV.

Basic concept

Each student has a device (called a student mouse) with four keys. The teacher occasionally asks students questions with up to four possible answers (presented as options A/B/C/D). Answers are collected by a computer and validated against the correct answer, as defined by the teacher. Answers are scored and displayed per student in real time.
Class data are available for later analysis. Historical and statistical data by question/class/student are processed in a separate application.

PC - Devices Network
Figure 1 - PC to devices network
Devices are interconnected with a PC (communication with the devices was done via Centronics interface)

The software was initially implemented in MS-DOS. The application accessed the LPT port directly. This approach became an issue when we considered migrating to the Windows environment.
A suite of supporting applications was developed and coded in Borland Pascal 5.5. For time-critical sections, inline assembler was used.
EPPV screen
Figure 2 - EPPV Menu Screen

Functional design schema

- Each box has assigned a unique device number via DIP switches,
- The reset signal initializes the response capture cycle,
- The signal clock increments the internal counter on each device. The clock count is compared to the device number. If these two numbers match, the DEVSel signal becomes active.

- Combined with the lowest two bites (used to address individual keys), a state of the addressed key is copied to a shared signal BtnX.
- Since the PC controls the Reset and Clock signals, the control procedure always knows which key is selected.

To make this network work, one must consider the fan-out coefficient (the number of Inputs fed by a single Output). The concept of a shared BtnX signal can be implemented either as "three-state logic" or a technique called wired-AND (using open collector circuits).

The Circuit diagram below shows the building blocks of each device.
device block schema
Figure 3 - A Student Mouse Circuit diagram

Code examples

  • Demonstrated routines collect responses from connected devices. Coded in Borland Pascal / Inline assembler, compiled for MS DOS environment.
  • Keyboard driver code (no need for a TSR routine) handles regional characters.
  • String library with various string manipulation functions.
Last updated: July 2024