Aspects of the present invention relate generally to a classroom polling system to assist students and instructors in a classroom environment. More specifically, aspects of the present invention provide methods and systems for an instructor to periodically poll students to ensure that educational material being presented is being comprehended by students.
The interaction between a student and a teacher is a key component of learning. In small classrooms where the instructor can wander from desk to desk among a handful of students, the required interaction is not difficult to achieve, but in large lecture situations, such interactions are practically impossible due to the sheer number of students involved, (typically hundreds, possibly thousands) and the theater style layout typical of lecture halls.
Education research has shown that pausing a lecture being presented to a class every five to ten minutes and asking students to vote on an answer to a conceptual question improves both learning and retention. Many techniques have been successfully used to gather student votes during such activities, from a simple show of hands to hard-wired buttons attached to every seat. The former has the advantage of low cost and simplicity, but the distinct disadvantages that a student's reply is not private and that the instructor only gets a sense of what the class is thinking, because exact record-keeping is not practical. The latter approach has the advantage of anonymity and data collection, but is typically very expensive and difficult to maintain.
Another technique that is used to gather student votes includes utilizing wireless systems which utilize remotes and unique ID's for each student. The remotes and unique ID's are used to transmit the student's vote to base units located in the classroom which may be interfaced to a host computer system. The current wireless systems utilizing wireless remotes, however, have several drawbacks.
Current wireless remotes include both infrared remotes and radio frequency remotes. Infrared remotes only transmit one way, from student to instructor, and do not allow a student to receive feedback on the remote as to whether their vote was received by the instructor. In addition, infrared systems have rather low bandwidth, the result of which is a single base unit used to receive the votes from the infrared remotes can only receive signals from a limited number of student units, approximately 50. Furthermore, infrared remotes have a limited transmission range which is not practical for large classes, as many receivers would need to be strategically mounted around the whole room. This would significantly drive up the base unit infrastructure and usually means that a permanent installation of the receiver hardware is needed. Finally, infrared systems are prone to interference from fluorescent lighting sources.
Current radio frequency (RF) wireless systems are too expensive for use in a classroom environment. In addition, current radio frequency systems which utilize RF remotes can only support up to 2400 unique remote units with a single base unit. As only 2400 remotes can be supported by a single base, the systems are not practical for learning institutions where the same system may be used by several classes and consequently by many thousands of students simultaneously.
Therefore, there is a need in the art, for a system which provides support for numerous users in settings such as universities. The system should provide two-way communication and allow for feedback to students at a reasonable cost.
Aspects of the present invention are described with respect to the accompanying figures, in which like reference numerals identify like elements, and in which:
a, 7b, and 7c depict additional flow diagrams of an attendance protocol in accordance with an aspect of the present invention;
a and 10b depict additional flow diagrams of a time-slice voting protocol in accordance with an aspect of the present invention;
a, 14b, and 14c illustrate the bits transmitted to and from remote units in accordance with various aspects of the present invention.
A host personal computer 106 may be communicatively coupled to base unit 102. The host personal computer 106 includes a processing unit, memory, and drives such as a hard drive to provide nonvolatile storage of computer readable instructions. In addition, the host personal computer includes a keyboard or other input device for user input.
The host personal computer 106 may operate in a networked environment using logical connections to one or more remote computers as shown in
The base unit 102 may also comprise a liquid crystal display (LCD) display 316 for displaying information to a user of the base unit. For example, the information displayed might include results of a student vote. One skilled in the art will appreciate that other display types may be substituted for the LCD display. Furthermore, the base unit may also comprise buttons 318 for inputting data into said base unit for controlling the operation of said base unit. For example, the buttons could be used to command the base unit to start and/or stop the voting process.
Similar to base unit 102, remote units 104 may also include a transmitter 310, a receiver 312, and a microcontroller 314. The transmitter 310 of remote unit 104 may include a radio frequency transmitter for transmitting data to base unit 102. The receiver 312 of remote unit 104 receives radio frequency transmissions from base unit 102. The microcontroller 314 of remote unit 104 may implement commands received from a base unit 102 and support received and transmitted data to and from remote unit 104.
The following description will be discussed with the use of an example to illustrate an aspect of the present invention in which the polling system may be used to take attendance during a lecture given at a learning institution such as a university.
At the beginning of each lecture, and periodically throughout the lecture, a control program 108 running on host computer 106 may take class attendance. The control program may access a database having the names of the students registered to attend the lecture in a list, such as a class roster. The database may, for each registered student, contain a unique ID number for the remote units 104 possessed by each student.
Next in step 606, the control program 108 transmits the ID of the first remote unit which will be named remote unit number one to base unit 102. Along with the ID of the first remote unit, control program 108 also transmits a “request” command to base unit 102.
Upon receiving the ID of the first remote unit and the “request” command, the base unit 102 forwards the “request” command with the specified ID to remote unit 104, as indicated in step 608. When the remote unit 104 receives the “request” command (step 702 of
Base unit 102 may wait a fixed amount of time for the remote unit 104 to respond as indicated in step 610. In step 612, control program 108 determines if remote unit 104 responded to the “request” command within the fixed amount of time. If in step 612, remote unit 104 responds to the “request” command within the fixed amount of time, then base unit 102 may transmit a message such as “RU found” back to control program 108 in step 614. Those skilled in the art will realize that many different messages may be transmitted to control program 108 to indicate that remote unit 104 has been found.
If in step 616 remote unit 104 does not respond to the “request” command within the fixed amount of time, then base unit 102 may transmit a message “RU not found” back the control program 108 in step 616 via base unit 102. Additionally, if remote unit 104 does not respond in the fixed amount of time, control program 108 may check to see if a class list is completed in step 618. If the class list is completed, the attendance protocol ends at step 620. If the class list is not completed, then control program 108 may find the ID of the next remote unit 104 in step 622 and repeat the process in step 606.
When the message “RU found” is transmitted to control program 108, an index counter may be incremented in step 624. The incremented index counter may be transmitted to base unit 102 in step 628 along with the ID of the same remote unit. Additionally in step 628, an “index” command may be forwarded to base unit 102.
In response to the receipt of the incremented index counter, ID of remote unit, and “index” command, base unit 102 may transmit these items to remote unit 104 as shown in step 630. On receipt of the incremented index counter, ID of remote unit, and “index” command, remote unit 104 may save the received index value in an index register at step 708 (
In step 632, base unit 102 waits a fixed amount of time to receive confirmation back from remote unit 104 that the information transmitted was received. When base unit 102 receives confirmation that the information was received by remote unit 104, then base unit 102 forwards the information back to control program 108 in step 634.
After receiving the information from base unit 102, control program 108 marks the student as present at the lecture in step 636. Next, control program 108 checks to see if the class list is completed in step 618. If the class list is completed, the attendance protocol ends at step 620. If the class list is not completed, then control program 108 finds the ID of the next remote unit 104 in step 622 and control returns to step 606 to repeat the process. Once the entire class list is completed, attendance for the lecture has been taken.
A further aspect of the present invention is now discussed pertaining to an alternative method in which the polling system may be used to take attendance during a lecture given at a learning institution such as a university.
Those skilled in the art will realize that microcontroller 306 of base unit 102 may also perform some of the steps of host computer 106 as control program 108 may be comprised of various modules running on both host computer 106 and the microcontroller 306 of base unit 102.
In step 716 of
In step 810, base unit 102 may wait a fixed amount of time for the remote unit 104 to respond. In step 812, control program 108 determines if the remote unit 104 responded to the “login” command within the fixed amount of time. If in step 812, remote unit 104 responds to the “login” command within the fixed amount of time, then base unit 102 may transmit a message such as “RU found” back to control program 108 in step 814. Those skilled in the art will realize that many different messages may be transmitted to control program 108 to indicate that the remote unit has been found.
If in step 812, remote unit 104 does not respond to the “login” command within the fixed time, then base unit 102 may check to see of the control program 108 in step 838 has terminated the attendance procedure. If control program 108 has terminated the attendance procedure then the attendance procedure may end at step 840. However, if the login or attendance procedure was not terminated by control program 108 then base unit 102 may transmit another login message to remote units 104 to see if any new units have logged in as show in step 805. Those skilled in the art will realize that control program 108 may terminate the attendance or login procedure for various reasons which may include instructor input or the beginning of a classroom lecture.
If the message “RU found” is transmitted to the control program 108, the index counter may be incremented in step 824. The incremented index counter may be transmitted to base unit 102 in step 828 along with the ID of the same remote unit. Additionally in step 828, an “Index” command may be forwarded to base unit 102.
In response to the receipt of the incremented index counter, ID of remote unit, and “Index” command, the base unit 102 may transmit these items to the remote unit 104 as shown in step 830. On receipt of the incremented index counter, ID of remote unit, and “Index” command, remote unit 104 may save the received index value in an index register at step 708 of
In step 832, base unit 102 may wait a fixed amount of time to receive confirmation back from the remote unit 104 that the information transmitted was received. When base unit 102 receives confirmation that the information was received by remote unit 104, then base unit 102 may forward the information back to control program 108 in step 834.
Control program 108 after receiving the information from base unit 102 marks the student as present at the lecture in step 836. In step 838, base unit 102 may check to see if the control program 108 has terminated the attendance procedure. If the control program 108 has terminated the attendance procedure then the attendance procedure may end at step 840. However, if the login or attendance procedure was not terminated by control program 108 then the base unit 102 may transmit another login message to the remote units 104 to see if any new units have logged in as show in step 805. In this manner attendance may be taken throughout entire classroom lecture.
Now that attendance may have been taken for the lecture, the following description will discuss another aspect of the invention which includes voting by students on questions asked by the instructor.
As an example, an instructor may ask a class a multiple choice question whose possible answers are labeled “A” through “E”, corresponding to the buttons on each student's remote unit 104. The students may be told that they have two minutes to decide which answer they like best and that they can push the button corresponding to that answer any time in the two minute time window. Those skilled in the art will realize that the time for response may be determined by the instructor and that various different time values may be utilized.
Using a graphical user interface (GUI) on the host computer 106, the instructor may instruct control program 108 to start the vote-gathering process. The control program 108, via base unit 102 may initialize remote units 104 for voting. The present invention may retrieve votes from a student using at least four possible protocols in accordance with various aspects of the present invention. Each of the four protocols are discussed below.
In each of the four protocols, control program 108 may set up a transaction sequence with remotes units 104. The control program 108, after setting up the transaction sequence with the remote units may go into a listening and timing mode in which a vote from each remote unit 104 is received in a pre-determined order determined by the remote unit's index number. This may provide a very efficient use of bandwidth as arrival of a remote unit's vote packet at the base unit 102 contains information about the vote (the content of the received bit packet) as well as the ID of the sending remote unit (the arrival time of the received bit packet), hence the bit packets are much shorter than in regular handshake type transactions because the remote unit ID does not need to be included.
During attendance, a control program 108 may assemble a list that correlates the index numbers with the actual ID of remote unit 104. Each of the remote units 104 may store its own unique index number in memory. Base unit 102 and each of the remote units 104 may also be aware of a predetermined constant SLICE_WIDTH 400. The SLICE_WIDTH 400 may be a length of time allotted to each remote unit 104 to send the remote unit's voting information to base unit 102. The SLICE_WIDTH 400 may provide enough information for each of the remote units 104 and base unit 102 to know exactly when to transmit or receive information from each student.
The transmission timeline 402 of
Each of the remote units 104 may use its index value to initialize a “Delay” counter to a value which, when decremented to zero, may correspond to the time at the beginning of its allocated transmission window. For example, a first remote unit 102 may have a first delay counter. The amount of time the first delay counter delays transmission of data from the first remote unit to the base station 102 may be represented by “Delay1” 406 in
Upon receipt of the “clear” command at each of the remote units 104 (step 1002
In step 908, control program 108 may transmit a “Slice” command to base unit 102. Base unit 102, in response to the “Slice” command in step 908 may transmit to all of the remote units 104 simultaneously. On receipt of the “Slice” command, each of the remote units 104 may wait a fixed amount of time before sending the contents of their voting register (step 910). The amount of waiting time or delay time may be the value of the remote units index number times SLICE_WIDTH 400.
In step 912, when the delay time has expired for a remote unit 104, the remote unit 104 may transmit the value of its vote register to base unit 102. Base unit 102 in step 914 listens for a time SLICE_WIDTH 400 for each remote unit 104 on a class list. The base unit 102 receives the vote from each of the remote units 104 during the allocated time slice and in step 916 transmits the information to control program 108.
In step 918, control program 108 reviews the votes and in step 920 transmits a “Confirm” command back to base unit 102 for each remote unit 104 that registered a valid vote. Base unit 102 in step 922 transmits to the “Confirm” command to remote units 104.
Upon receipt of the “Confirm” command by a remote unit 104 in step 1008 in
Referring to
During attendance, a control program 108 may assemble a list that correlates the index numbers with the actual ID of remote units 104. Each of the remote units 104 may store its own unique index number in its memory. Base unit 102 and each of the remote units 104 may also be aware of a predetermined constant SLICE_WIDTH 400. The SLICE_WIDTH 400 may be a length of time allotted to each remote unit 104 to send the remote unit's voting information to base unit 102. The SLICE_WIDTH 400 may provide enough information for each of the remote units 104 and base unit 102 to know exactly when to transmit or receive information from each student.
The transmission timeline 502 of
Upon receipt of a command from base unit 102, each remote unit 104 may wait the same amount of fixed time “RU_DELAY” 508 and then transmit its voting information back to the base unit as illustrated in
Upon receipt of the “clear” command at each of the remote units 104 (step 1002
In step 1108, control program 108 may transmit a “Slice” command to base unit 102. The base unit, in response to the “Slice” command in step 1110 may serially loop over all valid remote units 104 and transmit the “Slice” command to each of the remote units 104. The base unit 102 may issue the “Slice” command to each of the remote units 104 at a SLICE_WIDTH time interval. On receipt of the “Slice” command each of the remote units 104 may wait a fixed amount of time which may be greater than the number of students in the class time SLICE_WIDTH before transmitting the contents of their voting register (step 1112). In step 1114, remote units 104 may transmit the contents of their voting register to base unit 102.
In step 1116, base unit 102 may wait to receive a response from the first remote unit 104 until the time at which the reply from the first remote unit 104 is expected. The base unit 102 may listen for a time SLICE_WIDTH for each of the remote units 104, receiving from each of the remote units 104 content of their voting registers at the allocated time slice. In step 1118, base unit 102 transmits the information to control program 108.
In step 1120, control program 108 reviews the votes and in step 1120 transmits a “Confirm” command back to base unit 102 for each remote unit 104 that registered a valid vote. Base unit 102 in step 1124 transmits the “Confirm” command back to the remote units 104. In alternative embodiment the base unit 102 may immediately confirm to each of the remote units upon receipt of a valid message. In this manner, a remote may know when to expect a message from the base which may reduce bandwidth and the opportunity for fake messages.
Upon receipt of the “Confirm” command by a remote unit 104 in step 1008 in
Upon receipt of the “clear” command at each of the remote units 104 (step 1002
In step 1208, control program 108 may transmit a “Slice” command to base unit 102. Base unit 102, in response to the “Slice” command in step 1210 may transmit the “Slice” command to all of the remote units 104. On receipt of the “Slice” command each of the remote units 104 may determine in step 1212 whether the remote unit 104 has data to transmit. If the remote unit has data to transmit, then in step 1214 the remote unit 104 transmits a “request” message to base unit 102. If the remote unit does not have data to transmit as shown in step 1213 then the remote unit may either transmit a “no-vote” message, or remain silent. Both the transmission of a “no-vote” or the silence of a remote unit may indicate to base unit 102 that there is no change in the remote unit's vote.
In step 1216, base unit 102 may wait until the time at which the reply from the first remote unit 104 on the attendance list is expected. The amount of waiting time or delay time may be the value of a time SLICE_WIDTH for each remote unit 104. Base unit 102 may listen for a time SLICE_WIDTH for each remote unit 104 on a class list. Base unit 102 receives the vote from each of the remote units 104 during the allocated time slice in step 1218 and in step 1220 transmits the information to control program 108.
In step 1220, the retrieved list of “requests” is transmitted from base unit 102 to control program 108. Control program 108 in step 1222 may review the “requests” and transmit a “send” command to back to base unit 102. In step 1224, base unit 102 may transmit the “send” command to all of the remote units 104 that registered a valid “request.”
Upon receipt of the “send” command by a remote unit 104, the remote unit 104 transmits the data from its voting register to the base unit 102 and flashes an LED to indicate to a student that data has been transmitted to the base unit 102 in step 1226. The base unit 102 forwards the data from the voting register to the control program 108 which upon receipt transmits a “confirm” command to the remote units 1014 via the base unit 102 (step 1228). The control program 108 repeats the process starting at step 1208 until the voting time has expired.
In step 1302, a control program 108 may transmit a “clear” command to base unit 102. Upon receipt of the “clear” command, a base unit 102 in step 1304 may transmit to all of the remote units 104 simultaneously the “clear” command. Upon receipt of a “clear” command (or similar signal), the remote units 104 may blink an indication (e.g., an LED) in step 1306. The remote units 104 may also clear their vote registers.
In step 1324, control program 108 may transmit a “Clear to Transmit” command to base unit 102. Base unit 102, in response to the “Clear to Transmit” command in step 1324 may transmit to all of the remote units 104 simultaneously. On receipt of the “Clear to Transmit” command, each of the remote units 104 may send the contents of their voting register and their unique ID. One skilled in the art will appreciate that although the “Clear to Transmit” command is used in this example, other commands could be used to achieve similar results. In one example, a base unit 102 may send a synchronization signal and the remote units 104 initiate a transmission after the synchronization.
In step 1308 the remote units 104 transmit the first bit (e.g., “0”) from a voting register to the base unit 102. The base unit 102 receives all the transmitted bits in step 1310 and transmits back either a “0” or “1” in step 1314. The value the base unit 102 transmits to the remote units 104 may depend on whether the bits received at the base unit 102 were conflicting (as shown in step 1312.) If there was no conflict, then the base unit 102 may transmit the received bit value (in step 1315).
In step 1320, if the bit received matches the bit transmitted by that remote unit 104 and there are bits remaining in the Voting Register, then that remote unit 104 may transmit the next bit after the nth bit. If the bit received does not match the bit transmitted by that remote unit 104, then that remote unit 104 will end transmission of bits (in step 1322) and wait for a “Clear to Transmit” command before restarting transmission of bits from the first bit. One skilled in the art will appreciate that remote units 104 may be configured to wait for a predetermined time interval before restarting transmission of bits. At least one benefit of such an approach is a reduction in the number of transmission of the “Clear to Transmit” command (or similar commands) required.
If the remote unit successfully transmits all of its bits, it can flash an LED (or other indication) in step 1318 to confirm successful transmission and then may go into a “wait” mode until it receives more data from the user (e.g. a button is pressed). Various aspects of the invention may provide for the remote unit to transmit an unique identifier to the base unit (in step 1322) after successfully transmitting all bits in a voting register.
FIGS. 14 shows just one example of the bits sent and received by a base unit 102 and remote units 104 attempting to communicate at the same time. Each remote unit 104 waits for the “Clear to Transmit” command (depicted as “CT” in
For example, if a first remote unit 104 (“Remote 1” in
In
Various aspects of the present invention include the ability of the base unit 104 to determine if a bit is valid. This is facilitated by ensuring that the remote units 102 all begin their transmission at substantially the same time (or within a small fraction of the time to transmit a single bit.) For example, this might be achieved by having the base unit 104 send the “Clear to Transmit” command (or a synchronization signal with the remote units 102 only initiating a transmission at fixed time intervals after the synchronization.) This time interval might be set according to the time necessary to send a complete message from a remote unit 102. Thus, if a remote unit 102 terminated its transmission due to an invalid confirmation, it would not need to wait for another “Clear to Transmit” message, but could start sending at the next interval (i.e., cycle.) At least one advantage is that it reduces the number of “Clear to Transmit” messages which must be sent.
The present invention has been described in terms of preferred and exemplary embodiments thereof. Numerous other embodiments, modifications and variations within the scope and spirit of the appended claims will occur to persons of ordinary skill in the art from a review of this disclosure.
| Number | Date | Country | |
|---|---|---|---|
| 60566059 | Apr 2004 | US |