CS371p Fall 2021: Week of Oct 4th- Oct 10th — William Crawford

William Crawford
3 min readOct 11, 2021


1 — What did you do this past week?

This week, I got project 2 completed on Monday. I spent quite a bit of time trying to figure out the CTD problem which tired me out of coding, so my partner and I took more time than we wanted to at finishing it.
The rest of the week, I spent most of my time working on a game engine project. My group created a character class that gives options for developers to setup movement, camera controls, and object interaction for the main player. We ended up finishing the project without properly fixing our physics collisions, but I didn’t have more time to work on it.

2 — What’s in your way?

I need to get a compiler project finished an turned in. Might be a little late on it, but it will be alright since I needed that time for Game Dev and there is a grace period. I have 2 new projects to start on: OOP Allocator and a continuation of the game engine tools. I also have a symbolic programming project that I probably should have already started.

3 — What will you do next week?
Next week, I will be working on part of my compiler parser on Monday. I will likely get started on OOP project #3 on Tuesday with a new partner. On Thursday or Friday I will also need to work on my symbolic programming assignment, and during the week, I will be working on networking for the game technology class.

4 — If you read it, what did you think of the Paper #7: Open-Closed Principle?
Like all OOP design principles, setting up things to follow open-closed is more of a learned practice than that of explicit rules that you can follow (because there will always be one edge case). It seems to follow the previous article (SRP) quite well since if you design things to only have one function, as long as you do it well, you shouldn’t need to change it, but closed pieces can feel open if you stick them into the larger puzzle.

5 — What was your experience of arguments, returns, and consts?

Considering that I didn’t do too good on the quizzes, I think I need more practice with them. The placement of the const with pointers really tricked me, but I think I understand that now. If you put const before the type of the pointer, it means that the pointer is pointing to a constant variant of the item, but otherwise the pointer can’t be changed.

6 — What made you happy this week?

Celebrated birthdays of some family. Lotta good food
I played some Europa Universalis this weekend to cool off. Managed to almost finish off one of the more difficult achievements. Will likely get it right after writing this post.

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

I recently learned about using reverse proxies. They can be used to map external web traffic onto whatever internal port and address you want with the benefit of allowing load balancing. I set one up on my web server to give an older/simpler application some security with https and changing its port.

a handsome face



William Crawford

Computer Science major at the University of Texas at Austin