[11/08]CS371p Fall 2020: Roger Zhong

Roger Zhong
3 min readNov 9, 2020

What did you do this past week?

This past week was the busiest I had this semester. My partner and I finished most of the Darwin project last weekend so we could focus on other things. I had 3 projects due last Thursday, including Darwin. I had an essay for my contemporary issues class where we analyzed technology was used in a Black Mirror episode. I also had the beta release of my iOS project due as well. Two of my teammates had an algorithms exam Wednesday, so I worked overtime that night to make sure we didn’t fall behind. Besides class projects, I also had research, group meetings, interviews, and a fundraising campaign to prepare for before this weekend.

What’s in your way?

Nothing too much is in my way. Next week is going to be much more relaxing than last week. Hopefully, I can recover from all that craziness.

What will you do next week?

I will stay on top of my assignments, hopefully get a head start on the next OOP project, and continue working on iOS. The final release of my iOS project will be due in 2 weeks, but presentation times can extend as far as December. We still have to implement lots of features, including searching, filtering, and a community system. Our UI currently has no material design components, so we will need to include those to make our app look nice.

If you read it, what did you think of The Dependency Inversion Principle?

I think it was an informative and comprehensive paper that summarizes the idea of OOP and abstraction layers very well. It emphasizes the top-down nature of software development, which means low-level modules should depend on higher level abstractions and not the other way around. It also explains in detail what polymorphism is and how it should be implemented in real-world projects.

What was your experience of continuing to implement std::vector, move semantics, and allocators again? (this question will vary, week to week)

Implementing std::vector was an insightful way to explore the design considerations the writers of the stdlib made under the hood. The concepts of move(taking an r-value ref) and allocators(user-defined constructor and memory considerations) were interesting things that I never learned before. The resize implementation is similar to other languages, but in C++, there is the worry that pointers will become invalid after resizing.

What made you happy this week?

Just getting through everything this past week made me happy in the end.

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

The more I work with Firebase, the more I discover how convenient of a service it is. While there are certainly more powerful options out there, Firebase is great for conceptualizing a backend and is complete with features like authentication, database management, media storage, and more. I can really see people using it in hackathons and personal projects to save time.

--

--

Roger Zhong
0 Followers

Computer Science Student at UT Austin.