CS371p Fall 2020: Kush Jain
- What did you do this past week?
This past week, I worked with my partner on finishing Project 3. We were able to get all the HackerRank tests passing and then found some bugs while running other student’s acceptance tests. These were very helpful in pointing out issues with our code, and ultimately we were able to pass all the acceptance tests and finish documenting our code/writing our own unit tests. I also reviewed some of the basics of classes in C++ and consts, as I was not fully clear on these topics.
2. What’s in your way?
Currently, not too much is in my way. I plan to start on Project 4 during the middle of next week, and have had a chance to look over the project specification. I also want to continue to review the class materials to ensure that I am up to speed on what is being taught to us.
3. What will you do next week?
Next week, I plan to begin working on Project 4. I first plan to layout the design of my three classes: species, creature and darwin and ensure that the classes are able to function independently of each other. After I design this, I plan to start working on the coding of these classes, writing unit tests as I go to ensure that each class does what I expect it to do. Finally, I will try to submit this code to HackerRank to see if I am able to pass the HackerRank tests and fix any bugs that I find.
4. If you read it, what did you think of Ethical CS?
I thought that the slides were quite interesting, as I didn’t think of many of the issues that they pointed out such as algorithmic bias. I think it is important to be cognizant of these ethical issues, as especially in fields such as AI, they can be quite prevalent, with machine learning algorithms learning to pick up preexisting biases that are present in their training dataset (after all these algorithms are trying to best approximate the data that they are given).
5. What was your experience of lambdas, initializations, std::initializer_list, and std::vector? (this question will vary, week to week)
I think that many of these concepts would be very useful in programming, and I plan to use them extensively in my implementation of Project 4. I was able to pick up lambdas relatively quickly due to them existing in similar ways in Python. However, I had not previously seen the concept of an initializer list, so getting used the syntax here took some more time. I can also see how std::vector is much more powerful than primitive arrays with the ability to copy its data along with being easily extensible.
6. What made you happy this week?
I was happy this week when I went on a walk outside. Personally, walking in nature has been a really nice way to destress during this week of midterms and lengthy projects.
7. What’s your pick-of-the-week or tip-of-the-week?
My pick of the week would be Java Parser. I used this library extensively as a part of my research in extracting test methods from a large corpus. It has the ability to produce easy to understand ASTs of Java code, which can be nice when wanting to extract certain parts of code and understanding how it is structured by the parser.