Skip to content

Latest commit

 

History

History
166 lines (97 loc) · 15.3 KB

programming-exam.md

File metadata and controls

166 lines (97 loc) · 15.3 KB

Programming Exam

🖥️ Lecture Video

The programming exam is a re-creation of your chess phase-0 assignment, but under time constraints and without TA or other support. No resources are allowed except those described here.

You will take the exam as a Canvas quiz and will have 4 hours to complete the exam and answer the quiz questions, which consist mostly of uploading code and screenshots to demonstrate your work.

The exam is pass/fail. You must pass all of the test cases in order to get a grade.

Honorlock will proctor both your video and your audio while taking the exam.

The purpose of this exam is really to show that you are able to tackle large and difficult programming projects without too much difficulty. If you aren't able to complete the phase-0 code on your own that typically means that you won't be able to do some of the later phases in the class. It also means that you probably need more time before you are ready to take the majority of the higher level CS classes which have harder concepts and more difficult code.

What You Need To Do

  1. Read All of the instructions on this page. If you have questions please ask them early. If you wait to ask questions right before the deadline it will be more difficult and you may lose time while taking the exam.

  2. Watch the video about the exam (previously mentioned)

  3. Figure out your plan of how, where, and when you will take the exam. After reviewing the instructions and getting setup, make sure you have a device and place where you can take the exam. Also prepare a time to sit down to do it.

  4. Do the exam setup:

    • Create a new clean project from starter code
    • Take the HonorLock Setup/Acknowledgment Quiz
    • Take the Practice Programming Exam (optional)
  5. Review and practice. Make sure you have some time to review after Phase 0 and before taking the exam.

  6. Take the Exam.

Overview

There are three tests on canvas that all relate to the programming exam. There is the "Official Programming Exam" which is the exam itself. The "Practice Programming Exam" and "Honorlock Setup/Acknowledgment Quiz" are to make sure that you are ready to take the exam.

When you are taking the exam you will not be writing code or answering many questions in Canvas. You will do the project in your normal IDE.

Honorlock Exam Requirements

You must meet the following requirements for taking Honorlock exams:

  • Have a supported device.
    • Using Chrome on Windows, Mac, or Chrome OS is the official method
    • If you have a Linux computer take a look at the Linux Section at the bottom of this page.
  • Have only one monitor attached to your computer (if you have additional monitors, you will need to unplug them)
  • Have a working video camera and microphone
  • Have a reliable Internet connection
  • Have a place where you can spend the entire length of the exam working

If you are concerned about not being able to take tests with these conditions:

  • See if there is a lab computer somewhere you could use.
    • You may be able to contact BYU Online ([email protected]) to schedule a private exam room. BYU Online is located in the Harman Building, and is available 9am–5pm M–F. They want a 24-hour notice if you want to take an exam there.
  • See if you can borrow someone's computer for the duration of the exam.
  • If this is not working or if you have other personal concerns speak with your professor.

Other Honorlock Info

  • Your camera, mic, and screen recording will be shared with us once your exam is submitted.
  • You will be asked to show an ID. Please use your BYU id if you can, but other IDs will also work.
  • You may be asked to “scan the room” (at the start and maybe periodically), meaning you’ll turn your laptop/webcam 360°, so we can see all your surroundings.

Preparation

To prepare for your exam, we recommend that you first review your chess phase-0 solution to see if there are ways to simplify it while still passing all of the tests. Then study your code to make sure you understand all of it. Finally, practice taking the exam under exam conditions until you are completing the programming part of the exam in about 3 1/2 hours or less. Those who are most confident going into the test are those who have done the entire phase-0 again from scratch at least once.

Available Resources

There are two practice quizzes available to help you prepare for the exam. First, there is an Honorlock setup quiz. You should take this before starting the exam to ensure that you have Honorlock setup properly.

Second, there is a practice programming exam. This is an exact copy of the exam, without Honorlock proctoring. You should review this so you are familiar with the structure and format of the exam, and with the questions you will need to respond to in order to demonstrate that you completed the exam.

The practice quizzes and the actual programming exam are available on Canvas in the "Programming Exam" section of the "Assignments" tab.

Pre Exam Setup

Make sure that you take time to do all of these steps before you start the actual exam, as they will take some time, and can prevent large problems from coming up during the exam. Talk with a TA if you want help to do these steps or have questions before you start about what is allowed.

Before taking the exam you should complete all of the steps in the chess phase-0 getting started document, except you will not put the project in a GitHub repo. Just create a folder and set it up with the starter code, and open it in Intellij. This will mean you will have an Intellij project with the provided starter code. You should make sure the project is able to compile and the tests run (but still all fail) before starting. Do not add any code, psuedocode, or notes to your project anywhere, this will be treated as cheating.

You should also open the Javadoc in a web browser tab and the chess phase-0 specification in another browser tab. If you are taking the test during TA hours you can also have the help queue open. If you need to talk with a TA you can open Zoom for that purpose. All other programs should be closed so that you have only the approved programs open on your computer during the exam.

You may not open other tabs or access other information during the exam. This is designed to truly test that you have the capability to program the project.

If you want to make handwritten notes while working, have a blank sheet of paper ready and show it to the camera at the start of the exam.

When planning your time, allow yourself at least 20 minutes at the end of the exam to submit everything.

You will need to upload:

  • A zip of your entire project
  • A screenshot of all your tests passing (right click passoff, click “run tests in passoff”).

Make sure you know how to do both of these things before the exam starts so you don't lose time.

Warnings and Other Information

Please read this section carefully

Once you start the exam, do not close any web browser tabs. Sometimes closing a tab causes Honorlock to terminate the exam.

You may take the exam at any time during the exam period. Just make sure you give yourself enough time to complete the exam by the end of the exam period.

You can take the exam whenever you want during the exam period, however, we recommend taking it during TA hours. TAs will not be able to help you with programming or debugging during the exam, however, sometimes they can help with Honorlock or other issues that occur during the exam, but only if you take it during their office hours.

Things that will be flagged and may cause you to fail:

  • Using another electronic device during the exam (phone, smartwatch, another computer, etc.). Don't have any of these in your work area.
  • Opening previous implementation(s) (IntelliJ, Github, a text-editor, etc)
  • Googling errors or questions or really anything
  • There are unauthorized items in your area (another device, paper notes made before the test time)
  • You talk to another person and it’s not about defending your area (ex: “Go away, I’m testing”)
  • You have something unauthorized open on your computer (see what is authorized in “Pre Exam Setup”)
  • Pasting (Ctrl-v) something that was copied before the exam started into your IDE
  • Headphones/Earbuds are not allowed (if you want to listen to music you can use your speakers)

If you are concerned about something that happened while you were taking the test, please leave a note in the “Anything you’d like to say…” question on Canvas.

Because of the length of the exam, you are allowed to leave to use the restroom during the exam. However, this will cause you to be flagged by Honorlock. If you leave to use the restroom please tell the camera when you return that you did not look at any exam related materials or receive any exam help or support while you were gone. There is a section in the answer sheet where you can detail anything that happened during the exam so we know what's happening when we review the videos.

Your exam will be reviewed by a TA who is a human. This means we can understand if something happens. We are also familiar with the exam and project, so we are aware of what you actually should be doing during the exam and what seems suspicious.

TA Help During Exam

The Help Queue will be open during the exam. You are allowed to setup Zoom and join the queue if you experience a problem. Those taking the exam will also get priority over any other questions during the exam days.

Format for getting in the queue: Zoom info and a specific question “preparing for exam” or “currently taking exam”. If you don't put one of these descriptions we won't know that you are doing the exam. You can’t get TA help if there are no TAs working. The help queue is only available for those preparing/taking the exam between 8am & 8pm.

Any time spent during this process (waiting on the queue, or zooming with a TA) is part of your 4 hours - there is no “pause button”, even if you have to wait for a TA.

We can answer procedural/logistical questions, but not debugging/code/junit tests questions. Questions on submitting material or fixing weird errors with Intelij are things we can help with. Questions about how to program something, why you are getting an error, or similar cannot be answered by the TA's. If a TA tells you while you are in the exam that they can't help you then that is the answer.

Honorlock has it's own way to get technical help during the test. Do note that the people in the chat it provides are not CS 240 TAs! That means that while they may be able to help with technical issues regarding Honorlock, they will not be able to do anything related specifically to this class. For this reason, it is recommended to take the exam during TA hours. It is better to contact the CS 240 TAs than Honorlock technical support during the exam because they will be better able to help you with the exam and grade.

If Honorlock closes you out for some reason or you accidentally close the tab where it is open, try to rejoin the exam again. Usually this works fine. If you come to a TA with this question this is the first thing that we will have you try. If you are able to rejoin please make a note in the Canvas quiz of approximately what time you were kicked out.

Exam Retakes

You must pass the programming exam to pass the class. The exam is pass/fail. You will either receive 100% or 0%. You may take the exam up to three times for reduced credit each time (see Canvas for the percentage of your total grade and the maximum score for each take of the exam). If you do not pass the exam by the third attempt, it will not be possible for you to pass the class. In that case you should withdraw.

After taking the exam, you will either see a score in Canvas (telling you that you passed the exam) or you will receive an email from a TA telling you why you did not pass the exam, by the end of the day on the day the original exam is due. Your score will appear in the spot for “Programming Exam”.

You already have two attempts on the exam. If you use the second attempt, your exam will be graded as a retake for reduced credit. If you need a third attempt, you are required to meet with your instructor first. The purpose of the meeting will be for your instructor to help you prepare to pass the exam on your final attempt. Your instructor will add the third attempt to your exam after this meeting. You are responsible for contacting your instructor to schedule the meeting.

Pay attention to the availability date of the exam if you need a second or third attempt. This date is before the withdrawal date and you must complete all attempts of the exam on or before this availability date.

Linux

With most Linux distros you can usually use Honorlock with a few extra steps. Do note that this is not the official way to use Honorlock and may not work for the specific version and configuration of Linux you use.

  1. Get a chromium based browser. While Chrome is the official browser, any chromium based browser that is up to date and has good support for chrome extensions is a viable option. Chromium and Brave are both options that have worked.
  2. Install a user-agent spoofer extension. This is an extension that can modify the information your browser sends with requests. This can change the browser model and os that your computer appears to be using. Usually this is used for testing apps, but it can be used to mask your computer's OS.
    • There are several extensions that you can choose from that have this functionality. User Agent Switcher and Manager is an option that usually works. Before using any chrome extension ensure that you are confident in what it does and its reputation as a product.
    • You can also configure this manually from the developer settings in your browser, this is more difficult to do, and usually won’t persist across tabs and sessions so is not the best option for the test.
  3. Change the user agent to be Chrome on Mac, Windows, or Chrome OS. The most consistent results come from using the most up to date version of Chrome on Mac that is listed.
  4. Test it against Honorlock's System Check You can also check it against deviceinfo.me making sure that you appear as the other operating system. If you are able to pass this check then you are good to go for the test. Taking the Honorlock Setup Quiz is a good time to test that this configuration works as well.

Important - make sure you do not do any updates to your system or apps before taking the test. This could cause your new configuration to not work with Honorlock.

It is possible that this will not work for your computer. In that case it is best to consider other options that are available.

Videos (14:58)