CS371g Summer 2020: Barrett Schonefeld

Barrett J Schonefeld
2 min readJul 5, 2020

What did you do this past week?

This past week, I worked on the Integer project with Andrew. We got an early start and made some good progress before the exam. We used the project as a way to do more C++ programming and study for the exam. Early in the week, I also reworked the in-class HackerRank problems to prepare for the exam. Post-exam, we picked up work on the project again. We implemented all the operators with the simplest solution, and we are getting close to finishing the project.

What’s in your way?

We need to improve the runtime of our implementation. We are not yet passing the last HackerRank test. We think implementing Karatsuba multiplication will allow us to pass the last test. We may combine Karatsuba multiplication with caching, and we should certainly pass the last test with this implementation.

What will you do next week?

Next week I will work with Andrew to implement the Karatsuba optimization and submit the Integer project. Also, I am about to comment on the Vector code, and I will get an early start on the Vector project.

What was your experience of Test #1 and its two-stage nature?

Test #1 was good. It covered the main ideas we discussed in lectures. Working in a group on the second part was a good way for us to practice collaborating. Everyone in our group was involved and contributed to the problem in part two of the test, so it was a good experience.

How are you doing and holding up? What’s been most helpful for you in terms of support at this time?

I’m doing well. I’ve been staying active, which I’ve enjoyed.

What made you happy this week?

Staying active made me happy this week. It feels good to move around a bit and work up a sweat.

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

My tip-of-the-week is to implement Karatsuba multiplication to pass the last HackerRank test. To pass four of the five tests, implementing and using a cache for multiplication should be sufficient (it was sufficient for our implementation). I actually cannot yet confirm that this will be fast enough, but it seems like combining Karatsuba with caching should be sufficient to pass the last test.