Week 11 Retrospectives
What went well:
I sent an email to Fisk professors asking what I could do for Decembermester, which is a 1-month semester that happens after Thanksgiving until mid-December. I suggested teaching any class similar to the class I’m taking now but a shorter version of it during Decembermester, as well as making some workshops for front-end web development as that’s my current concentration at Google. I also offered to help students build end-to-end apps. One of the professors responded with seeing what the students would like, and I made a form for the professors to send out to their students. I’m going to send that to my students as well. I’m pretty excited about this actually, but I don’t know how many students will actually be interested in my helping them with this. I floated the idea last week of setting up frontend / app development workshops for all of GIR schools to one of our GIR PM’s, but he said this might be more work than it seems, not to deter me from doing it. In any case, we’ll see what students want, I guess!
GIR PM feedback.
Internally for GIR, there was a bit of chatter about another GIR having difficulty with students refusing to answer question when getting help. I pretty much bombarded them with questions in an attempt to understand (her understanding of) the student’s perspective, and in the end, I was again grateful for the students I have. Some of them have challenged me, but nobody has given me as hard of a time as this GIR’s student has given them. I guess some students haven’t really responded to my emails with regards to setting up some time to look over work, but at least the ones who do respond or ask for help are receptive to my questions.
One of my students had a hard time figuring out Search part 2 directions, but once I really made her read all the directions I had written, I was pretty pleased that literally all of her questions or misunderstandings were very clearly written there. I’ll admit the document is long though. On the flip side, the document is very organized and organized in the order in which students should be approaching it.
Writing this retrospective as the week goes ensures I don’t forget anything. That’s pretty great.
What could be improved:
Pass by reference was a bit difficult to teach. I’m not sure whether I emphasized memory location too much, and I definitely think I taught the second time way better. Interesting.
Quiz was too hard. I forgot to say to use a set for the coding question, and I probably should’ve provided a better example. The coding question was to return the item in a list that isn’t paired, but the example I gave had only one pair for each item aside from one lone item. I expected code to take care of the case with multiple pairs of the same number. I ended up giving half credit to everyone who did it with a dictionary and didn’t catch the duplicate pair, but that might have been too harsh to grade. The downside of all this is that I’m going to have to create another quiz with all of this, which I’m not really looking forward to doing.
Helping students and student feedback.
I’m really apprehensive about teaching complexity. I’ve spent a lot, a lot, a lot of time making the slides, and I basically teach students how lists, dictionaries, and sets are implemented under the hood so they can understand why each data structure’s functions are the complexity they have. I’m not sure how well this is going to go down. I also spent a lot of time writing actual reading-code questions for lab, because for once, I didn’t have a past GIR’s tracing code problems to copy. I’m really grateful I didn’t have to write all those past labs, because coming up with those code samples was really hard and took me a long time. I also wanted a good balance of data structures for them all, so that’s probably why it also took me a long time. I also debated teaching them break / continue, switch / case (I already made the slides for these in fact before the semester started), try / catch, and recursion. The reason I didn’t end up choosing any of those is, break and continue isn’t really used that much, switch and case aren’t inherently part of Python and need to be implemented using a dictionary which is weird and not really standard, try and catch isn’t applicable in anything we’re doing, and recursion is just never useful and hard to teach. My complexity slides were a large part borrowed from MIT’s, at least for the introduction because I wasn’t sure how to introduce it. Doing these explanations will be more fun for me though because it’s challenging and interesting. I also had to look up the time complexity and explanations for some of these so I explain it correctly. I’m debating whether to give them a sheet with all the complexities written down, but that might defeat the purpose. I make it a point to say in my slides that if they understand how these data structures work, they won’t have to memorize the complexities. I’m a bit curious as to how this will go down.