  Computer Science education has been evolving over the years to reflect
applied realities. Until about a decade ago, theory of computation, algorithm
design and system software dominated the curricula. Most courses were
considered core and were hence mandatory; the programme structure did not allow
much of a choice or variety. This column analyses why this changed Circa 2010
when elective subjects across scores of topics become part of mainstream
education to reflect the on-going lateral acceleration of Computer Science.
Fundamental discoveries in artificial intelligence, machine learning,
virtualization and cloud computing are several decades old. Many core theories
in data science are centuries old. Yet their leverage exploded only after Circa
2010, when the stage got set for people-centric problem solving in massive
scale. This was due in part to the rush of innovative real-world applications
that reached the common man through the ubiquitous smart phone. AI/ML modules
arrived in popular programming languages; they could be used to build and train
models on powerful - yet affordable - compute on public clouds reachable
through high-speed Internet connectivity. Academia responded by adapting
Computer Science curricula to align it with the changing technology landscape.
The goal of this experiential piece is to trigger a lively discussion on the
past and future of Computer Science education.
