CS371p Spring 2022: Week 11
What did you do this past week?
This past week, I worked for a few hours on the Darwin project and made some decent progress. I also worked on a Mininet lab in Networks and finished up the clustering assignment in Data mining. I also worked on writing a consent form and IRB proposal form for my language study.
What’s in your way?
I have several exams this week so I will need to study for them as well as work on assignments in my other class. Allergies are hitting me hard right now, so it’s been tough, but hopefully this spring season doesn’t last very long.
What will you do next week?
I will try to work on finishing up the Darwin assignment before the deadline this week. I will also study for my Data Mining and Networks exams. I have assignments to do in my Linguistics classes as well. Also, I will work on the Mininet lab in Networks. The course schedule has come out, so I will also probably plan for next semester.
What did you think of Paper 11. More getters and setters?
I think it did a good job expanding on the previous paper on the shortcomings of the get/set pattern. It introduced the Builder pattern, and it also discussed “delegation”, i.e., instead of asking a class for data, ask the class with the data to do what you want. This is especially applicable for the Darwin assignment, where we need to minimize getters and setters.
What was your experience of std::queue, std::priority_queue, std::set, and friends?
I enjoyed learning about the various container adapters and how they were implemented, and the various default backing containers they used (the queue can’t use a vector as it does not have push_front). It was a nice refresher of CS314 content with respect to heaps and hash tables. It is interesting that the default set is similar to the TreeSet (i.e., sorted keys) in Java. Also the friend keyword was useful to learn about for overloading symmetric operators.
What made you happy this week?
I started going to the gym consistently for a month or so, and I’ve started to see a little bit of progress strength wise, so that was really exciting to see. I will keep at it for the long-term and hopefully see more improvement.
What’s your pick-of-the-week or tip-of-the-week?
Some common keyboard shortcuts in VS Code (and many other other editors) that are super useful are highlighting a block and pressing Ctrl + /, which will comment out the entire block, and pressing Ctrl + [ or Ctrl + ], which will indent or unindent an entire block (super useful in python).