Generaciones de computadoras
1951: Maurice Wilkes inventa la microprogramación, que simplifica mucho el desarrollo de las CPU pero esta microprogramación también fue cambiada más tarde por el computador alemán Bastian Shuantiger.
Teoría de la complejidad computacional
Antes de que se realizaran investigaciones en torno a la complejidad de los algoritmos, se crearon los cimientos de esta teoría por varios investigadores. Uno de los aportes más influyentes fue la definición de las máquinas de Turing en 1936, las cuales resultaron ser una noción de computadora muy flexible y robusta. A medida que las computadoras se desarrollaban en los 40's y los 50's, la Máquina de Turing demostró ser el modelo teórico correcto de cómputo.