CS 371p Fall 2020: Amogh Dambal

Hi! Welcome to my blog for the Fall 2020 semester of CS371p (Object Oriented Programming) at The University of Texas at Austin. I’ll be writing weekly posts based on prompts given by Dr. Glenn Downing, who’s teaching this course. Stay tuned!

CS 371p Fall 2020 — Final Entry

  • 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

How well do you think the course conveyed those (above) takeaways?

Were there any other particular takeaways for you?

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

How did you feel about cold calling?

How did you feel about office hours?

How did you feel about lab sessions?

Give me your suggestions for improving the course.

Blog Post 13 — November 22, 2020

What did you do this past week?

What’s in your way?

What will you do next week?

If you read it, what did you think of What Happens to Us Does Not Happen to Most of You?

What was your experience of inheritance? (this question will vary, week to week)

What made you happy this week?

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

Blog Post 12 — November 15, 2020

What did you do this past week?

What’s in your way?

What will you do next week?

If you read it, what did you think of The New Methodology?

What was your experience of containers, container adapters, and Life? (this question will vary, week to week)

What made you happy this week?

Joking about race conditions is definitely a coping mechanism for how many I’ve had to deal with in OS
Who knew software development could be so simple?

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

Blog Post 11 — November 8, 2020

What did you do this past week?

What’s in your way?

What will you do next week?

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

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

What made you happy this week?

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

Programming is really an artform.

I also saw this on Reddit — it’s a C++ class definition that also doubles as its UML diagram, which is absolutely amazing.

Blog Post 9 — October 25, 2020

What did you do this past week?

What’s in your way?

What will you do next week?

If you read it, what did you think of Ethical CS?

What was your experience of lambdas, initializations, std::initializer_list, and std::vector? (this question will vary, week to week)

What made you happy this week?

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

It’s almost like a work of art. Almost.

and this method of compiler intimidation:

I think the compiler is less threatened by my code and more afraid of the work it has to do to look at my code.

Also, The Queen’s Gambit is a really good show on Netflix!

Blog Post 8 — October 18, 2020

What did you do this past week?

What’s in your way?

What will you do next week?

If you read it, what did you think of The Liskov Substitution Principle?

What was your experience of Test #1? (this question will vary, week to week)

What made you happy this week?

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

Blog Post 7 — October 11, 2020

What did you do this past week?

What’s in your way?

What will you do next week?

If you read it, what did you think of The Open-Closed Principle?

What was your experience of iterator concepts, std::array, and std::vector? (this question will vary, week to week)

What made you happy this week?

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

Blog Post 6 — October 4, 2020

What did you do this past week?

What’s in your way?

What will you do next week?

If you read it, what did you think of Why Is Silicon Valley So Awful to Women?

What was your experience of arrays, equal(), and iterators? (this question will vary, week to week)

What made you happy this week?

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

Blog Post 5 — September 27, 2020

What did you do this past week?

What’s in your way?

What will you do next week?

What was your experience of values, addresses, references and consts? (this question will vary, week to week)

What made you happy this week?

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

Blog Post 4 — September 20, 2020

What did you do this past week?

What’s in your way?

What will you do next week?

What was your experience of exceptions, voting, and strcmp? (this question will vary, week to week)

What made you happy this week?

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

Blog Post 3 — September 13, 2020

What did you do this past week?

What’s in your way?

What will you do next week?

What was your experience of Collatz, the starter code, the makefile, its optimizations, and exceptions? (this question will vary, week to week)

What made you happy this week?

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

Blog Post 2 — September 6, 2020

What did you do this past week?

What’s in your way?

What will you do next week?

What was your experience of assertions, Google Test, and gcov? (this question will vary, week to week)

How are you doing and holding up? What’s been most helpful for you in terms of support at this time?

What made you happy this week?

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

Blog Post 1 — August 30, 2020

I mostly grew up in Austin, TX, where I moved when I was about 8 years old. I then attended Westwood High School in Austin for my first 2 high school years, and then attended TAMS (Texas Academy of Math and Science) for my junior and senior years. Though I dabbled in several extracurriculars both at Westwood and at TAMS, I found that I enjoyed Speech and Debate the best because of the people I met while competing and the various ways the activity shaped my mindset throughout high school.

I came to UT because it was a big school, and so I believed it was a place filled with such a rich variety of people that would always keep me on my toes, never lulled to complacency or boredom. I decided to major in computer science because I’ve liked solving problems for as long as I can remember, and the fulfillment and satisfaction I get from fixing even the smallest bug is what hooked me on to the field. I took this class not only because I had heard rave reviews about the instructors and the content, but also because I wanted to dive into OOP at a level beyond what I had been exposed to in every introductory Java/C++ course I had previously taken. I’ve never been able to quantify expectations very well, but I think I want to come out of this course being able to better understand how to solve certain types of problems in software development and why those methods work the way they do. I know most of the basics of C++ and have taken a couple of courses where C++ was the primary language, but I am very excited to dive into other aspects of the language with which I am unfamiliar and learn how to apply and use more modern C++.

Before taking this course, I had heard that Dr. Downing used a method of lecturing that involves cold-calling students in order to then have a guided discussion with them about certain pieces of code. Though I was initially unsure about how this would work in practice, I now find it incredibly unique and effective in engaging my attention with the course topics, especially because the class environment is very comfortable and I don’t feel the pressure to be correct all the time.

My pick-of-the-week is this post I found on Reddit, where someone has done an incredibly detailed analysis of the simplest possible C++ program. I thought it was very interesting to skim the article to see how much work happens with compilation and linking to get from a source .cpp file to an executable.