CS 373: Final Entry

Abdul-Ghaffar Balogun
3 min readDec 7, 2020

After what felt like a very short semester, I am now writing my final blog entry!

Key takeaways that Prof. Downing hopes we take away:

  • test first, test during, test after, test, test, test
  • when designing algorithms, demand the weakest capabilities (e.g. iterable vs. indexable)
  • when designing containers, provide the strongest capabilities (e.g. indexable vs iterable)
  • build decorators on top of containers, iterators, and functions
  • utilize the benefits of being lazy (i.e. yield)
  • always look for reuse and symmetry in your code
  • collaboration is essential to the quality of your code and to your well-being in producing it

How well do you think the course conveyed those takeaways?

I think this course conveyed these takeaways very well. He structured the class to follow a similar format to what we can expect in the SWE industry. There was a disconnect to what we were learning in class and the projects, but the takeaways from lecture were also meant to be understood within the context of the project. In hindsight, I didn’t really realize that the takeaways were so intertwineable with the projects until I began reflecting on them. However, I see now that he has aimed to leave us with skills that would both propel our career as well as prepare us for what to expect in the software engineering industry.

Were there any other particular takeaways for you?

Another takeaway for me was understanding that the ability to write clean and concise code is very important to code hygiene. Often times, we just wanna write something down that works and move on, but Prof. Downing teaches us how we can rewrite that same code using less lines of code. This was interesting because it causes you to think beyond just finding the solution into thinking about how to make your code shorter and readible.

How did you feel about two-stage quizzes and tests?

I really liked the two stage quizzes and tests. It was ultimately a way to save your grade and it was an opportunity for you to have more of an interaction with your group members.

How did you feel about cold calling?

Initially, I found it quite nerve wracking. I was scared of being called on and not knowing what to say. However, it’s really just an opportunity for you to stay engaged in class.

You don’t need to have all the answers and I am sure he doesn’t expect that from you either. So it was a little reassuring knowing that he just wants us to get the most out of the material, instead of looking at cold calling as a way to embarrass us.

How did you feel about office hours?

I didn’t go to office hours as much. But when I did go, I found it useful. Downing gave everyone his undivided attention and helped them to the extent that they needed it. In addition, when I went to lab sessions the TA helped guide me to think about how to approach the answer instead of just giving me the answer.

Give me your suggestions for improving the course.

I really loved the structure of the course, to be honest. It’s difficult to find an area of improvement in this class. However, if I were to think of one thing I would say maybe have the test specification being more specific. This way students have a better idea as for what’s going on and time isn’t wasted on clarifying questions.

--

--