CS371P Fall 2020 Final Entry: Mason Eastman

Mason Eastman
3 min readDec 5, 2020

I hope that 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)
  • 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 takeaways?

I think this course conveyed those takeaways extremely well. I can confidently say I came out of this course a better programmer and a more efficient one. Dr. Downing’s emphasis on always testing and refactoring code really helped me to streamline projects and debugging, and the detailed discussions on different Object Oriented paradigms and principles made me better equipped to tackle problems in a more wide variety of ways.

Were there any other particular takeaways for you?

Professor Downing’s emphasis and focus on the workflow of the projects really stuck with me. My other CS classes haven’t had anything like that, but it was a welcome surprise to see how by doing the projects in a methodical, specific way, it actually improved my efficiency and problem solving. I’ll definitely be looking to incorporate something similar into my own personal projects, and eventually in a career.

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

I thought they were nice — particularly the tests. On the quizzes it was good to have someone to affirm my thinking in getting a correct answer, and having people to talk to when I was confused about missing a question. It was also nice to just have a few minutes every lecture to talk to my friends. I thought it worked well for the tests — working in groups we often arrived at a better solution faster by working together vs. working apart; and the grading of the individual vs. group portion is very fair so that you still have to know and produce the solutions individually, but you have a little padding from your group to help out if you couldn’t quite get it.

How did you feel about cold calling?

I didn’t mind it at all. It kept me on my toes, and Professor Downing is very understanding if someone gets called on and isn’t sure of the answer. I see it as a way for him to interact with everyone in the class in a low-stakes way, and also to see where the class might be understanding-wise with the current material.

How did you feel about office hours?

I personally did not go to office hours, but I know the TAs and Professor Downing are very helpful in explaining/walking through things should there be questions.

How did you feel about lab sessions?

I personally did not go to any lab sessions, but I heard they were just as helpful and informative as office hours.

Give me your suggestions for improving the course.

Off the top of my head I don’t have anything to suggest as an improvement. It was a great and very informative course, and Professor Downing did a fantastic job converting it to an online format!

--

--