Written by Peter Benitez and James Varah, and Nick Troccoli
Completed your 1:1? Please take a few minutes to fill out our feedback form here: click here. Your feedback is invaluable in helping improve 1:1s!
The week after assign1 is due (week 4), you'll meet 1:1 in-person for 15 minutes with the TA who graded your assign1 submission. During this meeting you'll have a chance to explain your assignment implementation, your process for completing it, and a chance to apply what you learned on the assignment in other contexts. This is your chance to show off your understanding of your own implementation and communicate about your process! This is also meant to provide practice for communicating about your work as you would do in other industry and project settings.
The motivation behind the 1:1s is to (1) help benefit assignment learnings as much as possible and put emphasis on both the process of completing the assignments as well as the completed work, (2) help build skills to communicate your work, and (3) provide a chance for more frequent check-ins and discussions about your work in the course.
For CGOE students, please see our CGOE TA 1:1s information in our CGOE handout here: click here.
IMPORTANT: Signups open on Canvas on Fri 10/9 1PM PDT; at 1PM, every student will be assigned a section on Canvas corresponding to the TA grading their assign1 submission. If you go to the "Calendar" tab on Canvas and select "Agenda" at the top of the window,and select week 4, at that time you should see appointment listings throughout the week to sign up for a 1:1 slot with your assigned TA. (If that doesn't work, see if there's a button "Find Appointments" on the right side of the window). Your TA will have many available slots on campus throughout the week, at various times each day, to sign up (a fair bit more than the number of students who will be signing up for slots), to help provide slots that can work with your schedule. You can sign up for 1 appointment slot at a time, but can change appointment slots later if you'd like - please be mindful of TA schedules and avoid changing appoointment times last minute except in cases of emergencies. If you are a student with OAE accommodations for extended time on assessments/exams, please sign up for TWO back-to-back slots; your TA will administer your 1:1 with your OAE-specified amount of extended time within those two slots. See "logistics" below for more information.
Logistics
The first 1:1 will take place M-F during week 4. Each TA will have slots available on various days during the week. Please bring a laptop (so that you and the TA can reference your code during the 1:1) - you can bring one if you have one, or email the Head TA if you aren't able to get one for your 1:1. The 1:1 is entirely oral; you won't be asked to write any code or write answers to questions.
TAs will list many available slots throughout the week, and with the large number of 1:1s during week 4, we ask that you do your best to be flexible in times that you may be able to sign up for. If you absolutely cannot attend any of the listed times, email your assigned TA with information about your conflict(s) to look into alternatives; however, because of the large number of 1:1s taking place next week, we ask that you please only email if you are absolutely not able to attend any listed times. We'll do our best to provide as wide a range of times as possible.
During each TA 1:1, the TA will use Zoom (with audio but no video) to record a transcript of the 1:1; the audio will be deleted, and only the Zoom autogenerated text transcript will be saved. Transcripts will be fully anonymized before being referenced or used. Transcripts can help evaluate the efficacy of TA 1:1s and to help iterate on future offerings of 1:1s.
If you would like to opt-out of having your transcript saved, you can fill out this form below:
Structure
The 1:1 has two core parts. It will take about 12 minutes (with 3 minutes at the end to optionally fill out a short feedback survey). There will be 3 questions total, spending 4 minutes per question.
- Work understanding: Your TA will ask questions guided toward your understanding of your implementation and your problem-solving process. For example:
- Why you chose particular test cases, and at what point in your development you added them
- Bugs or errors you ran into and how you resolved them
- Asking you to explain a portion of your code and how it works
- Applying what you learned: these questions are related to the bigger picture aspects of the assignment, such as layering, abstraction, and possible filesystem modifications vs. what you implemented on assign1. We won't ask wholesale about other filesystem designs (for instance Windows FAT), but, for example, we do want you to be able to think critically about what possible changes might mean, and how you think through benefits, drawbacks, and changes required to implement it. You may be asked to, for example:
- Talk through how you would design or implement a new feature on top of your existing code or in a similar system. (for example, how would you implement a check in your Unix v6 implementation where, given a path to a file, you could determine whether its payload data is stored contigouously? Or, provided the design of another non-filesystem piece of software, explain how you could use the layering approach on assign1 to improve the design.)
- Evaluate tradeoffs between different designs (for example, what would the benefits and drawbacks be of enlarging the inode size in Unix v6? there may be questions about how to evaluate benefits/drawbacks of different designs, or coming up with design change ideas for different cases).
These are samples, and 1:1s will use a variety of questions throughout the 1:1 slots. In addition to this, per the Honor Code, please do not discuss the details of your 1:1 until after Friday of week 4..
Preparing
The best way to prepare is to squeeze the most out of your work on assign1; here are some specific tips:
- Understand every line of code you write and why: don't make a change unless you understand why it must be made, and why it works.
- Orient yourself with the needed provided code: make sure you know how the codebase is structured; you don't need to memorize every file and what it does, but you should be particularly familiar with all the layers you implemented and how they connect, as well as provided code that you rely on (for instance,
readSector). - Make the most of testing and debugging: as you're working, reflect on how you are approaching testing and debugging on this assignment. In particular, every bug is an opportunity to resolve a misconception or unintended issue; reflect on what you learned each time you resolve a bug, and why the fix you implemented solves the problem without introducing any new issues.
- Reflect on big picture takeaways: you're implementing a full filesystem - rock on! Take the time as you work to reflect on your accomplishment, and the big picture takeaways of layering (and how that benefits you on the assignment) and abstracting away complexity, seeing name resolution (mapping from filename to inode number) play out directly in your code, and how the design you implemented is just one possible design. As you go, ask yourself about possible modifications; "what if we instead did X? or Y? What are the pros/cons? What would that look like in the context of Unix v6 and
assign1's implementation?
Honor Code
The 1:1 is to be completed individually and without any assistance from any external resources (other than your own assignment code) such as online sources, tools, etc. Follow the Stanford Honor Code (see link on main course homepage) during the 1:1, and do not discuss your 1:1 with other students until after the end of the week (through Friday 10/16).
Grading
Each TA 1:1 is worth 2.5% of your overall grade. For the 1:1, grades will be assigned using a bucket system; each of the three questions will receive a bucket score, from the following buckets:
- Full credit: demonstrating a full and correct understanding, and an ability to think critically about the question
- Partial credit: demonstrated ok understanding, but with some parts that could be improved or some areas that showed less strong understanding
- 0: did not answer the question, or demonstrated little to no understanding
We don't disclose the specific numeric scores for the bucket system, but we expect most grades to be between full credit and partial credit overall.