Key takeaways from CS371g: Generic Programming:
- Test your code before, during, and after! Very important for catching edge cases and bugs in general.
- Always look for reuse and symmetry in your code. Some class methods can be used in other methods. And be consistent with your code to not confuse the graders or anyone reading your code.
- Collaboration is key to the quality of your code. Find someone for pair programming. It will help you improve your own code and understanding of said code.
How well do you think the course conveyed those takeaways?
Professor Downing heavily encourages all of these takeaways. Every project (except the first one) will let you have the opportunity for pair programming, This will not only help your own code’s quality but also help connect you with fellow peers. A lot of my partners had very interesting takes on the direction of many projects, which helped me improved in my thinking and coding practices.
Were there any other particular takeaways for you?
Another key takeaway from the class is our weekly blogs. It felt like I wasn’t just a robot bunched in with other robots. Weekly blogs and hearing about people’s days felt like the class was like a little community. I’m not sure if a lot of people did so, but I found it nice to read through some blogs to see what people are up to. Sometimes, it would be fun experiences with friends or a picture of a dog. It was nice knowing that we all shared some similar experiences/hobbies/struggles with our projects. Maybe I’m just weird and should get back to my own projects haha.
How did you feel about two-stage quizzes and tests?
Two-stage meant doing a quiz/test on your own first then with a group. This allowed for collaboration on the quizzes and tests. Many times, a question would stump me, but collaborating with other classmates help heighten my understanding of various questions. Their approaches were always paths I never considered, and I’m truly grateful for the opportunity to work with my peers.
How did you feel about cold calling?
Cold calling refers to Professor Downing’s random selection of a student to participate in class lectures. It’s definitely nerve-wracking as Professor Downing goes down the list, skimming through names which hopefully aren’t yours. But it becomes more and more bearing as the semester went on because you realize that cold calling truly helps you engage in class, instead of dozing off or goofing around. Downing makes the participation super engaging, but he’s also super lax and patient. If you don’t know something, that’s okay because he will thoroughly explain it with the hope that you understand the material.
How did you feel about office hours?
Office hours had a set schedule, with maybe a few reschedules here and there. Professor Downing and his T.A, Mihir Mehta, were always happy to help students in need. I only went to Mihir’s office hours, but every time I was there, he would be thoroughly helping students, offering his own thoughts and insights.
How did you feel about lab sessions?
Lab sessions were voluntary two-hour sessions with the T.A that focused on helping students on projects. These would usually be very close to the due date of the projects, so they were helpful for small last-minute bug fixes or guidance. I would pop in time to time for small sections of my project, and the T.A, Mihir, would explain the problem in a quick and comprehensive fashion. Lab sessions weren’t normally used as a supplement for the course material, but I would imagine it could be used in such a way.