24wi ver.

Note: this is for the Winter 2024 iteration of CSE 121. Looking for a different quarter? Please visit https://courses.cs.washington.edu/courses/cse121/.

Having questions or getting stuck on something is entirely expected in the learning process. If you find something challenging with your studies, that is a sign you are learning! Learning is not something that you need to do alone though! In fact, connecting with your peers or asking a member of the course staff for help can add extreme depth to your knowledge.

  • Synchronous Help (Office Hours): One place to go to get help is our Office Hours hosted throughout the week. TAs staff office hours for many hours a day to provide you the help you need when you need it! This is a great place to go if you want to review a particular course concept, work on a practice problem with the help of a TA or your peers, or get help on a Creative Project or Programming Assignment if you are running into difficulties.


    A common misconception is that you can only go to office hours with specific homework questions. That is not true! If you have any questions about course concepts (e.g., from class that day), you are super encouraged to go work on that concept with a member of the course staff at office hours! Getting help with a concept earlier, when you first are feeling unsure, is much better than saving it until you need it on the homework.

  • Asynchronous Help (Ed Discussion): With a class of our size, directly emailing a member of the course staff is not always recommended. There are many of you and only few of us, so if you email one person directly we can’t make a guarantee how quickly we can respond! To alleviate this one-on-one communication of email, we have a course discussion board that will be a much more lively place for discussion and a way to make sure you can are helped more quickly. The message board is set up so that all of the course staff can help you, which will make it more likely for you to receive a quicker response!

    Ed Tips

    • If you are asking a general question about the course logistics or content, you can make a public post. This way other students can benefit from seeing your question, and you can even answer each other’s questions to share your perspectives!
      • If you want, you can choose to post anonymously so that other students in the course can’t see your name. Note that anonymous posting does not hide your identity from the course staff.
    • You’re encouraged to answer each other’s questions as well! Explaining a topic to someone else (even on a discussion board) is a great way to help you better understand the material. The course staff will still look over student answers and can nicely point out some misconception if there is one so that everyone benefits.
    • If you have a question that’s pretty specific to your homework solution, or, is about some personal details that you would not want to share with the class (e.g., DRS accommodations), you can make a private post on Ed that is only visible to the course staff. This way, any member of the staff can respond to get you the help you need!
    • For sensitive matters that you only want to discuss with Elba and Matt, you can instead email Elba and Matt if that makes you feel more comfortable. Note that the response time for the instructors’ email is longer than posting on the Ed board.

Introductory Programming Lab (IPL)

The Introductory Programming Lab (IPL) is a TA run office hours space available for many hours a day during weekdays and some hours over the weekends. The IPL is located in MGH 334 and can be attended by students in CSE 121/122/123.

Click below to see the schedule.

IPL Schedule Join the IPL Queue

How to Queue for the IPL

The IPL Queue is only open while there is staff available to help. Please see the IPL schedule for when the IPL is open/closed.

  1. Navigate to the IPL Queue on MyDigitalHand
  2. Click the Get Help button on the left-sidebar and then the Get Help Now button at the top of the page. If you want to learn about the queueing process, you can click the More Info button. You can only enter the queue when there are TAs available on staff. MyDigitalHand screen showing a button for "Get Help" and "More Info" as well as who is on staff.
  3. You will be prompted to answer a few questions about which class you are in, what you are working on, and so on to give the TAs some background information about your question. Your responses do not be overly long, but please be as descriptive as possible so we can ensure the best help we can provide. Saying “I have a question” is not descriptive.
  4. When you have submitted your answers to these questions, you are now in the queue and a TA will come over to help you as soon as they are available! You should a screen like the following while you are waiting to be helped. A TA will call your name and/or you will hear a ding from MyDigitalHand when the TA is available to help you. If you solve your problem or want to leave the IPL before you are helped, please make sure to cancel your request with the Cancel Request button. MyDigitalHand screen showing the "Get Help" button has been replaced with a "Cancel Request"
  5. After you have been helped, there will be a popup asking you to provide feedback about the interaction. This feedback is used purely for informational purposes for how we can improve the IPL experience. It is not required that you provide feedback, but your feedback is very helpful!

What to ask at the IPL

  • If you find a lecture or section problem related to homework material that you are unable to figure out on your own, this is a great opportunity to work with a TA in detail to build up a solution.
  • Asking the TA to give you a mini-lecture on a concept or example from lecture or your quiz section that you didn’t get understand. This is another area where TAs are happy to talk as in-depth as you want about the material!
  • Asking questions to understand what a Creative Project or Programming Assignment specification is asking you to do! We want you to focus on writing a solution to the assignment - not get hung up understanding what we’re asking you to do!
  • Asking the TA about debugging strategies given a particular issue you’re running into during your development. They may ask you deeper questions to help you consider what might be causing the issue, suggest tactics like adding temporary printlns to examine the state of your program, or recommend you review a separate example or practice problem that involves similar concepts.
  • Asking advice for the best ways to use resources in the course to understand material and/or prepare for assessments.
  • Here are a couple of examples of good IPL questions:
    • “I was debugging my code, and for some reason even though I passed the variable as a parameter, the value wasn’t being updated in main. Do you know why that is?”
    • “My code isn’t working. __ is what I’m expecting to see, but __ is what I’m seeing instead. Do you have any thoughts about how to proceed from here?”
    • “I don’t understand what Miya meant what she said that __ is poor style. Can you explain?”
    • “I struggled to understand this example from lecture, can you go over it with me?”
    • “I’m not sure how to even begin solving this section problem - could you help me think about some pseudocode?”
    • “I’m not sure what the expected output is in __ case for the homework assignment. I read the spec, but I’m still not sure. Could you help walk me through an example of how the program should behave in this case?”

What the IPL can’t help you with

  • Expecting the TA to point out exactly which lines of code are broken and/or how. The TAs are happy to show you debugging strategies and help you step through your code, but you should be deciding what changes to make.
  • Asking a TA whether or not something will be a deduction. TAs will not pre-grade your assignments. You can ask general questions and discuss pros and cons of a certain approach, but how you solve the problem is ultimately your decision. If you want insight intohow your assessment will be graded, you can consult the generic rubric.
  • Here are a couple of examples of unproductive IPL questions:
    • “My code is broken. Please tell me the line of code I have to change to make it work.”
    • “Will doing __ on my assignment result in a worse grade?”
    • “My code isn’t working.” (with no other information)
    • “Can you look over my solution and see if there are any problems I need to fix to get good grades?”

Instructor Office Hours

Elba and Matt will host separate office hours during the scheduled times. During the scheduled office hours you can show up in-person or join via Zoom.

Feel free to stop by to ask questions about course content or ideas outside of the course, homework help, questions about course logistics, or anything else!