locked
Need to create exam software. Which will disable access of any browser and searching exam question in student computer RRS feed

  • Question

  • Hi All,

    I need to create exam software which will disable access of any browser and searching exam question in student computer. I am looking for safe and secure exam software building. Can any body provide me any guidance please? How to do that can I create using C#/ .net? 

    Tuesday, April 21, 2020 11:54 AM

All replies

  • This is beyond what you can do in a single piece of software. The ability to run an app is a group policy level feature. That requires admin privileges to set. However you still cannot prevent running a "browser" because just about every app supports browsing including Word and Adobe Acrobat. It is trivial to work around such limitations. Or a user can simply pull out their phone.

    To "lock down" the system you'd need to set Windows up in kiosk mode and allow it to only run the software you want. But questions related to doing this are beyond C#. You'd need to post over in TechNet. If you just wanted a poor man's solution then have your app periodically monitor the running processes using the Process class. Look for the "standard" browser processes. Again, very easy to work around but would stop the technically inexperienced.

    As for searching for questions you can do that but it'll be slow. Your best bet is to use the indexing service in Windows, which .NET doesn't support directly so you'll need to interop to. However it only searches certain folders so it wouldn't be hard to work around. Even if it did index everything there are so many workarounds that it is, IMHO, impossible to do this. You could search for text files and Word docs that have exam questions in them. The indexing service would help here or you could use the File/StreamReader class. But it'll be slow. If the user has 100 Word docs on their machine then opening and scanning each one would be slow. 

    But that wouldn't be sufficient for a more technical person. They could simply call their file "mydll.dll" or "mydata.dat" and your file scanning code wouldn't work anymore. You could search all files but even on a modern system this could take a really, really long time.


    Michael Taylor http://www.michaeltaylorp3.net

    Tuesday, April 21, 2020 1:57 PM
  • Agreed.

    And want to add that from your description it would be more effective to just limit network access in these machines on firewall level. You can open browser and so on as you want, but you can't even access other's shared drive.

    Believe me, if you're creating exam software for schools, shared drive (or other means of sharing files) is a much worse enemy than internet.

    Wednesday, April 22, 2020 4:13 AM
  • Thank you @CoolDadTx what I understand to implement this

    1. There is a need of server which will control all client computers

    2. Client computer has to be set up windows in Kiosk Mode

    Then only possible to implement what I want.


    Wednesday, April 22, 2020 4:38 AM
  • Thank you.

    So, apart from my 1 & 2 points in reply to CoolDadTx there is a 3rd point -

    limit network access in these machines on firewall level and block access of shared drive.

    Wednesday, April 22, 2020 4:42 AM
  • To get close to what you'd want you'd basically need complete control of the machine. This is exactly what testing centers do. They have a completely locked down system that only runs the testing software (hence no browsers or the ability to even look at files). Furthermore they tend to require that everything be left outside (which eliminates phones) and also have cameras on every computer (or in the room) so they can see if you pull out notes or something. At the end of the day it boils down to how secure vs how easy you want.

    But you mentioned in the OP "student computers" so I assumed you were talking about students' own computers (aka the post-covid world) where students would be working from home. I'm afraid to say, as an educator who is dealing with exams online right now, that there simply isn't any way to guarantee this. The best you can do is write questions in a way that googling/sharing won't work. In my case questions are randomly ordered as are the answers. Additionally I have the option to select from banks of questions making each student's exam different than anybody elses.


    Michael Taylor http://www.michaeltaylorp3.net

    Wednesday, April 22, 2020 12:56 PM
  • Some other ideas to consider.

    Grade each question on right/wrong answer along with 

    • Timed response to the question e.g. decent amount of time to answer a specific question is one minute, every extra x amount of second take a point away from how many points the question is worth.
    • Logic for if a user switches to another app (for windows forms Deactive and Activated events. Yeah this may be hard to enforce e.g. they need to check their email etc.

    Pluralsight uses similar controls on their web assessment of a topic so a person taking the assessment is not only graded on correct or incorrect answers but also time it takes to complete a question then used to recommend what courses to take to increase knowledge on a topic or move to another topic.

    Example


    Please remember to mark the replies as answers if they help and unmarked them if they provide no help, this will help others who are looking for solutions to the same or similar problem. Contact via my Twitter (Karen Payne) or Facebook (Karen Payne) via my MSDN profile but will not answer coding question on either.

    NuGet BaseConnectionLibrary for database connections.

    StackOverFlow
    profile for Karen Payne on Stack Exchange

    Wednesday, April 22, 2020 1:37 PM
  • Oh, if it's talking about online exam for students at home, then there's really no hope to control it.

    Say, back when I was in secondary school (that's 20+ years ago and we didn't even have smart phone), my home have 2 desktops and 1 laptop). Even if you can find a way to take complete control to the machine you're installing software on, you can't control anything on machines that you don't have access to.

    It's way more feasible to design the tests to be something like open-book exams.


    • Edited by cheong00 Thursday, April 23, 2020 1:15 AM
    Thursday, April 23, 2020 1:15 AM