DUEs

What is a DUE Session?

A DUE (Demo, Understand, and Experiment) session is a series of short, low-pressure collaborations with members of course staff.

DUEs are a chance for you to share what you have learned and accomplished over the course of writing a solution to the project!

Each component of the DUE is intended to exercise a different part of your “computational brain”.

  • The Demo component will allow you to show off the final product that you worked on to an audience. During this component, we hope to show you that your work produced something.
  • The Understand component will stretch you to explain the higher-level ideas in your code (rather than the individual lines). This is a super important part of collaboration when working on code with a team. During this component, we hope to help you learn to confidently explain your own thoughts.
  • The Experiment component will ask you to re-imagine what might happen in different scenarios related to your project. This form of experimentation has been shown in various educational research to significantly improve learners’ conceptual understanding of higher-order concepts. During this component, we hope you feel encouraged to explore and play around with ideas and edge cases that you may not have before.

DUE sessions are meant to be low-stakes, so we expect everyone who shows up for a DUE to pass. Remember, our goal is to help you learn!

Before Your DUE

Announcement of DUEs

All students must complete a DUE for Project 1 and a DUE for Project 2.

We will not be running DUEs on Project 3 this semester.

Submitting Your Code

Before you can sign up for a DUE, you must first submit your code to the autograder.

For Project 1, you need a submission that scores 60/70 on the autograder, summed between the checkpoint and final autograders. This is equivalent to having a working exploit for 6 out of 7 questions. (Note: This used to say 70/70, but we lowered the threshold.)

For Project 2, you need a completed diagram of your design, and/or a submission to the Project 2 autograder that passes all of the basic tests. (This page will be updated with more specifics on the threshold after Project 2 is released.)

If you are having trouble reaching any of the thresholds, please come to office hours or make a private question on Ed and we can discuss. If you don’t reach the threshold, you can still complete a DUE! We would just need to figure out which parts of the project you’re missing so that we can create a DUE that works for you (and doesn’t cover the parts you’re missing).

Signing Up for Your DUE

We will post sign-ups for DUEs on Ed. Each DUE time slot will be 30 minutes. When you sign up for a DUE, the location will be in the appointment.

Please do not sign up for multiple time slots. If you need to switch a time slot, please cancel your old time slot ahead of time.

DUE sessions begin after the deadline of a project, and will continue running until everybody has gotten a reasonable chance to complete a DUE. If sign-ups are full, or none of the slots work for you, please wait for new slots to be released. We will release sign-ups at the beginning of each week.

We don't have time to schedule additional slots outside of what's published, so please do not contact staff while sign-ups are open.

We will announce the last day of DUEs in advance. If, after this announcement, you still cannot make any of the slots, you can post a private question on Ed and we will try to work something out.

If you have an extension on the project, you should still be able to sign up for a DUE after your extended deadline. You do not need to contact course staff while sign-ups are still open. If you have an approved extension past the date of the last slot, you can email staff at cs161@berkeley.edu and we will try to work something out.

DUEs will only be held in-person (not online/Zoom). If you have extenuating circumstances, you can post a private question on Ed and we will try to work something out.

Working with a Partner

You can work with a partner on the autograded coding portion of the project. However, both partners must each sign up for their own DUE and complete the DUE individually.

If you work with a partner, both partners are responsible for all of the code submitted. For example, “My partner did this part, so I didn’t look at it” would not be a satisfactory answer during a DUE. The goal is for both partners to achieve the learning goals, not for each partner to achieve half of the goals, so we would recommend working synchronously in a pair-programming fashion.

Each partner can complete the DUE at separate times; you don’t need to come in together as a group.

Preparing For Your DUE

We do not expect you to understand every single piece of syntax in the project. However, we expect that you understand what you did during the project. Please refer to [AI Usage Policy] for our expectations on GenAI usage when completing the project.

It is an honor code violation to discuss the contents of a DUE with other students.

During Your DUE

Timing of Your DUE

Within the 30-minute slot you signed up for, we expect you to spend about 15 minutes on the actual DUE. Please show up on time to your slot (not Berkeley time); if you are late, you may need to wait longer, as we will prioritize people who show up on time.

Due to the limited number of course staff hours, each component of the DUE will be timed. However, keep in mind that DUE sessions are meant to be low-stakes, so we expect everyone who shows up for a DUE to pass despite the time limit in each component. Remember, our goal is to help you learn!

If you have DSP accommodations for extended time, we will honor those and give you additional time on your DUE. If you have other DSP accommodations that you would like to use on your DUE, please email cs161@berkeley.edu.

While we will try our best to finish the DUE within your 30-minute time slot, we may go slightly over time, so please plan accordingly. For example, if you have an exam at 4:00pm, we would not recommend signing up for a 3:30–4:00pm slot.

Content of Your DUE

During the DUE, you may only reference your code and the project spec, so please bring your laptop.

When you walk in for your DUE, the Demo TA will greet and work with you through the Demo component. At the end of your Demo component, you will be handed off to the Understand TA.

Then, the Understand TA will work with you through the Understand component. At the end of your Understand component, you will be handed off to the Experiment TA.

Finally, the Experiment TA will work with you through the Experiment component. We may ask you to pair up with another student (not your project partner) to complete the Experiment component together.

After the end of each component, each TA will immediately tell you whether you successfully completed the component. This will also be reflected on Gradescope, so you do not need to log the results yourself. If you are unable to successfully complete a component, your DUE will end and the TA will direct you to complete a reDUE (see below).

During any component of the DUE, you may find yourself struggling and that is okay! We know that thinking under time pressure even in a low-stakes environment can be daunting and difficult. Course staff will try their best to help guide you through the DUE within the time limit so that you can achieve the learning outcomes!

Remember, our goal is to help you take ownership of your own learning, not to fail you!

After Your DUE

ReDUEs

If you do not complete a DUE for a project on your first try, or if you no-show your DUE, we may offer a reDUE, which is a second (and final) opportunity for you to complete the DUE for that project. Any progress from the original DUE does not carry over.

If, at any point during your first try, you do not successfully complete a component, the TA will direct you to complete a reDUE, which will happen at a later date. We have not decided how to handle sign-ups for reDUEs yet. You should not sign up for reDUEs on the main sign-up page. This page will be updated once we figure out sign-ups for reDUEs.

If your partner is asked to complete a reDUE, you are not automatically required to complete one as well (unless you are also asked to complete one).

Grading

For projects where you are assigned to complete a DUE, your final project score will be a combination of your autograder score and your DUE result, as seen in the pseudocode below:

IF you score a sufficient amount the project:
    IF you complete the DUE on the first try:
        Your project score is equal to your autograder score.
    ELSE:
        IF you complete the reDUE:
            Your project score is equal to your autograder score.
        ELIF you make some progress on the reDUE, but do not complete it:
            Your project score is equal to 50% of your autograder score.
        ELSE:
            Your project score is 0.
ELSE:
    Your project score is 0.

For projects without a DUE component, your project grade is just your autograder score.

Each partner’s DUE is graded separately. For example, if Partner A completes a DUE and Partner B does not complete a DUE, then only Partner A would earn points on the project.

Acknowledgements

Parts of this document have been adapted from Adam Blank and Justin Yokota and their CS 1 course at Caltech.