[Final Entry] CS371p Fall 2020: Roger Zhong

Roger Zhong
2 min readDec 5, 2020

How well do you think the course conveyed those takeaways?

  • test first, test during, test after, test, test, test
  • when designing algorithms, demand the weakest iterators (e.g. bidirectional vs. random access)
  • when designing containers, provide the strongest iterators (e.g. random access vs bidirectional)
  • build adapters on top of containers, iterators, and functions
  • 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
  • refactor, refactor, refactor
  • make your code beautiful

The course conveyed all of these ideas really well. From the papers that we read, to the projects that we did, I learned sound OOP design principles and coding conventions that will help my future code become more reusable and maintainable. The lectures were a very comprehensive tour of C++, and they helped me understand C++ iterators, containers, functions, and adapters in detail.

Were there any other particular takeaways for you?

There were also some takeaways about programming for memory and performance. There are examples in our projects, lectures, and C++ stdlib where decisions had to be made to get the best performance out of the code, sometimes at a cost to user-friendliness.

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

The tests had some challenging questions, and overall I liked the format. It was neat to see how some of my classmates approached the problems. Between the format of the first and second exams, I liked the second better. There was less transitioning between one phase of the exam to the other.

How did you feel about cold calling?

Cold calling was a nice way for Professor Downing to lecture with the class, but there was a long time between each individual cold call. This definitely has to do with the larger online class sizes, though.

How did you feel about office hours?

I did not get to go to office hours this semester, but based on my experience in SWE and sentiment from classmates, Professor Downing gives you his full attention to help you on your project.

How did you feel about lab sessions?

I also did not attend lab sessions this semester.

Give me your suggestions for improving the course

I wouldn’t change much about the course. Maybe there can be one or two class days taking a break from C++ code and having class discussions over concepts from articles, theories, or tools that Professor Downing wants to talk about.

--

--

Roger Zhong
0 Followers

Computer Science Student at UT Austin.