-
Notifications
You must be signed in to change notification settings - Fork 48
Instructions for CS2030(S) Final Exam
The Exam Protocol has changed. We will not be using Fedora ISO, nor the PE nodes. Read the new Protocol here: https://luminus.nus.edu.sg/download/5122358d-bfd0-4c67-81df-af22d9cc59c8?name=cs2030-exam-protocol.pdf
The protocol below is the old one, left here for archival purpose. Please ignore.
The Final Exam will be held on Mon, 30 Nov 2020, from 5pm to 7pm (Singapore Time). This will be synchronous, ie. everyone will start and end at the same time (except those who have been granted extra time).
You will use the Fedora-SoC ISO for the Final Exam. This is still the best choice: it is secure, and automates many tasks for students and instructors. For proctoring, you will set up a separate laptop or phone that allows the invigilator to monitor you via Zoom. See Proctoring Protocol. The Fedora-SOC ISO does not have Zoom, and is only meant to display the exam questions and accept your answers. On this Zoom device, also set up Microsoft Teams as a backup, in case Zoom fails.
This Zoom device also functions as a communication tool with your invigilator. Thus, please enable audio so that you can hear announcements. If you wish to ask questions, use Zoom chat to privately message your invigilator.
The Fedora-SOC ISO automates the following tasks:
- Connects you via VPN to the SOC network, and to your usual PE node.
- Periodically backs up your files to your PE node (so that in case of hardware/network failure, you may resume your work with minimal loss).
- Performs screen capture (so you don't have to use ffmpeg or VLC).
- Displays the exam questions, and allows you to browse Java docs.
- Allows you to type in your answers into one or more text files, via the editor.
- Allows you to check the exam time that has elapsed.
- Uploads all your files and the screen capture video when the exam is over (you need to trigger this manually).
- Uploads them to a Gmail account for redundancy.
- Displays a QR code as confirmation of a successful upload (you should take a picture of this QR code, for troubleshooting if necessary).
The Fedora-SOC ISO does not use your webcam, and thus you need to set up a Zoom device for proctoring and for communication. Also, it does not save any files on your laptop; instead, it saves them on your PE node.
We have created a short video below to go through the downloading and a tour of the Fedora-SoC environment:
You have to use the latest version of the Exam ISO, download below. Please refer to Creating the Fedora SoC bootable USB Stick if needed.
- Read the NUS Computing E-Exam Standard Operating Procedure (SOP).
- Prepare a thumb drive to install the Fedora-SOC ISO.
- If the Fedora-SOC ISO has problems using your Macbook wifi, please borrow a USB wifi dongle from the School.
- Obtain all other equipment you may need, such as USB hub, USB Type C adaptor, etc. The School will not provide.
- Participate in the Mock Exam on Fri, 20 Nov at 4pm, which is a "full-dress rehearsal", simulating the actual exam condition. This will take approx 20 mins. You will answer some questions, but they won't count towards your final grade.
- If you need help to set all these up, please attend a Help Clinic on Wed 18 Nov (exact time to be announced in Luminus).
- Setup all the necessary equipment and start the Zoom session around 4.30pm. The invigilator will take attendance. You will need to show your Student Card on Zoom.
- Boot into the Fedora-SOC ISO, adjust the font size, login to VPN, but stop at the step to connect to your PE node.
- Your PE node will only open at 5pm, so you cannot connect any earlier. Wait for your invigilator to give you the go-ahead to login.
- Take the exam.
- Use Zoom chat to communicate with your invigilator.
- Listen out for any announcements on Zoom audio.
- When you have finished, manually trigger the "end-pe" process, which will perform the uploads of your files.
- Wait for the confirmation QR code. Take a picture of the QR code, for troubleshooting.
- If you do not see the QR code, do not power down your laptop!! It is busy attempting to upload your files, which may take a while due to network congestion. Please be patient.
- In case of any hardware/network/software failures, immediately inform your invigilator, who will advise you what to do. Do not panic. In case Zoom fails, use Microsoft Teams (on your phone).
This page will explain how to start up the PE on Fedora SoC.
- Logging in
- Connecting to the Internet and VPN
- 1 Hour Before the Exam
- Beginning the Exam
- Viewing the Browser
- Checking Internet Connection
- Ending the Exam
First, you will be prompted to log in. Log in with CS2030
.
Your Fedora SoC version will be shown. Ensure that the version you are using is the latest one found in the Downloads page before proceeding to the next step. Problems with previous versions will not be entertained.
Next, you need to choose a font size. Test out any integer from 0 - 8 and enter q
when you are done.
If you are using a Mac, you will be asked to adjust your resolution.
PC users may skip to entering your NUSNET id.
First, adjust the number of columns such that the +
is at the right edge of your screen.
Then, adjust the number of rows such that the line Adjust rows resolution (this should be the last line) or 'c' to continue:
is at the bottom edge of your screen.
PC users resume here.
Then, you will be asked to enter your NUSNET id E0XXXXXX
(the 'E' has to be in uppercase).
After entering, you will be asked to double check your NUSNET id, enter y
if it is correct, and N
if it is wrong.
If you have any issues and you are using a Mac, please report them here
If you are already connected to the Internet:
You will asked to enter your password to connect to the VPN. Enter your NUSNET password and press Enter.
DISCLAIMER: Your password will not be recorded, it will be directly uploaded to the authentication server.
If you are not connected to the Internet:
You will be asked to connect to the Internet. Press "enter".
Use arrow keys to select Activate a connection and press Enter.
You will see a list of available Wi-Fi networks. Select the correct one and press Enter.
Once connected, there will be an asterisk (*) beside the Wi-Fi network to show that you are connected.
Then, scroll down the list until you see the section labelled VPN.
Select NUSSTU-SoC and press Enter.
You will be prompted for a password. Enter your NUSNET password and press Enter.
DISCLAIMER: Your password will not be recorded, it will be directly uploaded to the authentication server.
Once connected, there will be an asterisk (*) beside NUSSTU-SoC to show that you are connected.
If successful, you are now connected to internet and NUS SoC VPN! Press Esc
twice to exit nmtui.
The system will then check if the version you are using is the latest version. If you are not using the latest version, you will be asked to download the latest version. If not, it will tell you that you are using the latest version (like below) and you may continue.
1 hour before the exam, you will be asked to wait for the exam to start. The current time and time of the exam will be shown (like below).
While waiting, ensure that your exam setup is correct as per the instructions (e.g. logging into Zoom and setting up your camera). You are recommended to reach this stage before connecting to Zoom.
Only connect to the PE node if the invigilator tells you to do so. Then, enter your plab account and server plabXXXX@peYYY
.
Then, you will be asked to enter your plab password.
After entering your password, the exam will automatically begin.
DISCLAIMER: Your screen will be recorded during the PE for invigilation purposes.
Upon successful login, you will see the screen below. Your screen will blink once and then show the screen again.
You can view these commands again at any time by entering help-pe
.
To open the browser, use see-browser
.
You will be asked if you want to continue to the browser. Enter y
to continue, or N
if you change your mind.
To refresh the browser page, press F5
.
To go back to the terminal, press Esc
or `
.
For PC users, you can return to the Browser by pressing Ctrl+ Alt + F2
. Mac users can return to the browser by using see-browser
or switch-to-browser
.
The browser will look like this:
The browser will open on the exam question page where you will be able to view the exam question. You can also return to the question by click on the Exam Qn
tab at the top of the screen.
You may still use elinks
to view the index.html
file in the terminal.
To view the Java Documentation, click on the JavaDocs
tab at the top of the screen.
If you need to ask the CS2030 Teaching Team any questions regarding the exam, click on the Ask a Qn
tab at the top of the screen. You will be shown a chat box to communicate with the teaching team.
To zoom in or out of the browser page, you can use the Zoom +
and Zoom -
buttons at the top right of the screen to zoom in and zoom out respectively.
At any point in time, if you want to check or connect to a network, you can enter nmtui
to open the blue UI to manage your networks that was used in "Connecting to the Internet and VPN".
When you are done and would like to submit your answers, enter end-pe
to stop the exam.
You will be asked to confirm if you want to exit. Enter y
to confirm, enter N
if you don't want to end yet.
After this point, your home directory will not be accessible and your files will be automatically uploaded for you.
You will receive the message below when the upload is complete.
Type and enter check-submission
to get a QR code for your submission. If you see a QR code, it means your upload was successful.
Take a picture of the QR code like the image below and keep it.
If you do not see a QR code, just wait and ask for help on the Zoom chat.
You may now power off your machine.
Congratulations! You have completed the exam!
The default keyboard layout may not be correct for your machine. View all available keyboard layouts using the command localectl list-keymaps | less
Set your desired keyboard layout using loadkeys
, referencing the layout from the previous command.
For example, to set the US keyboard:
loadkeys us
If you want to split your screen (e.g. to use elinks
on one side and vim on the other), first enter tmux
.
You should now see a green bar at the bottom of your screen.
To split your screen vertically, press Ctrl + B
(Control + B
on Mac). Then press the %
key.
To split your screen horizontally, press Ctrl + B
(Control + B
on Mac). Then press the "
key.
To move between screens, press Ctrl + B
(Control + B
on Mac), then press the Up
, Down
, Left
or Right
key to navigate.
To close a screen, press Ctrl + B
(Control + B
on Mac), then press the X
key. The bar at the bottom will turn orange and ask if you would like to kill-pane X?
. Then enter y
to close or n
if you change your mind.
Peer Learning
Codecrunch Contributions
Piazza Contributions
Wiki Contributions
Guides
Setting Up Checkstyle
Setting Up Java
Setting Up MacVim
Setting Up Sunfire
Setting Up Unix For Mac
Setting Up Unix For Windows
Setting Up Vim
Setting up SSH Config
CS2030 Contents
Lecture 1 SummaryCompile-run vs Run-time Summary
Quick Guide To Abstraction
Generics and Variance of Types
Comparable vs Comparator
Summary of completable future
CS2030S Notes
ELI5 Optional.map vs Optional.flatMap
PECS Example Code
Java Collection Framework (Iterator)
Generic
Generic Type Parameter and Generic Wildcard
Calculator
Lambda-Expression
Single Abstract Method (SAM)
Method Reference
Functional Interfaces 2
Simple Usage of Sandbox
Associative-but-not-commutative
Higher Order function
Functional Programming
Calculator With Functor
Eager Evaluation VS Lazy Evaluation
Simple Usage of Lazy Evaluation
Lazy Evaluation for LazyList
Lazy Evaluation for BinaryTree
Stream
Parallel Stream
Optional
Simple Usage of Stream
Asynchronous Programming
Notes on CompletableFuture
Notes on CompletableFuture 2
Simple Usage of CompletableFuture
Mind Map
Exception Handling
Links
CS2030 Java Style Guide
CS2030 Javadoc Specification
JDK 11 Download Link
JDK 11 API Docs
Codecrunch
Piazza Forum