CS 373 Spring 2021 Week of Mar 29–Apr 4:

William Crawford
3 min readApr 5, 2021


1 ) What did you do this past week?

Mostly work for other classes.

After turning in the latest phase of our IDB project, my team was a little burnt out, so there was little/no communication between us until Thursday. We met on Saturday to discuss our responsibilities for the next phase and to get the user stories done.

We seem to be entrenched in our previous responsibilities. I will be working primarily on the frontend again. I am enjoying learning about tools for the frontend since I am more comfortable with the backend stuff, but I wonder if anyone else on the team needs to work on their frontend knowledge

2 ) What’s in your way?

I have two exams next week, one of them is Algo. I am not quite sure how much I will need to study for them. I know that my Algorithms knowledge is a little lackluster as of the past 2 weeks. I have been having difficulty paying attention in class.

For the IDB project, I am waiting on the backend to work up something to

3 ) What will you do next week?

I have taken up the responsibility of making our homepage and about page prettier while I wait for the backend to add some search capabilities and to fix the data. I also have been putting of adding some minor quality of life changes such as animations to our site. Also… There are several bugs with the current implementation that I should take a look at.

Once they get search up, I hope to peer program the search functionality with my group-mate Brian. We have had some fun last week with getting pagination up.

4) If you read it, what did you think of the Dependency Inversion Principle?

Another good article to teach/remind oneself about good program design. It definitely is a good tool for writing reusable and serviceable.

I think that not everything should require adding abstraction between components. There comes a point where the additional code required to create a division/abstraction of increasingly smaller layers becomes a burden on the programmer with less benefit.

5 ) What was your experience of +, *, ** and decorators?

My whole breakout room experiencing confusion with decorators for the second time is pretty much how it went for that. * and ** are pretty cool for specifying an unknown number of args if you think of them as argc and argv. I didn’t really realize that earlier. Just saying list and dictionary of args didn’t ring the bell earlier. Remember to be careful with the + operator. Know that with immutables, it creates a new object, but otherwise it might append to lists.

6 ) What made you happy this week?

Another week closer towards the end of the semester.

I finally got myself registered for a vaccine appointment :).

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

NFTs are the latest software trend, so I feel like it would be a good idea to share an article about it. Like with every new technology, we should be careful about its aplications.




William Crawford

Computer Science major at the University of Texas at Austin