In-depth and nuanced coverage of leading trends in AI One
Latest updates in the world of AI
Information repositories on AI for your reference
A collection of the most relevant and critical research in AI today
Read the latest case studies in the field of AI
Curated sets of data to aid research initiatives
The best of AI brought to you in bite-sized videos
World-class policy developments and accepted standards in AI development
Roles spanning various verticals and domains in big data and AI
Latest events in AI locally and internationally
Pieces covering the most current and interesting topics
VCs, PEs and other investors in AI today
Top educational institutions offering courses in AI
Profiles of visionary companies leading AI research and innovation
India’s brightest and most successful minds in AI research and development
A glimpse into research, development & initiatives in AI shaping up in countries round the world
Read all about the various AI initiatives spearheaded by the Government of India
Latest initiatives, missions & developments by GoI to drive AI adoption
Subscribe to our emails
By Puneeth B C
Software Engineering is not just Programming and Programming does not mean Artificial Intelligence. Solving problems in Artificial Intelligence requires domain knowledge and programming and not Software Engineering as its core. AI should be a horizontal subject in all engineering and in fact all fields of work connected to the digital world and not just Engineering. It is required by doctors, engineers, lawyers, farmers, government, and designers, to name a few.
Recently, I have noticed that a lot of Engineering colleges are getting on to the AI bandwagon by starting a dedicated branch in Engineering for Artificial Intelligence. Some of them have also started it as a sub-branch under the Computer Science (CS) department. I started to wonder,
First, let us understand what I mean by the “Domain”. The domain is traditionally what work people used to do; like agriculture, manufacturing, mechanical, automotive, civil, painting, music composition, poetry, electronic design, medical, diagnostics, etc. With changing times, a lot of these moved from manual to mechanization, and now due to digitization, from mechanization to automation. AI has played a significant role in bringing about automation in all of these and many more domains. With digitization, the data that once used to meet pen and paper moved into a computer. A computer as the name suggests is mainly used to compute or process data and not just store it. But unfortunately, computers do not understand the same language as we do. Traditionally it did not have the same interface for communication (to get it to do a specified task) as we do. It could not talk or understand what we are asking it to do.
Because a computer is innately digital in nature (it really needs to be called a digital computer, but the word digital has become so implicit now) and understands only 1’s and 0’s the very first communication language was a set of predefined words (instructions) when given to a computer in a sequence would perform a specific task. The computer was said to be programmed to do a specific task. Since remembering these codes was difficult, especially as the capability of the computer also started to increase, more and more abstraction to these low-level codes started to emerge and called the programming languages of a computer. More sophisticated the programming languages became, more and more syntax started to develop and all of this abstraction and sophistication led to the birth of a separate field/branch of engineering, today called CS.
During the initial days of CS, the machine was dumb and had to be hand programmed for every task. It was not used to solve any domain problems as AI was not as mature as it is today. We required several general purpose applications in a computer like audiovideo player, word, excel, browser, etc, and many more specific applications, and the need for CS graduates increased. The digital era had started and CS was at its peak. CS students also started to study algorithms and optimization, because computers had limited resources and any applications that they developed had to utilize the resources efficiently. Since the rest of the domains still required human-level expertise, it kind of became a norm that anything to do with a computer was majorly associated with a CS graduate. So CS was also considered to be a separate domain.
This skill of programming/coding was far from the reach of ordinary people. They just used the different applications on a computer to support their day-to-day work. AI also went through a couple of winters, since its multiple dependencies (algorithms, data, computing capability, storage, and bandwidth) did not synchronize well with one another.
The advent of GPUs and availability of data (due to digitization, affordable storage, and bandwidth) fueled the once hibernated algorithms (neural networks) to come out of slumber and show their prowess in solving a wide variety of problems in a generic and automated manner.
But, by this time the reputation was built, that anything to do with a computer was a CS graduate’s cup of tea. Today Deep Learning (DL) is entering into every domain and DL algorithms can learn completely from data without requiring a computer to be explicitly programmed for every specific task. When we say data, it is not any data, but relevant data. It is the data that the domain experts understand and bring relevance in. Since DL algorithms blindly try to learn from the data, it is important that we feed them the right data. Any garbage in would result in garbage out.
Since a CS graduate does not understand any other domain, he also does not understand any other data. So it kind of feels ridiculous to me if a CS graduate is given medical data to solve some medical problem without him understanding the domain and assuming that the magic black box (DL) will do the trick and give a solution. So people in any other domain other than CS should not be worried that their jobs will be taken away by computers. A lot of mediocre and repeated jobs might be replaced, but the domain expertise will still have value. To solve any problem you need to get into the shoes of the person facing it and feel the pain. You need to understand THE DOMAIN.
Opensource software and frameworks have made it easier to apply advanced algorithms in AI to the domain of your choice. But, there is a mental block. Either people from other domains do not get exposed to programming at an early stage or do not realize how it could help them to solve problems in their own domain. So once they graduate and get into the industry, they are forced to (if at all they want to switch to AI), pick domains that are popular in the open-source world than going back to their own roots. If only a farmer knew how to use these, he would definitely solve the problems in agriculture far better than any one of us from a nonagricultural background. AI as such does not achieve any goal if it is not tied to any domain. It’s like a gun, anyone can shoot, but only a shooter can aim the target.
It’s my humble request to all the Engineering colleges to stop treating AI as a separate field of study and disconnect it from any specific domain. Going forward, the use of computers and programming will be inevitable, as most of the heavy lifting when it comes to analysis, interpretation, and decision-making will be taken up by a computer (of course under the guidance of a domain expert). Using an AI algorithm to solve your domain problem will be similar to using any of your favorite apps on your smartphone. It is for everyone and not just graduates. AI is all about automating personalization with precision and speed in an optimal way. It will be used by a retailer, tailor, plumber, gardener, barber, and who not.
Before we get into all that, can we at least start by making this incremental change in Engineering? CS as a domain is much more than just programming. Programming should be given the same priority in every field of study, because we will be dependent on computers more than anyone else in our life for decision-making and analysis, and not having the skill to communicate with it should not be a barrier anymore.
About the author
Data Scientist at Airbus
Photo by ThisisEngineering RAEng on Unsplash
AI trustworthiness metrics must be established to combat discriminatory outcomes, Siddhesh Naik, IBM India
Artificial Intelligence and Mobile Computing at the core of Embedded Systems growth
Join our newsletter to know about important developments in AI space