Paper and pencil exams will not be administered this quarter.

Instead, we will use a combination of summative assessments in the form of exercises and homeworks (some of which may include written or theoretical problems in addition to practical problems) as well as oral assessments (i.e., Code Interviews to demonstrate code communication skills as outlined below).

Note

The content on this page is mostly accurate but still under development. Updates may be added until the first week of interviews.

Code Interviews

Much of this introductory language is directly inspired by the interview policies in CSE 163.

Code interviews are a live form of assessments in this course. Rather than evaluating only your submitted program code, we treat your submission as a starting point for a conversation. These interviews are designed to assess your fluency in programming concepts such as writing, reading, debugging, and communicating code. As a software engineer, articulating your ideas and decision-making is just as important as writing functional code.

We will conduct three rounds of in-person code interviews this quarter, corresponding to assignments HW3, HW6, and HW7. Interviews will be held within the three school days following each assignment’s initial deadline. For example, since the initial deadline for these assignments are on Fridays, then interviews will occur on Monday, Tuesday, and Wednesday of the following week. This timeline accommodates students who submit on time or by the late deadline.

Interviews will primarily be conducted by TAs. During interview weeks, TAs will host additional in-person office hours-like sessions to facilitate the process. Each interview will be brief—approximately 5 minutes and will be one-on-one. TAs will review your homework submission in advance and prepare one or two focused questions related to your submission.

Examples of possible interview questions include:

  • “Can you explain what this function does in plain English?”
  • “What was your design process for this function?”
  • “What debugging strategies did you use, and what issues did you encounter?”

Note: This list is illustrative, not exhaustive. Actual prompts may vary.

Evaluation

Your responses will be evaluated using the following four-point scale:

  • 3 points – Excellent: Provides a clear, accurate, and thoughtful explanation of the code implementation. The response demonstrates a solid understanding of the overall logic and purpose of the code snippet, and communicates it effectively in plain language.

  • 2 points – Fair: Offers a generally correct explanation but includes minor inaccuracies, vague phrasing, or overreliance on direct code syntax. Responses in this category may explain what the code does at a slightly surface level without clearly capturing the higher-level intent.

  • 1 point – Minimal Attempt: Demonstrates an attempt to answer but reflects significant misunderstanding or flawed reasoning. Responses may be overly superficial, incomplete, or misrepresent key parts of the code’s behavior.

  • 0 points – No Attempt: No initial homework submission was made, the interview was not scheduled and/or missed, or no attempt was made to answer the interview question.

Grades and interview feedback will be posted on Canvas after all interviews for the assignment have been completed. Students may ask additional questions about their score/feedback via a private post on Ed.

Interview retakes are not permitted. Each student has one opportunity per homework interview. Note: You must submit the homework assignment (by the maximum late day) to be eligible for an interview*. Failure to make an initial submission will result in a score of 0 for the interview.

*accommodations may apply, reach out to Chloe if that is the case.

Important Note on Homework Resubmissions

Please be aware that you may not resubmit your homework after completing your code interview.

This especially applies to students with Monday interview slots, as Monday is also the final day you can use a late day for that homework. If you’re scheduled to interview on a Monday, your final homework submission must be submitted by Sunday end of day.

Students interviewing on Tuesday or Wednesday won’t run into this issue, as those interviews occur after the late submission window has closed.

Example Interview and Evaluation

To give you a better idea of the interview evaluation and format, refer below for an example.

Suppose the following snippet of code was the focus for a bash scripting code interview:

# concatenate the contents of f2, ..., fn and put them in f1
while [ $# -gt 0 ]; do
  cat $1 &>> $output
  shift
done

A potential interview question could be: “Could you please explain what this while loop does in plain English?”

Below are sample responses and corresponding evaluations, each aligned to a scoring category:

3 points (Excellent):

  • Sample Response: “This loop will iterate through each command-line argument passed into the script. It will take its file contents and/or errors, outputted by cat, and append them to the output file. After the file contents have been appended, the argument is shifted away to continue with the next file argument.”
  • Sample Evaluation: This explanation clearly and accurately describes the purpose of the loop and how each part contributes to the overall task. It demonstrates a high-level understanding while still addressing the key implementation details.

2 points (Fair):

  • Sample Response: “This while loop will check the number of arguments using $# and compares if it is greater than 0 to do the loop. It will then cat the contents in the first argument and put them in a file called output. It keeps shifting the arguments and repeating until its done.”
  • Sample Evaluation: This response captures the gist of the loop, but tends to rely on the syntax to guide the explanation rather than at a higher level. It also contains a minor inaccuracy: referring to output as if it’s the literal filename (mentions putting contents into a “file called output”), rather than a variable that stores a filename.

1 point (Minimal Attempt):

  • Sample Response “It’s a while loop that will look at whatever is in $1 and somehow output it. Then it shifts and is done.”
  • Sample Evaluation: This explanation is vague and provides little meaningful insight. The phrase “somehow output it” glosses over the detail of what happens in this step and is incorrect since the file contents are appended to an output file, not necessarily outputted directly to stdout. It does not go beyond the most basic description of what the code appears to do, and lacks both clarity and depth.

Interview Slots

Tentatively, the planned interview slots are during the following time periods:

  • Mondays after class
  • Monday evenings
  • Tuesday evenings
  • Wednesdays after class
  • Wednesday evenings

These interview times have been scheduled to accommodate a range of student availability. While most students will be on campus around class hours, we also recognize that others have daytime commitments and may only be available for in-person interviews later in the day.

If you’re generally available for in-person interviews but none of the listed slots work for you, please make a private post on Ed so we can coordinate an alternative time for your interview.

Details about the exact times, locations, and the TAs conducting the interviews will be posted on Ed and added to our office hours calendar.

Scheduling Logistics

To help TAs prepare and keep scheduling organized, students must sign up for code interview slots in advance. Specifically, you should sign up by the end of the day before your intended interview. For example, if you plan to interview on Monday, please sign up by Sunday night. This allows TAs time to preview your submission earlier in the day ahead of the interview to formulate appropriate questions.

More details on how to sign up will be posted to the course discussion board ahead of interview weeks.

If you miss or need to cancel your interview on the day of, you must make a private post on Ed at least one hour before the start of your scheduled session to notify the staff. To minimize scheduling hassles, you will only be allowed one opportunity to reschedule your interview later that week. If you miss a Wednesday slot, you’ll have the option to do the interview by attending in-person office hours on Friday instead.

Students who miss all available interview slots and/or do not communicate their scheduling conflicts in a timely manner will not be offered a makeup opportunity. This will result in a score of 0 for the interview. To be extra clear: if you can’t attend your scheduled interview, you must notify the staff on Ed at least one hour before the interview session begins. Messages sent right before the start time, during, or after the interview are considered too late. Please communicate proactively to avoid missing your chance to participate.

Interview Expectations

Since each interview is very quick, only about 5 minutes long, students will not sign up for exact interview times at 5-minute intervals. Instead, students are expected to be physically present in the interview classroom for (as much of) the entire duration of the interview session they sign up for, until their interview is complete. Students will be called up in order.

When signing up, students can indicate a general preference for when they’d like to be interviewed within the session—early, middle, or late. For example:

  • Signing up at the top of the list suggests you’re willing to go first,

  • Signing up in the middle means you’ll likely be interviewed halfway through,

  • Signing up at the bottom means you’ll probably go toward the end.

To keep things running smoothly and avoid delays, students should plan to be present for (as much of) the full interview window so they’re ready when it’s their turn.

The TA will call students one by one from the signup list to a corner of the classroom to conduct their interviews. If your name is called and you’re not present at that moment, that’s okay—as long as you arrive before the session ends. The order of interviews is flexible and may not strictly follow the signup list, so that is why we ask that you be present throughout the session to help things run smoothly.

During your interview, you should bring your laptop and place it in front of you and the TA with your code submission pulled up on the screen (this can be in an IDE or on Gradescope). This will serve as a reference during your discussion with the TA. Tip: after hearing the question, you are welcome to pause for a moment and think about how you plan to answer. We are not trying to ask trick questions. You may ask for the question to be repeated or clarified if needed.

While you are waiting for your name to be called for the interview, you are welcome to just chill in the classroom. Bring a book to read, bring a meal/snack to eat, or even work on assignments for this class! (In fact, these interview sessions function like additional office hours, so if there’s downtime in between interviews, you are welcome to ask the TA questions.)

You may leave the interview session once your interview is complete.

Scheduling Accommodations

We understand that unforeseen circumstances may arise, and we are committed to providing reasonable accommodations.

If you are:

  • Unable to attend in-person during the offered slots
  • Miss your scheduled interview due to illness, emergency, etc.
  • Unavailable for synchronous participation during all interview sessions

Please contact Chloe as soon as possible via a private post on Ed or email. In these cases Chloe may conduct your interview via Zoom at a mutually agreed-upon time. Please make sure to explain the reason behind the need for a virtual interview in your request. The virtual interview request will be considered at Chloe’s discretion.

Regardless, please make your best effort to participate during the scheduled interview slots!