260 likes | 377 Views
Quizzes by Clickers. David Dahlquist. Definition and Requirements. Project Description: Develop a system where students respond to questions using clickers. Responses are digitally captured and reported on a PC. General Requirements: Support multiple students (clickers).
E N D
Quizzes by Clickers David Dahlquist
Definition and Requirements Project Description: Develop a system where students respond to questions using clickers. Responses are digitally captured and reported on a PC. General Requirements: • Support multiple students (clickers). • Identify the students. • Deal with collisions. • Address issues like illegal clicks, allowing/disallowing clicks. • Provide initialization support. • Generalize the system to support several applications.
Where I started • Initially • How to initialize IrMan • How to read from the COM port • Ended up discarding COM port read
Solution • Two parts to my solution • “Engine” reading from the COM port • “Application” getting information from the engine and dealing with it
Engine • Read from COM port • Reads occur every 1/5th of a second and stores in queue • Empties COM ports data • Stores information one byte at a time • Removes from the Queue • Removes one byte from queue and sends 6 concatenated for comparison (why later)
Application • Three parts of application • Anonymous response • Hand raised queue • Quizzing
Anonymous response • Users respond to a question • Can answer “Yes” or “No” • Program keeps track of responses and shows them on screen
Raise Your hand • Queues up responses in order of received in a list box • Can send back one at a time or reset all
Quizzes • Opens file with information on a quiz in multiple choice format • Outputs users response to a question to a file without displaying it on screen (for anonymity) • When quiz complete outputs scores and percentages • Quiz files can be opened by notepad or within program and printed for hard copies
How Does a Remote Send? • Worked primarily with TV universal remotes • 6 bytes at a time • Individual groups • Groups of three • Rotating remote codes • For those that insist on holding down the key
Problems • Rolling Remote codes • Collisions • IrMan wasn’t really designed for multiple remotes • Direct line of sight needed • Distance is a factor infrared light disperses • Reflection off of shiny objects
How to deal with collisions • Problem: Remotes are “dumb” • Can only send • Solution • Try to recover as much data as possible • Give users feed back whether or not they have successfully sent
Strategies • VB book is a MUST • 20 min of fighting VB or 30 seconds of looking up a solution • Ask questions • Colleagues and teachers • Keep Dr. Pankratz up to date he can help • Not my strongest point • Try EVERY combination of EVERYTHING
Knowledge • Event Programming • VB and my project extremely event driven • Use of timers • Operating Systems • Collisions racing conditions • Networking • Error detection/recovery
Exceptions • Rotating remote codes • Synthesis of three sections • More automated quizzing process • Error detection more like error recovery and avoidance • Full screen re-sizing
Extensions • Applications • Read system in place plug-ins could be an interesting option • Synthesis of applications • More intricate quizzing system • Infra red remotes that send and receive
Recommendations • Keep Dr. Pankratz up to date • See professors when you have a problem • Get books in your area and keep them next to you when you work • Start early • Plan it out because “patching” just isn’t practical