What did you do this past week?
I actually started working on the Collatz project and ended up making significant progress! I’m passing all of the HackerRank tests, so now I just have to write some acceptance tests and get the documentation up to par. It was fun coming up with ways to implement the optimizations we discussed in class. Since I made sure to commit after each change, it was very easy to see exactly how each affected the runtime.
What’s in your way?
I’m mainly just trying to properly budget my time so I can finish this project soon, along with working on homework from my other classes. Originally I wasn’t sure whether the optimizations I added would be enough to pass the tests but they ended up working fine.
What will you do next week?
This week I’ll finish up the project and get it submitted, hopefully a day or so early :) I still have to learn how to use black for formatting, but I’ve fixed all the pylint warnings and errors. Also I haven’t run checktestdata, pydoc, or git log yet, so I’ll have to figure those out but it shouldn’t be too tough hopefully.
What was your experience of learning the basics of Python?
I’ve known the basics of Python for a couple years but this week I deinitely learned some new stuff. Such as the fact that in-place operations (e.g. +=) actually return the value as well as modifying it. Also it was interesting to learn how mutable and immutable collections differ, since it’s easy to see why they behave the way that they do. Also I didn’t know that floor division returned the same type as it’s input, I had always just assumed that it returned an integer.
What’s your pick-of-the-week or tip-of-the-week?
I’m sure most people in this department know about it by now, but I’ve recently been using LaTeX a lot and it’s an enourmous help. Specifically, LyX is my pick-of-the-week, which I’ve been using for easy typesetting of math and algo homework. I use LyX since it has nice keyboard shortcuts for LaTeX macros and allows me to not have to visually parse all of the text myself. It makes it easy to see how different pieces of text will look while still allowing you to use the full power of LaTeX.