CS 371p Fall 2020: Michael Lee

Michael Lee
2 min readOct 31, 2020

What did you do this past week?

This past week I started working on and finished the Darwin project for this class and was luckily able to finish my computer security and neural nets programming assignments with plenty of free time to spare, something that I haven’t had since September.

What’s in your way?

Right now, not much really. I’ve finally gotten some free time to pursue some of my other hobbies / interests.

What will you do next week?

This next week I’m aiming to get started on the next set of labs I’ll have for each of my classes. Ideally, I’ll be able to get a repeat of this past week and finish each assignment early.

If you read it, what did you think of The Interface Segregation Principle?

I thought Interface Segregation Principle was a very logical way of organizing code. Luckily C++ has an easy way to apply the principle by making use of multiple inheritance. Since some languages do not support multiple inheritance (due to something known as the Diamond Problem), I was a bit curious as to how languages without multiple inheritance tackle this principle.

What was your experience of continuing to implement std::vector?

I really like that we’re diving into the internals of std vector since a dynamically sized array is one of the most fundamental data structures in computer science. I also think that actually implementing data structures yourself is one of the best ways to learn both the data structure and the language you’re working in so I think it’s great that Professor Downing is taking the time to walk us through the implementation.

What made you happy this week?

One thing that made me happy this week was being able to finish all of my work on time for the last cycle of tests and projects and finally claim some free time.

What’s your pick-of-the-week or tip-of-the-week?

I recently stumbled across this great blog post that gives a practical introduction to functional programming with examples written in python. Many of us, myself included, probably started programming with an imperative paradigm and don’t have much exposure to the functional side of things. For this reason, I think that it is important to at least understand the idea behind functional programming and this blog post gives several great, hands on examples of code that uses a functional approach.