CS371p Fall 2021: Sruthi Rudravajjala: Final Entry
How well do you think the course conveyed those takeaways?
I think this course is well-designed and well-organized. There is a clear roadmap and I think the order of content made sense. I think the projects also did a good job in reinforcing that material. This class, more-so than SWE (which I also took with Professor Downing), emphasized in-class material on the projects. This really helped me internalize the content. I feel much more prepared to work on my own projects in C++. I also finally REALLY understand pointers which was not true after working with C in computer architecture and OS!
Were there any other particular takeaways for you?
I learned a great deal about tools used in traditional software development. Tools like Docker, gcov, Gtest, makefiles and general unit testing are all pretty applicable to work I’ll end up doing in industry so it’s nice to know I have a firm handle on them. It also helps that I’ll have an idea about any other similar tools that go by different names.
How did you feel about cold calling?
I actually enjoyed the cold-calling. In an online format it is really difficult to stay engaged but the cold-calling forced me to pay attention. It was also low-pressure since we weren’t expected to know the exact answer but just demonstrate that we’ve been paying attention. Being on campus also helped with my mindset and I think I felt more present in the classes I took this semester, even though most were still online.
How did you feel about specifications grading?
I’ll be honest, I dislike specifications grading. My gripe is that small portions of projects were graded really harshly. Missing asserts resulted in a whole downgrade where in a normal grading scheme you still would have had a passing grade. Moreover, doing poorly on one project bars you from getting an A. I understand that virtual tokens help mitigate this issue, but I feel that having to keep track of your own virtual tokens with no way to know what upgrades you’ve previously submitted made the class more stressful than it needed to be.
How did you feel about help sessions and office hours?
Help sessions and office hours were immensely helpful for this class. The TAs were knowledgeable and always willing to help. They made the class engaging and a positive experience for me.
How did you feel about the support from the TAs?
The TAs were very supportive and available. Ed Discussion posts were answered promptly and thoroughly.
What required tool did you not know and now find very useful?
I did not feel comfortable with Makefiles prior to this class but now I feel very comfortable with them and will use them in my other projects. It simplifies compilation and will save me a lot of time.
You should have read five papers that describe SOLID design: Single responsibility, Open-closed principle, Liskov substitution, Interface segregation, Dependency inversion. What insights have they given you?
I read most of the papers we were assigned in SWE last semester. That being said, I still found them pretty useful and way more applicable to this class. I had only briefly been exposed to object oriented design in my intro computer science classes and it was nice to refresh those skills. In general there was an emphasis on making sure code is sustainable over time by ensuring classes are flexible and separable.
You should have read two papers that advised minimizing getters and setters. What insights have they given you?
Minimizing getters and setter was interesting and made me really aware to anticipate changes to code and to make sure my code is flexible. Although I felt like some of the projects made us do funky things to demonstrate these concepts, I still felt like they were useful. Not having getters and setters was quite different to Java design I had been taught in CS 312 and 314 so it was a takeaway I had no prior familiarity with.
Give me your suggestions for improving the course, but apologies in advance; specifications grading will remain
I think students should be able to see their Perusal scores. In SWE we were able to see our scores as we added annotations. I think most of the comments on papers ended up being redundant as I tried to make sure I was hitting some score.
I also think the Life submission should be moved so it doesn’t coincide with the last class day. I had 3 exams, 2 projects, and 2 papers due this week and I would have preferred to have the Life project introduced earlier than right before Thanksgiving break.