Mobile phones, ATMs, modern cars, televisions, e-readers: none of them would work without software. The heart of software is formed by algorithms: step-by-step procedures to perform given tasks.
Back in 2015, I joined the Movember health movement, a movement that you probably have heard of having something related to men growing a moustache. As a woman, you might imagine, I did not join for the moustache thing, but rather for the cause behind the moustache symbol, that is, raising awareness of prostate and testicular cancer.
Suppose you have a delivery service. You have one truck and have to deliver a large number of parcels to different cities in the country every day. Then you run into the following problem: in which order should you visit the cities?
A car, a home, and a wristwatch, all of them seem to be “smart” today. This intelligence runs on computing, which lately made the headlines for being scarce to obtain.
You have a job interview in 20 minutes and you are in a hurry to arrive at your application in time. To make matters even more stressful, there are many routes to your destination, but you have no idea which one to select. Luckily, you have access to a navigation system that can help you in your route selection process.
Alfred Aho and Jeffrey Ullman received the 2020 A.M Turing Award for their contributions to computer science. Let’s explore how their contributions have shaped the principles, techniques and tools for writing compilers.