This is the second in a small series of articles using roundabouts to explore some ideas in computer science: Mini roundabouts and deadlockMagic roundabouts and starvation In this article I’ll go into starvation, using the wonder / horror that is the Magic Roundabout (like Duff’s device for road junctions). Unfortunately, this won't involve anything from … Continue reading Magic roundabouts and starvation
Category: Computer theory
Mini roundabouts and deadlock
This is the first in a small series of articles using roundabouts to explore some ideas in computer science: Mini roundabouts and deadlockMagic roundabouts and starvation In this article I’ll go into dependency, which can lead to deadlock. For this I’ll be using the mini roundabout as an illustration. In the next article I’ll use … Continue reading Mini roundabouts and deadlock
Recursion and iteration – loop unrolling
This article is part of a series on recursion and iteration: Introduction to iterationIntroduction to recursionMutual recursion and tail recursionBlurring the linesLoop unrolling In this article I will talk about loop unrolling, and the wonder / horror that is Duff's device. Image credit Loop unrolling Loop unrolling is something to do only when you're very … Continue reading Recursion and iteration – loop unrolling
Recursion and iteration – blurring the lines
This article is part of a series on recursion and iteration Introduction to iterationIntroduction to recursionMutual recursion and tail recursionBlurring the linesLoop unrolling In this article I will look at how the lines between iteration and recursion can get a bit blurry. This breaks down into three areas: Iteration = fast, recursion = slow isn't … Continue reading Recursion and iteration – blurring the lines
Recursion and iteration – mutual recursion and tail recursion
This is part of a series of articles about iteration and recursion. Introduction to iterationIntroduction to recursionMutual recursion and tail recursionBlurring the linesLoop unrolling I have covered the basics of recursion in a previous article. In this article I will go onto two more advanced, rare and obscure versions of recursion - mutual recursion and … Continue reading Recursion and iteration – mutual recursion and tail recursion
Recursion and iteration – an introduction to recursion
This is the second article in a series about recursion and iteration. Introduction to iterationIntroduction to recursionMutual recursion and tail recursionBlurring the linesLoop unrolling I will assume that you have already read the article on iteration, and this article will focus on recursion. Like iteration, recursion is a way of repeatedly doing the same or … Continue reading Recursion and iteration – an introduction to recursion
Recursion and iteration – an introduction to iteration
This is the first of a series of articles about recursion and iteration Introduction to iterationIntroduction to recursionMutual recursion and tail recursionBlurring the linesLoop unrolling Recursion and iteration are both techniques for doing some work (or similar work) repeatedly, so that you can solve a bigger problem. This could be things like summing all the … Continue reading Recursion and iteration – an introduction to iteration
A beginner’s guide to practical quantum computing
I recently started dabbling with quantum computing, and this post is kind of the introduction I wish I’d found before I started. It’s not intended to be anything other than a very small tip of a very big iceberg. Hopefully, this will give you enough to help you know if quantum computing is worth your … Continue reading A beginner’s guide to practical quantum computing
P = NP?
This article is my attempt to put my money where my mouth is. A friend mentioned the BBC Radio 4 series In Our Time on Facebook, and in the conversation that followed I said that the only time In Our Time discussed something close to my home turf I got grumpy about how poorly I … Continue reading P = NP?
Computer science while washing the dishes 2: The Stack
As well as stacks as mentioned in the title, this also touches on sorting and fragmentation. Yes, I’m one of those people who think that their way of loading the dishwasher is the best way. This is part 2 of a probably 2-part series of articles on how washing up shines a light on computer … Continue reading Computer science while washing the dishes 2: The Stack