CS371p Fall 2020: Barrett Schonefeld

Barrett J Schonefeld
3 min readOct 4, 2020

What did you do this past week?

Early last week, we finished the Voting project. The final things we had to do were resolve a minor bug in our code that was leading to test failures. The bug was not part of the core algorithm, so it took us a bit to recognize the mistake we made, but the solution was simple, and once we resolved the issue, our algorithm worked beautifully. We closed out our remaining issues on tidying up the code base, running the automatic code linters and formatters, finalizing the README, and opening a merge request on the public test repository with our acceptance tests.

What’s in your way?

Nothing is in the way right now. I’ve secured a teammate for the Allocator project, and we are going to start meeting this week to get started on the next project.

What will you do next week?

Next week, I will start on the Allocator project. I will also work through the in-class HackerRank exercises to prepare for the upcoming exam. I feel good about both items. The Allocator project covers concepts I am fairly familiar with because I have implemented heaps in my courses in computer architecture and operating systems. I think this will be a fun project and a good refresher on those concepts. I feel confident about the exam. I have taken other courses with Professor Downing, so I feel good about the format of the exams.

What was your experience of arrays, equal(), and iterators?

I found the lecture on arrays interesting because the different behavior of array initialization in C++ is quite subtle. It’s not easy to reason about the behavior of array initialization because you just have to know the C++ conventions and the correct syntax to use. I thought the equal() lecture was a good way to introduce the idea of iterators and how iterators are used to make functions generic and reusable in C++. I imagine we will cover iterator strength in more depth in subsequent lectures.

What made you happy this week?

What made me happy this week was finishing the Voting project and finishing work for other classes. I visited family a couple of weeks ago, and since I was focused on spending time with them, I am in a position where I need to catch up on work for classes. It was nice to get some of this done in the last week, and I will push to get ahead of schedule in my classes this week.

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

My pick-of-the-week is the content created by veteran programmer, Uncle Bob Martin. I am providing a link to his website, http://cleancoder.com, but I was exposed to the content through lectures he posted to YouTube. He gives great talks on professionalism, ethics, and responsibility in software engineering. I found them helpful and thought-provoking. He emphasizes the importance of software-based systems in society’s future and hence, the importance of software engineers taking responsibility for being ethical and thorough in the design of those software systems.

--

--