CS371p Spring 2021 Week 11: Yichen Zhang

Yichen Zhang
2 min readApr 11, 2021

What did you do this past week?

My partner and I worked on Darwin and managed to pass all HackerRank tests on Monday. I find it challenging to understand move constructors and the use of allocators in a vector so I spent some time reading the documentations and playing around with them. Later during the week, I focused on Data Mining and Autonomous Driving. It took us more than ten hours to tune the parameters for the car and it still couldn't localize well in the map.

What’s in your way?

Autonomous Driving has taken up too much time and I wish we could figure it out sooner. Besides that, deciding which graduate school to go to is hard. I need to get more information and maybe come up with a scoring mechanism that could help me decide.

What will you do next week?

I have a Data Mining exam next Tuesday and I will probably be busy with a project also related to Data Mining. If the next project for this class is released, I will get started on it. I do wish we have more projects because I find previous projects really interesting.

If you read it, what did you think of the Why getter and setter methods are evil?

Having getters and setters in an OO design will mess up the calling function when a change is made in the class. We do not want to expose implementation details of an Object instead we could expose an interface. In Darwin, we tried to avoid getters and setters as much as we can, but we ended up having one getter in Creature that returns the direction the creature is facing.

What was your experience of vector, move constructor, move assignment, and allocator? (this question will vary, week to week)

Vector is the most useful data structure in all projects and understanding how vector is designed and the interface it provides is really important. move constructor and move assignment are showing us that C++ wants to avoid extra copies and gives us the ability to make our code more optimized. Allocator is another reason why the vector is so powerful.

What made you happy this week?

I received an offer from Georgia Tech. I was so happy but at the same time, it’s making the decision even harder.

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

Deep learning is one category of Machine Learning techniques. It is based on artificial neural networks. The more layers the model has, the deeper is the network is. It’s been applied to many AI fields, such as Computer Vision and NLP.

--

--