CSE 6040 Exam Prep - FA22

This will give you some insight into the role of exams in the class as well as suggest preparation tips. For rules and rules FAQ, please go directly to those pages.

Potential updates incoming

This page will be updated over the next few weeks as we try to refine it and improve the advice we give. If you have specific recommendations including things that worked for you, please make a private piazza post and we'll add it to the list of things to incorporate here.

Exam Intent & Key Considerations

Knowing the exam philosophy may not be directly useful to you, but hopefully it should provide some peace of mind. We put a great amount of effort into the exam process and continuously work to improve it.

  • Exams are intended to test your mastery of the concepts which are introduced in the course material. You will be asked to apply your skills on a new problem which may require using functions/methods not covered in the notebooks. (Don't worry. We will point you in the direction of appropriate documentation and may provide examples if they aren't readily available.)
  • Exams only account for 50% of your total grade. The homeworks will account for the remaining 50%. Assuming that you complete all of the required homework, you need to score an average of 60% on the exams to get an overall grade of "B" and only 20% to "pass" the course. (You can do the math yourself for the other grade outcomes.) The difficulty of the exams reflects this weighting.
  • The exam exercises are independent, but they are not ordered in terms of difficulty. Feel free to solve the exercises in any order. The point values indicate our estimation of the relative difficulty of the exercises.
  • You may not have to complete all exercises on the exam in order to score 100%. There will be a posted "cutoff" for achieving 100%. That number may be adjusted based on the overall class performance, but adjustments will only be in your favor. Ex: there may be 18 possible points but the scoring cap is 15 points, meaning that your score will be X/15 with a cap of 100%
  • The time limit, exercise point values, and 100% cutoff are determined by our internal testing. These will be revealed a few hours before the exam is released. The exam is in development/testing until very close to the release date, so this information will not be available earlier.
  • The time limits include a small cushion of time for technical issues, so please review the Release Notes and Rules page before each exam so you know how to quickly begin troubleshooting.
  • SUBMIT AFTER COMPLETING EACH EXERCISE! Points are not locked in until they're submitted and the autograder awards points. This takes minimal time so there is no reason to not do this.

Exam Preparation


Materials you can review:

Tier 1 (directly useful):

  • Notebook solutions (yours + instructor)
  • Practice midterm problem solutions (+ videos if applicable)
  • Office Hour recordings
  • Programming Skills Office Hour recordings

Tier 2 (useful in some cases):

  • Any reference sites for specific concepts (ex: specific geeksforgeeks pages, regex101, etc.)
  • Piazza posts from other students + Instructor responses

Recommended minimum review plan

This is the recommended minimum, but of course you should adjust it as needed based on how much time you have. If there is anything to takeaway, it's that you should try to be cognizant of your strengths and weaknesses and plan your studying around that.

At a minimum, you should run through the Tier 1 and Tier 2 practice exam problems and assess your readiness from there. We recommend running through a few of those like notebooks, going through them and focusing on them entirely (no TV in the background, light music is ok). Then you should pick one and take it in a simulated exam setting.

Take a real practice exam

This step is surprisingly effective, and something I would not consider skipping over unless you have near 0 time to prep for the exam. This will not only get you some practice for a limited time setting, but it will also help you stress-test your skills and figure out what you actually need to work on.

  1. Pick one of the Tier 1 or Tier 2 practice exam problems (don't look at them ahead of time, definitely don't look at the solutions)
  2. Setup your computer + environment the same way it'll be setup when you take the exam. That means one monitor (external screen instead?) and all other tech
  3. Consider taking it at roughly the same time if possible (remember how we used to do SAT study tests early in the morning just like the real SAT?)
  4. Prepare the resources you will use during the exam the same way.

Purpose: This should help you identify what concepts you struggled with, but also what skills (see Exam Skills section) you may have struggled with. I know you might be inclinced to sit there and solve the questions fully, but you need at least a few practice runs of taking it the exam way, which means solving as many exercises as you can in a specific time window.

Don't get demoralized: After your first run you may get a bit demoralized but please don't! This is a new experience for many people, and it's something you will get better at through this class and eventually through job interviews and other real-world situations.

Exam Skills

This section is maybe a little less tangible than the others, but we believe this should still be generally applicable.

General Problem Flow


Reading/Understanding the problem

This is how you can read the explanation of the problem, pick out the important parts and then identify the inputs/outputs. This skill cannot be undervalued--you will always have to use this skill, and this will help you immensely on the exam.

Breaking down the problem

This is where you take the problem and break it down into steps for you to start working on. As you can see in the past exams the steps are sometimes spelled out for you, but even in those cases you will still need to map it out yourselves and figure out how to address it.

Converting problem steps into pseudocode

You can google this term, but think of it as writing a problem into functional steps in english. For example, if you are asked to clean a dataset with temperature data, one of your steps might be "convert Fahrenheit to Celsius with one decimal point"

Converting pseudocode into Python

This step may sound like the hardest, but if you logically split the problem and wrote good pseudocode, it shouldn't be that difficult. You can google this, like for the previous example you can google "Python convert Fahrenheit to Celsius", followed by "Python round column data to one decimal point".


Other skills

These skills are almost as important as the general problem-solving skills, and in many cases may even be more important (although we probably shouldn't try to compare them).

Googling

You've probably done it a lot by now, but this skill is definitely useful. Here are some suggestions you can try depending on what you're looking for.

  • Putting "Python" in the question makes it more likely that you'll see Python-related answers
  • If you're referencing one of the major packages, you should add that package name "Pandas __" or "Numpy __"
  • Do a broader search if your precise search isn't yielding good results (weak example: "Python rounding column data" vs. "Python round temperature column data to one decimal point")
  • Get good at sifting through the results. Some people like geeksforgeeks, some prefer stackoverflow, others like using the documentation. There is probably no objective 'best' resource, but you should be familiar with the common ones and know how to sift through them. Example: I learned a while ago to take note of the Stackoverflow post date, as posts from 10+ years ago are helpful but I may have to look for the updated syntax

Test Day Prep

I know a lot of people are busy so it's unlikely that you'll be able to do all of this beforehand, so just look at the suggestions and pick and choose your priorities.

Materials to prepare ahead of time (1+ days before)

  • Download your notebooks and instructor solutions ahead of time. Pick a place to keep them locally so you can look at them quickly
  • Organize your browser bookmarks folder (various useful sites you've been to, specfic piazza posts that were helpful)
  • Bookmark 'tools': PythonTutor site, Regex101, any other sites like that

Test Day

  • Get your technology setup (monitor, webcam, keyboard and mouse)
  • Get the resources you want open setup (all notes, things organized in browser tabs, etc.)
  • Make sure you know where every resource you may want is. You do not want to have to go to Canvas/edX to download something, you should have this all stored locally ahead of time.
  • Get everything you need to be comfortable for a 3-4.5 hour test. It's better to have this close and easy to grab so you don't have to break your concentration to go find it. This includes things like:
    • Drinks and snacks
    • Sweatshirt

Taking the exam

  • Before you get proctoring setup, make sure you're fully ready to start. You don't want to spend any exam time running around looking for some water, looking for your notes, or anything you could've done ahead of time.
  • Once you're ready, take a deep breath and get started. Expect 5-10 minutes to get proctoring started, then as soon as you're in Vocareum and you start the exam your timer will start.
  • As you read through the exam, go quickly but don't speed through it and miss crucial info. There may be some extra information, but keep in mind we wrote everything from scratch, so the less essential information is often background information that may help you better understand the problem. In any case, don't dwell on anything!

Pro-tips

  • Your state of mind is often more important than sitting there and coding 100% of the time, so take a 2-5 minute break if needed
  • An exam time limit of X hours doesn't mean you will need to code for X hours, that accounts for time to breakdown the problems and understand it, then develop a solution and debug it
  • Follow your proven approach: there is no need to get fancy on the exam
  • Ugly code and beautiful code both get the same number of points, as long as they pass the autograder
  • Don't overthink things, we're not trying to trick you. There may be problems that are many steps, but there aren't any that are attempting to mislead you
  • Don't get stuck on one exercise. Even if you spend 20 minutes on it and can't get it to pass, it might be worth moving on to another one and then coming back later. You don't want to end up accidently spending 45 minutes on an exercise and still not getting it at the end
  • The order of questions is not based on difficulty, so you should definitely feel free to skip around if needed. No need to do this 3pt question if you only need 1pt to hit the scoring cap and there's a 1pt question 3 exercises later.
  • Use the provided debugging info. See the Tier 1 practice exam problem for examples
  • A single incorrect character in a column title is considered wrong and may not be obvious to you. Don't automatically assume your error was more substantial.
Updated: 2022-12-16