A Researcher of Computer Science : Part 1 ( Introduction to Research )

Mohamed Ayoub
7 min readJun 9, 2019

--

Photo by NASA on Unsplash

Computer Science is one of the fastest developing field in industry and academia alike. It is one of the fields that is consummate in almost all the industries. It is one of a rare industry where we have an active circle of research in the industry and academia alike. I’m penning this article with hopes that it would help anyone interested in a research career find their way.

Before we begin I would like to let you know of an amazing program from where I got to know valuable insights into the field of research from a mentor who is an expert in my field. ScholarX by SEF is a program I’d recommend for any aspiring researcher.

SEF ScholarX 2019

ScholarX is a mentoring program coordinated by the Sustainable Education Foundation (SEF) for students in Sri Lanka to network and coordinate their researches with with mentors who are experts in their respective fields.

I was fortunate to be selected as one of the first class of students to be mentored by Dr. Rukshan Batuwita. A Data Scientist. This article is composed of his insight into making a foothold as a researcher in Computer Science, as well as my researches and lectures I attended in research methodologies.

Note : Although my interests are in Artificial Intelligence and I’m being mentored by a Data Scientist , I will make this article orthodox to almost all Computer Science related researches.

Domains of Research in Computer Science

Photo by stephan sorkin on Unsplash

The research domains are an important topic in research. It could define your career trajectory and expertise. It is of utmost importance to choose a research domain that you like and are interested in. Opposed to common misconception Artificial Intelligence is not the ONLY field in Computer Science that is currently actively researched.

Here are domains being intensively researched in Computer Science.

  1. Algorithms and Mathematical optimization — This is a theoretical domain rather than a practical one. Here you would be looking intensively into Algorithms and Data Structures. Presently Genetic Algorithms are intensively researched.In addition to that the skill of mathematical optimization is principle in areas like Deep Learning. Math Optimization means finding a set of inputs to get a particular output (mostly the minimum output). This is used to minimize the loss functions in Deep Learning, calculate shortest distance, or find the highest profit.
  2. High Performance Computing, Parallel Computation, Big Data — This is a hardware savvy discipline in computer science. HPC includes a very good knowledge on networks and decentralized computing, in addition to optimizing processes. Parallel computation includes a good knowledge on concurrent programming and process forks and joins. includes distributed computing and Big Data Frameworks likes Hadoop, Spark and cluster managers like YARN.
  3. Scientific Computing ( Biology , Physics , Astronomy , Chemistry ) — Often overlooked by computer scientists, with the rational that this is not in the area of substantive expertise for themselves. Scientific Computing is a budding field in itself. Software development being more developer friendly than ever applied scientific computing community is a vibrant field of research. Simulations and error detection of various fields of substantive expertise helping scientists, carry out researches faster, with better accuracy. From airline pilots to clinical drug researchers, all of them use highly specialized software for testing and evaluations.
  4. Artificial Intelligence ( NLP , Cognition, Deep Learning ) — The most hyped domain in computer science and rightfully so, Artificial Intelligence is a prime field of research, that encompasses a plethora of fields. Natural Language processing is an important area of research for linguistics. Cognition and knowledge agent based systems are another area in Artificial Intelligence, and perhaps (at least to me) the most interesting area of research in AI is cognition. Cognition researches in AI aim to bring perceptions and research-ability to computers. The ability to find a heuristic for intuition and curiosity to find unknown things are the hallmarks of vision in this field.
  5. Human Computer Interaction — Computer games are the artworks of the 21st century. Modern games interact not just with keyboards and mouse, but they track the players bodies and movements. Technologies like augmented reality , virtual reality and mixed reality push the limits of human and computer interaction, more closer than ever before. Even productivity applications are finding their way into the virtual 3D world as of now. Interfacing human movements, interactions and even slight nuances in behavior are interesting research in this field.
  6. Cyber Security — The 21st century is a digital library. The value of information has never been so high neither the stakes of acting on information. Privacy and security are 2 of the most valuable assets in the digital world. However cyber security threats are in the process of increasing. Governments have dedicated cyber security teams to address this ethical conundrum. Demand for ethical hackers or pen-testers is expected to soar.
  7. Quantum Computing — The newest kid on the block. Still in the stages of infancy, quantum computing promises massive speedups in certain areas, traditional computers fall short. Reversibility is an important feature of quantum computers as well. Quantum computers would also be highly involved in mathematical optimizations, and securing encryption systems.
  8. Compiler, OS and Software Architecture optimization — All the above disciplines of software cannot exist without a stable bed rock. Compiler optimization, operating system programming and software architecture optimization is a dynamic field, with every new paradigm of processing, (distributed, decentralized, centralized etc), there need to be changes and updates to the architecture of the software. Now there’s great research on “edge” computing. the process, network and content delivery pipelines.
  9. Mobile and Ubiquitous Computing — There’s more to mobile development than million dollar application propositions. While they change the way we buy, travel even rent properties, the more technical aspect of mobility would fascinate a researcher more. Mobility brings about new paradigms of computing. Federated learning is one such example. Initially made for mobile devices, it has evolved into a privacy protected way to survey machine learning. Ubiquitous or IoT computing in short is another paradigm of information processing. IoT information processing and Swarm Intelligence are researches way ahead of time.

It is crucial that the research domain you choose should interest you, and should have a positive impact to the pool of knowledge in the field. Moreover just because Artificial Intelligence is given more press doesn't mean the other fields are trailing in progress. In fact quite the contrary all these fields are inter-dependent and essential fields in Computer Science.

We as Computer Scientists should have an open mind and a willing heart to carry out researches on all these exciting areas of research.

The Difference between Search and Research ?

Photo by Kayla Farmer on Unsplash

Search — trying to find a known entity ( ex — searching for the keys ), you already know what you’re looking for.

Research — trying to find an unknown entity through reasoning and logic ( ex — trying to find the best smartphone ), you never know which is the best, you have to make a calculated decision based on many empirical contributing factors.

Types of Researches in Computer Science

Photo by Fa Barboza on Unsplash

I have been interested in culinary and cooking these days, as such I’ll bring my analogies from the kitchen to Computer Science. ( Before that I want you to forget that there is something called “Cake”, it’s difficult ikr )

We can broadly classify the types of researches in Computer Science as the following.

  1. Fundamental Research — similar to inventing a new type of food. In our diorama it’s this new “Cake” that we discovered. In our Computer Science context it means, coming up with a completely new algorithm , a well ordered collection of unambiguous and effectively computable set of instructions that when executed solves a problem in a finite amount of time. A great example of Fundamental research would be Claude Shannon’s Information Theory
  2. Applied Research — similar to discovering ways in which to use the preparations of the cake, ( ie different ways to bake it, different ingredients, shapes , textures etc. ). A great example of this would be StyleGAN. They build up on what was prevalent in the image synthesis standard and built up.

Think about it, If applied researches hasn’t been done, we wouldn’t have fruit cakes or chocolate cakes !

Main Takeaways

Photo by Petr Vyšohlíd on Unsplash

I have listed the main takeaways from this article below.

  1. There’s a difference between “search” and “research”. Research is about finding something unknown. It’s about contributing to the pool of knowledge known to human beings, however small it maybe.
  2. Do not restrict yourselves to the “trends” , be open minded when selecting the domains of research.
  3. Choose the type of research you want to carry out. A Fundamental experiment or an exploration into an Applied sector.

Now that we have a better understanding on how to choose a domain of research and how to choose the type of research ( whether you are inventing a new food or improving an existing food to make chocolate cakes ). We need to discuss about the philosophy of your research. And we also need to brush up your understanding of a scientific methodology to solve a problem.

We will be discussing about that after my meeting with my mentor next week. We would also go through identifying research gaps and publishing your computer science related research. Hoping to keep you updated.

References

  1. Here’s where you can get more infoto signup for the next ScholarX intake, when they become available.

2. More Info on choosing a domain. From TopUniversities

--

--

Mohamed Ayoub

An AI and Data Science researcher by day, and a Jiu Jitsu coach by night. I love riding my bicycle and sometimes I cook. Physics and Technology is my dope.