I was wondering how I should approach the ungraded labs. I know they’re supplementary and hence required to gain a practical understanding of what I’m learning. Do I have to understand every piece of code? I mean, I already understand what each piece is doing roughly, but I don’t feel confident that I will be able to implement it. However, I know that I can manipulate and tweak code(maybe generated by an AI). Do I skip learning the code, or do I not?
You are definitely not expected to reproduce every piece of code in the labs from memory. The labs are supplementary material, so I would focus on understanding what the code is doing, why it is written that way, and why a particular approach or technique is being used.
Being able to look at the code and explain it in your own words is already an important part of learning. You don’t need to feel that you could immediately implement everything yourself after reading it once.
The ability to actually produce code comes mainly from practice—working through exercises and projects where you have to apply what you’ve learned. It’s also perfectly reasonable to use AI-generated code as a starting point, provided that you understand the code well enough to explain it, modify it, debug it, and adapt it to a different situation.
So I wouldn’t recommend skipping the code. Read through it and make sure you understand the main ideas and how the different parts work together, but don’t worry about memorizing or being able to reproduce every line.