lesson. Aside from a Wi-Fi connection, a web server should be set up either on ... LAMP (Linux, Apache, MySQL, PHP) software pack installed will be enough to ...
STUDENT PRESENTATION VOTING SYSTEM In response to Mr Tolga Soyata’s question on Research Gate regarding the implementation of up/down voting for students’ presentations held in class before peers this is a possible solution.
1
INFRASTRUCTURE
This implementation could take advantage of existing infrastructure provided it exists within the complex where lessons are being held. I assume that the complex had an available wireless connection available for students to which they can connect at any time during a lesson. Aside from a Wi-Fi connection, a web server should be set up either on a physical machine or on a virtual machine (I’d suggest this approach). A simple and free instance of Debian, Ubuntu, Fedora, CentOS or any other distribution of a GNU/Linux operating system with LAMP (Linux, Apache, MySQL, PHP) software pack installed will be enough to host the service. If possible, the IP address of the web server (virtual machine) should be statically assigned and set and preferably, if available, in an Intranet DNS a domain would be created to point traffic to this IP address. For example, if the IP address of the web server is 192.168.20.234 and a domain is vote.class, the DNS would treat them as aliases, so that students would type http://vote.class in their web browser and would be served a web page from the aforementioned IP address.
2
WEB SERVICE
The web service would be a very simple PHP application connected to a simple MySQL database. A sample structure of the database could be built around a set of tables as follow: vote_students id
INT(10)
PK AUTO_INCREMENT
index
VARCHAR(9)
UNIQUE
forename VARCHAR(64) surname
VARCHAR(64)
This is a sample table holding student login information which will be used for student login to the voting system.
vote_courses id
INT(10)
PK AUTO_INCREMENT
name VARCHAR(64) UNIQUE This is a table listing all available courses.
vote_presentations id
INT(10)
PK AUTO_INCREMENT
course_id INT(10)
FK -> vote_courses.id
name
VARCHAR(64)
date
DATE
active
TINYINT(1)
DEFAULT 0
This is a table listing all presentations. The application will display only presentations for a selected course which are registered under the current date and which are active. SELECT id, name FROM vote_presentations WHERE course_id = :selected_course_id AND date = DATE(NOW()) AND active = 1
Sample SQL query:
vote_votes id
INT(10)
PK AUTO_INCREMENT
student_id
INT(10)
FK -> vote_students.id
presentation_id INT(10)
FK -> vote_presentation.id
timestamp
TIMESTAMP
CURRENT_TIMESTAMP
vote
ENUM(1, -1)
INDICES
UNIQUE INDEX ( student_id, presentation_id )
This is a table which will hold vote information. Every student can vote for each presentation only once and the vote can be either -1 or 1, down or up vote, respectively.
3
USER INTERFACE
The user interface should be simple and intuitive, without unnecessary text, images and colours outside the required branding and visual identity requirements of the University.
3.1 LOGIN PAGE
Student ID Login
3.2 COURSE SELECTION PAGE
Select the course RESEARCH ON ANTISOCIAL BEHAVIOR SOCIAL COGNITION AN APPROACH TO HUMAN MOTIVATION RESEARCH LAB IN SOCIAL PSYCH PSYCHOLOGY OF HEALTH
3.3 VOTING UP/DOWN AN CURRENT PRESENTATION
Vote for the active presentation Presentation name Team members
Moral development Jane Doe Joe Bloggs Mary Major
Click to vote
These layouts are simple and would look very well on mobile phone and tablet layouts, yet still informative and straight forward even on a netbook or laptop size device.
4
VOTE RESULTS
Presenting the vote results for a certain selected presentation would be a simple matter of writing out an adequate SQL query. An example based on the suggested base table design follows: SELECT SUM(U.down) downs, SUM(U.up) ups FROM ( SELECT COUNT(id) down, up = 0 FROM vote_votes WHERE presentation_id = :selected AND vote = -1 UNION SELECT 0 down, COUNT(id) up FROM vote_votes WHERE presentation_id = :selected AND vote = 1 ) AS U