Week of 11 Oct
This week in Software Engineering, we discussed the various ways to pass in arguments to functions in Python. The most interesting thing I learned was the various uses of * and ** to unpack iterables and dictionaries when calling functions and pack them when using them in a function. In addition, we learned about function decorators, which is a super cool functionality that allows you to “decorate” your function with additional checks, such as for pre- and post-conditions.
We also had our first exam this past Thursday. The exam itself was easier than I expected, with the questions similar to ones we did as group exercises in class. I did like that it was all based on coding, but I thought the questions only tested a small subset of what we learned in class. In retrospect, the questions did seem to have been designed in such a way that it would have been difficult if you were not familiar with most of the concepts we covered in class.
I’m excited to start the next project, which will be a website similar to IMDB. It does seem like it will be a decent amount of work, but it should be fun to work on. The first phase of the project looks like it will be creating the website along with a technical report on the RESTful API and data models.
For the software tip of the week, here is an article on a RESTful API design, which may be useful when we get to that part of the project.