Blog posts


Launching into Computer Science- Unit 12

3 minute read


Unit 12

Despite the challenges, unit 12 was my favorite of all. The end-of-module assignment was an introduction to the world of academic writing and helped me to learn a new way of thinking. Having never done it before, there was a period of adjustment. I started the assignment very early, but made the mistake of writing first, before fully exploring the theme I selected and the related niches. I found that academic research is extremely detailed in nature, and not spending enough time learning the various niches and terminologies, makes it harder to write a paper. I initially found papers relevant to my topic and used them as the basis of my essay, however, after I continued to read and study all the related academic literature, I realized that I would have to start my paper again from scratch, because the inital frameworks were not fully appropriate for the case study I selected; they were too vague and did not make it possible to clearly identify areas for improvement. In light of this, I decided to change my strategy and focused on reading the content of entire papers with the aim of building a “mental model” of the topic, and connecting niche subtopics to that main topic. This helped me to determine what terminology to use when looking for papers, and also helped a lot in making my logic clear and easy to understand, regardless of whether the reader has experience in the area of research or not.

Launching into Computer Science- Unit 4

1 minute read


Unit 4

The aim of this task was to discover the process of loading a webpage. Based on experience with bad internet connections, I’ve always thought the process was loading HTML first, then CSS, then Javascript. If a connection I’ve used was slow or unstable, what would usually happen is that the HTML would load, but be completely unstyled. Sometimes it would only be partially styled. After that, CSS would load, and then Javascript- I would be able to tell if Javascript loaded because webpage elements (e.g. text in expandable sections) would start being hidden. This is somewhat correct; according to Kantor (2021), there are two phases to loading a webpage. The first is where the HTML is fully parsed and loaded, but resources not present in the HTML are yet to be loaded. This would include things such as CSS/JS files and images. Finally, in the second phase, these files are loaded and rendered. Typically, the browser will make requests to retreive and render this data. This can be shown by using a Chromium-based browser and pressing CTRL+SHIFT+I, then opening the Network tab and loading a webpage. All the data required to render a webpage fully is shown on the right. A screenshot is shown below:

Launching into Computer Science- Units 5 & 6

6 minute read


Units 5 & 6

I originally began working on the units’ content separately, but as I continued, I realized my approach to the content created a lot of overlap between the units’ activities; for this reason, I decided to merge their content.

Launching into Computer Science- Units 10 & 11

2 minute read


Units 10 & 11

SQL is quite nice to work with as a language because of how close it is to natural English. This thought prompted me to read more about the theory behind it to better understand why it’s so effective, and this led me to discover the concept of declarative programming. Declarative programming is a form of programming that is built around the concept of a developer merely expressing their intentions code, while any complex logic involved in achieving that intention is left to the computer. A good example of this is the use of the WHERE clause in SQL. Rather than write loops with conditionals which would allow you to select specific entries, you would simply write WHERE, and SQL would decide how to approach this request by creating a query plan (a query plan can be thought of as the lower level instructions generated to execute a given query).


Explaining Backpropagation

6 minute read


This blog post aims to clear up backpropagation in neural networks and give a more intuitive understanding of how it works. Before starting, recall that the goal of a neural network is to learn the weights $W$ and biases $b$ that minimize some loss function $L$.