In India, jugaad is a word of admiration. It means clever improvisation: getting things done despite constraints, bending rules just enough to make something work. It reflects ingenuity, resourcefulness, and hustle, and often, it is what keeps our world turning.
But in computer science, jugaad can be a trap.
Improvisation is essential to exploration, but dangerous as a design philosophy. When the spirit of jugaad governs how we build critical systems, it replaces understanding with expedience. The coder who can “make it work” for the demo, debug by trial and error, or code using AI may appear practical, but that is not science. It is not even engineering. It is tinkering—often ingenious, sometimes reckless, and rarely reproducible.
Programming vs. Computer Science
In computer science, jugaad often takes the form of coding. Coding, or programming, is a craft: the act of instructing machines what to do through a programming language. A craft, however skilful, is not a science. Science begins when we ask: Why does something work? Will it always work? What principles govern its behaviour? And how can these be lifted from the particular to the universal?
Science seeks what endures beneath surface variation: the invariant.
To do computer science properly is to pursue the same ideal. We seek not the ad hoc but the enduring. We study the principles that make computation possible, reliable, comprehensible, and efficient. This distinction matters because improvised systems often fail when reliability matters most.
The Cost of Improvisation
Improvised systems often fail when reliability matters most. Between 2018 and 2022, errors made by Google Translate resulted in 80 deaths in the UK. In 2020, nearly sixteen thousand COVID-19 cases went unrecorded in the UK because an Excel spreadsheet hit its row limit. In 2022, ISRO’s Small Satellite Launch Vehicle carrying AzaadiSAT failed due to a software error. There were 13 major internet outages in 2025, including Cloudflare’s most recent outage last week. Each of these disasters shared a pattern: code that worked in testing failed in the real world.
What we need is not only code that runs when tested, but systems we can reason about, verify, and trust—systems whose correctness can be proved, whose limits are known, and whose failure modes are anticipated. That is what makes computer science a science: moving from the expedient to the trustworthy, from implementation to verification.
Who Builds a Skyscraper Without a Blueprint?
A principled approach to computer science must start with principled education. NCERT has modernised its curriculum, adding modules on societal impacts and security aspects. Yet it overemphasises programming and data structures while neglecting the intellectual core of the field: conceptual problem-solving, abstraction, formal reasoning, and the limits of computation. When the first introduction omits the essence, students rarely question their methods and assumptions.
This imbalance persists in undergraduate education. Most Indian and international programmes treat theory as a prerequisite hurdle rather than the foundation of the discipline. Courses in logic, computability, and formal methods are often optional or compressed, while curricula expand to cover new frameworks, languages, and tools. Students graduate fluent in syntax but uncertain about semantics.
A modern CS curriculum must reverse this imbalance. It should focus on computational thinking and concepts like invariants, logic, type theory, complexity, and impossibility results. These should be taught alongside ethics, system design, and real-world context, so that students see the connection between rigour and responsibility.
The LLM in the Room
Our age of artificial intelligence has taken these questions to a new scale. Tools like ChatGPT, Copilot, and Cursor make programming itself effortless. Mastering syntax is no longer the mark of expertise; programming as a syntactic activity is obsolete. What matters is the ability to think and reason. Even if part of that reasoning is delegated to machines, we must grasp the logic we are outsourcing; otherwise, we become operators in an opaque system we no longer comprehend or control.
Beyond Jugaad
Jugaad has long fuelled invention, but it is a fragile foundation for the technologies that now shape our lives. The future of computer science will not be defined by those who construct ever larger systems, but by those who understand what these systems mean, why they work, and when they should not be used.
Lasting progress will come from uniting the rigour of mathematics, the insight of philosophy, and the imagination of engineering. The true computer scientist must reason deeply, question carefully, and remain aware of the human stakes behind algorithms. This interdisciplinary and principled approach grounds the field in understanding rather than improvisation, replacing expedience with clarity and intuition with proof.
Every system encodes a set of technical, ethical, and human choices. To pursue those choices with care and precision is the essence of the discipline.
We must teach computer science as a science.
(Aalok Thakkar is an Assistant Professor of Computer Science at Ashoka University.)
Views are personal, and do not represent the stance of this publication.
Discover the latest Business News, Sensex, and Nifty updates. Obtain Personal Finance insights, tax queries, and expert opinions on Moneycontrol or download the Moneycontrol App to stay updated!