Let’s do some coursework

23 January 2023

I finally stop procrastinating

06:26

So, it’s the 23rd of January the time is 06:26 and I have to do my programming coursework that I’ve been postponing for months. I’m not entirely sure when it’s due in but I have until the end of this week to finish it.

07:01

So I’ve now spent about 35 minutes playing chess

07:30

I have now spent 30 minutes reading and answering computability theory questions on Stack Exchange. It wasn’t difficult but it was a fun exercise to show that a Turing machine with access to an oracle that determines whether another Turing machine accepts a specified string can decide the halting problem.

07:35

I’m ready to be productive. My first step here is to understand what is being asked for. Previously, I constructed a a really cool project idea where I could create an interface that allowed you to enter statements in Presburger arithmetic and returned a proof or disproof of its correctness. The interesting parts come with the proof procedure and creating the interface for writing formal sentences of Presburger arithmetic. This project idea, while fun, probably did not directly address the coursework requirements which I can meet by building something simpler.

07:46

I’ve read through the specification and the requirements are really basic. I think I’m going to build a TODO app. I’ve been meaning to write one for a while, the only thing I’m not that happy about is the fact that I have to write this in Javascript. I wanted to write my TODO app in Elm. Realistically, I still can, I probably will in the future and I’m moaning over nothing.

07:50 - The beginning

I’m going to start by setting up eslint as this is a requirement for the project.

07:53

I’ve now created my project. I’ve selected the Google Javascript style for my project and I’ve setup a pretest script that runs eslint. I think I’ll continue by setting up jest.

08:08

Everything works as expected, I took the liberty in exploring eslint. It’s quite permissive compared to the black formatter.

08:13

I’ve created the git repository and made the first commit. I don’t think this is required in the project but not using git feels un-natural. This project will not be on GitHub, at least for a while, as making the source code accessible via GitHub would violate the university policy on academic collusion.

08:16

It would be nice to begin with the interface, but I’m going to begin by constructing the backend. I’m going to make the infrastructure stateless in a way.

10:07

Today has been productive, I attended my 9:00am lecture and the basic structure of the project is now complete. I’m also going to use the prettier formatter because it’s more strict than eslint.

14:34

The backend of the web application works but I’ve now become bored. The current task is to write the frontend interface. In the next coursework I will be able to pick an interesting project of my own choice.

The end

I finished the coursework, it looks like this