CS371p Fall 2021: Week of Nov 15th- Nov 21st — William Crawford

William Crawford
3 min readNov 22, 2021


1 — What did you do this past week?

On Monday, I worked with ryan to get the Darwin project finished. We got it done early considering that the deadline was extended and we only had to write tests for it. I worked on setting up the gitlab repo for the game tech project afterwards.
On Tuesday, I worked on the Game project a little, but mostly took the day off.
On Wednesday, Thursday, and Friday, I exclusively worked on finishing up the Pascal parser assignment for compilers which I found somewhat more difficult than I expected. I also was able to get my Symbolic Programming assignment about expert systems done on Friday. We were expected to extend a snake classifying program.
On Saturday, I worked on the game a little, and on Sunday I read the paper and am writing this blog.

2 — What’s in your way?

I need to get the game project into an alpha stage. I am not happy about the progress that my team and I made this week. We may not have a game ready to go for the deadline, but its alright considering that the rest of my team is also busy with assignments.

Next week, I will need to get my final projects for Compilers and Symbolic Programming done as well considering that everything is due on Dec 6th, and the game is going to take a lot of time while the last OOP project doesn’t get released for another week. The compilers project is about generating code from the abstract syntax tree that my parser created. The symbolic programming project is about writing a grammar for natural language processing and connecting it to either a database or a physics processor.

3 — What will you do next week?

Next week, I will spend all of Monday working on the game tech project where we need to get some sort of procedural generation working. I will likely spend all of Tuesday on it as well. On Wednesday, I will be traveling back home for Thanksgiving. Thursday and Friday might just go to the other projects, and maybe I’ll work on something during the weekend depending on what is done.

4 — If you read it, what did you think of the Paper #13: Why Extends Is Evil?

Extends is … evil. Seems like a play on Dijkstra’s goto considered harmful. It makes a lot of sense to rethink the extends inheritance that everyone thinks about first. Extends can lead to a lot of technical debt while we can usually get what we want out of just implementing an interface and using the implements keyword.

5 — What was your experience of vector and allocator?

My teams had no problem tearing apart the my_vector assignments this week. However, we did miss the change to the default constructor when adding an allocator to my_vector. I like the idea of using template arguments for instance variables. I also learned about the weird colon initializer list constructor thing which I think is also poor language design.

6 — What made you happy this week?

I got to setup Thanksgiving plans and talked quite a bit with my mother. I also enjoyed taking a rest day on Tuesday.

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

Hacknet is a cool little game on Steam that gives a little taste of some hacking tools, terms, and culture. Even though it gamify’s hacking, I think that there is still plenty in it to teach us CS majors something.

a handsome face



William Crawford

Computer Science major at the University of Texas at Austin