WebFund 2024F Midterm QA
Video
Video from the midterm exam question & answer session on October 24, 2024 is now available:
Notes
Midterm Q&A Session ------------------- * What is the format of the midterm? - same as the assignments, except you'll be working from a PDF posted to brightspace, and it is time limited (11:35-12:55 unless otherwise arranged) * Will we need to cite resources in our answers? - if you use significant resources, please include them - but if you are using outside resources in any significant way, you're probably doing things wrong * Should we avoid using stack overflow? - if you are searching for answers online, you're probably approaching the problem wrong. But you are allowed to use stack overflow. * Is the midterm open book? - yes, except for AIs * Are we expected to write code? - short bits of code at most (few lines) * Will there be questions of the type "What struggles did you face?" If there are, what is acceptable if the implementation doesn’t have issues? - maybe one or two - if you didn't have struggles, you should explain why (e.g., tell your background) * How many questions on the midterm compared to the assignments? - more questions that require shorter answers - should be doable in 40 min if you know the material * Is the midterm in person or online and at what time? - online, through Brightspace, opens at 11:30 AM on Tuesday, Oct 29th - time is officially 80 min, but I give 5 min on both sides for logistics issues * Are there any multiple choice questions? - no * are we allowed to run code given to us for reference? - YES! * If we downloding a pdf this time would we still need to have a txt file ready in a spefic format as we had in the assignments ? - yes. The questions will be in the PDF, but there will also be a text file template and a validator. * Is there a practice midterm? - no * Are there any past midterms to practice from that’ll give us an idea of what the midterm will look like? What topics should we mainly focus on for the midterm? - there are past midterms in the past runs of this class. The material is different but the style will be similar. They are all on the class wiki, just go to the top level of the wiki and look for Fundamentals of Web Applications (first section) * Can you run through how the randomized interviews will be carried out? - you'll get a message, we'll schedule a time, and we'll have a 10-15 minute chat (with me or a TA) - we'll go over answers you gave on assignments and the midterm, we'll discuss how you got to your answers and related things - I often give students points for questions, because I can better understand what they were trying to say. (I don't reduce marks.) - it is more of a discussion to try and clarify your understanding, but if there is a clear disconnect between your answers and what you seem to know, I'll have to send what you did to the Dean along with my observations. - your written work should reflect what you understand, not what you look up/get from other people * I just looked at the assignment feedback and it only says the mark’s I received but doesn’t explain the deductions. How can I use feedback from assignments on the midterm if there are none - feedback only contains the marks you got for each question - refer to solutions to understand why you lost marks - if you don't understand why you lost marks, send a message to me or a TA - but arguing over points may have to take place after the midterm - post a message to a forum if you don't understand something conceptually * Should I finish Tutorial 5 before the midterm? - strictly speaking, it is not necessary - but having a better understanding of web applications is of course helpful * Would studying the tutorials also help? Or should we only focus on studying the assignments? - assignments are based on the tutorials, so studying the tutorials is also good - but the code from the assignments is mostly a superset of the tutorial code (except tutorial 1) * Should we be expecting to download the code given to us and run it in our open stack instances while completing the midterm? - While you are allowed to run code during the midterm, in general I wouldn't recommend it until you've answered most of the questions on the midterm - running and debugging code burns time and you won't have a lot of it * will we have to make a knew text file to answer our questions ? and will we have to submit a folder with the questions and out answer text file - submission is exactly the same format as for the assignments, just a single UNIX text file based on a supplied template * Do we have access to the 2016 class? - yes, it is all on the wiki - you can also look at my COMP 3000 midterms to see how I ask questions in general * Is the general section of teams for messages? I can’t send anything in that channel - teams supports "Teams" with "channels" and direct messages - use channels for general interest questions, direct messages for ones that should be confidential * where will the midterm pop up on brightspace ? - in a new section called "Exams" or something like that * when will the interviews for the assignments and midterms take place ? will they start immediately after the Midterm ? or after the results are released - would like to start soon after the midterm, but probably only after grades have been distributed * are you making a whole new program just for the midterm? - no, but I might make a cut-down version of assignment code * When will PMC students get more information? - you should hear from me by the end of Sunday; if not, please message me first thing Monday morning, we'll figure it out on Monday then. ----------------- * How do you tell the difference between code that is happening on the server, and code being executed by the client? - this will be the focus of the second half of the class - up through Assignment 2, all code executes on the server - HTML and CSS is in the web browser (yes, they are basically always evaluated client side, but they are supplied by the server) - JavaScript & SQL on the server - for the purposes of the midterm, there is no client-side JavaScript - client-side code runs in the context of an HTML document * JSON objects\ - just a textual representation of JavaScript objects - used for data interchange, sometimes storage - this is an after midterm topic Format: { key: value, key: value, } * What's an example of a question that you could ask on the midterm, and an example of answer to it? Let's make up questions! * How would you restrict the server to only handle GET requests? - this is a bit too broad of a question, but it gets at an important concept: GET requests and how they are handled server side - want to be more granular * How would you make sure that content is served from a directory called "content"? - again, this requires a more complex answer, harder to grade - but gets at key concepts related to static content, how they are served * Why is there a difference in the way GET and POST requests are handled in this code? - again, good focus on GET and POST - but not so crisp * Create a regular expression to match to a date in the format (DD/MM/YYYY) - we haven't covered regular expressions, so outside the scope of the midterm * Which function(s) are called, in what order, as you call "await" at line XX? - this is a pretty good question - may want to make a bit more precise, e.g., ask "Does X happen before or after Y? Why?" * What line of code in simpleserver2 is the most complex, i.e., it produces the most complex program behavior? - Deno.serve() - and then explain what it does Questions that ask what lines of code are REALLY doing are fair game, so long as the code is something similar to what you've seen. * How could you change line X in the program to do _______ - this style of question can be very good, for the right X