Source: https://www.cs.umd.edu/class/spring2020/cmsc330/lectures/26-history.pdf