The exam will be taken during your scheduled class time which will differ a bit between sections. If you miss the exam or cannot take it for any reason you will not be able to take it later, instead you will have its grade replaced with the first exam as detailed in the syllabus. [As a consequence of the above, if you are happy with your exam 1 grade, you are not required to take exam 2]
There will be one question regarding TCP sequence diagrams. You will be using the https://sequencediagram.org/ website to create a diagram and submitting the code generated. There will be a template provided but be sure you are familiar with the syntax by going through all the resources on the transport layer.
Streams and Sockets are not on the exam.
The coding question is related to the observer pattern.
Blackboard Exam, 100 minutes, up to 8 Long Form, and 1 Coding Question. No Backtracking on Questions.
The exam will have a curve based on average performance of all sections combined.
The maximum raw score for Midterm 2 will be increased to 101 to incentive students who did well on Midterm 1 to take it (It is possible to increase your average). But if you are happy with your Midterm 1 grade, you are not required to take Midterm 2.
The exam will consist of:
Multiple long form questions where students are asked to explain a protocol, algorithm, or architecture. I'm not interested in searchable definitions, students must demonstrate a strong understanding of the topic by going into the details about the inner workings with examples.
Most questions will have the majority of its points awarded for detailing your answer
(eg. what [1pt] and why / how [9pt])
Answers should be about 1~2 paragraph in length, but if you can answer more succinctly that's fine.
For each question I'm looking for relevant keywords, protocols/algorithms, definitions, properties, names of component elements, and, examples.
There will be one programming question worth 25% based directly on Assessment 2.
All solutions to exam questions for this course must use callbacks, no points will be awarded for solutions that use promises or async/await notation. setTimeout usage is also banned.
You will be supplied a partially filled out js file and asked to write a function.
You will then upload the completed js file.
I don't condone using answers found on search engines, but I do not restrict it either. (It is allowed)
All results must be in your own words. No points will be awarded for answers copy and pasted from the Internet.
The exam is extremely time limited. It is designed such that if you have to take the time to learn the answer during the exam, you will not be able to complete most of it.
Students who source answers from the Internet that differ from the explanations I've supplied and don't have evidence to support their understanding will be awarded minimal points.
Past examinees that sourced most of their answers from Google Search typically scored below 25% so it may be useful in a pinch if there's a particular term you forgot the name of, but stick to your notes.
Asking for help
Giving help
Revealing exam questions or answers
Using someone else's notes for the exam
All code will be passed through Stanford Moss.
This is NOT a group exam.
You are forbidden from getting or receiving exam assistance.
All exam questions will be tagged with unique identifiers (barcodes / watermarks / rephrasings / typos / etc...) Your TA's and I will be monitoring student resource repositories (like Chegg, Reddit, StackOverflow, ...), as well as student Discord, Whatsapp, and WeChat groups that you may have formed.
Should a leaked exam question be traced back to you, all parties involved will immediately fail the course and be reported to the Office of Student Conduct for disciplinary measures.
I have zero-tolerance for any form of academic dishonesty.
20 minutes before the exam starts:
Have your notes available.
Have a browser open, one tab on Blackboard, another on the course webpage.
Make sure you have node version 14+ installed.
Have vscode open (or your editor of choice)
(run your programs through Terminal instead of the vscode's built in debugger)
There will be 100 points and 100 minutes total. Spend no more than the point value in minutes per question. (If a question is worth 25 points, spend no more than 25 minutes on it) Use a timer app on your phone to set up timers before starting each question.
There will be an affidavit you need to fill out after the exam on Blackboard, it will be immediately available after the completion of the exam.
Rules and consequences regarding leaking questions continue to apply after you have completed the exam. Due to exams taking place at different times, and some students having health-related rescheduling's, please wait until the following week for all students to have completed the exam before engaging in any post exam discussions.
If you have technical difficulties during the exam I will be accessible via Blackboard Collaborate and email, contact me immediately so I can log and troubleshoot the issue.