CS371g Fall 2020 Final Entry: Siddhesh Krishnan
By: Siddhesh Krishnan
Tags: Computer Science, Object Oriented, College, Internships, Software Development

That’s me!

The following are long-term takeaways from this class:

test first, test during, test after, test, test, test

when designing algorithms , demand the weakest iterators (e.g. bidirectional vs. random access)

, demand the iterators (e.g. bidirectional vs. random access) when designing containers , provide the strongest iterators (e.g. random access vs bidirectional)

, provide the iterators (e.g. random access vs bidirectional) build adapters on top of containers , iterators , and functions

on top of , , and always look for reuse and symmetry in your code

and 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

How well do you think the course conveyed those takeaway?

I believe that this course did an amazing job in conveying these key takeaways! Coming into this course, I had no experience with C++ and the various nuances which C++ does carry with it. However, with this course, I was able learn more about containers and functions and also solidify my understanding of iterators and the different types of iterators. Based on this, I believe that this course has done an outstanding job in conveying those takeaways.

Were there any other particular takeaways for you?

Some other key takeaways which I obtained from this class include the purpose of Unit Tests and Acceptance Tests, the use of Continuous Integration and Version Control, and the concept of UML diagrams. I believe that these takeaways are as crucial as the ones mentioned above when it comes to good style and good programming.

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

I liked the two-stage quizzes and tests! It really gave me a good opportunity to first try to tackle the problem on my own and then work on it with a small group. It was always nice to already come in with an idea and explain it to my group and then get their perspective.

How did you feel about cold calling?

While cold-calling could be intimidating at times, I really did like the cold calling as it made me more accountable to keep up with class material and stay on task during class (especially now with the online format) so that I would be able to answer the questions if Professor Downing did call on me.

How did you feel about office hours?

While I never had the opportunity to attend office hours, I believe that they would be really useful in solidifying concepts which anyone is confused on. It would also come in handy for project help as well.

How did you feel about lab sessions?

Lab sessions were extremely helpful when it came to setting up the appropriate files for a project or just getting the foundations set for the projects such as having Docker, GitLab and the other tools necessary. With this, I believe that the lab sessions were really helpful in this class.

Give me your suggestions for improving the course.

Overall, I believe that Professor Downing did an outstanding job in instructing this course! I was able to gain a better understanding of various Object-Oriented Programming styles and learn more at C++. I really enjoyed the structure of this course and would not change the format of the course.