top of page

Abantika Basak

Final Year Masters Student in Computer Science,

Arizona State University








S Stanley Place, Tempe, AZ 85281

Date of Birth:

August 27th, 1997

        ABOUT ME
Hello! I'm Abantika.


I am currently a full-time graduate student at Arizona State University pursuing a

Masters in Computer Science, with an expected graduation date in the month of May, 2021.  I consider myself as a diligent, hard-working, honest and a positive person who has always been interested in learning by taking up challenging projects where I can get to apply my analytical as well as technical problem-solving skills.  From a young age, I loved staying up-to-date with the latest technology and was always curious about their system design and development process. Additionally, Mathematics was one of my favourite subjects in school. I was aware of the applications of Mathematics in the process of development of different Computer based Systems which led me to pursue a career in Computer Science. My biggest strengths include efficient time management and team leadership skills. Moreover, I possess excellent communication skills as well, which is why I love interacting with people from different cultures and backgrounds.  


I am currently looking for full-time opportunities in areas such as Software Engineering and Machine Learning, starting from May 2021.


Apart from the academic world, I am also a trained vocalist who is really interested in music. From learning different genres of songs, ranging from Indian Classical to Western Music, it has been a wonderful journey. I wish to carry this hobby of mine along with my academics for as much time as possible.



Graduate School ( In Progress )

GPA : 3.94

Subjects taken :- 

Data Processing at Scale, Data Intensive Systems for Machine Learning, Knowledge Representation, Statistical Machine Learning, Mobile Computing 


Final Year Masters's Degree

Computer Science


Bachelor's Degree

Computer Science


GPA : 3.9


High School





Python - Advanced

C++ - Advanced

Clingo - Intermediate

Scala - Beginner

PostgreSQL - Intermediate

QGIS - Intermediate

C - Advanced

Java -Intermediate

Prolog - Intermediate

Apache Spark - Intermediate

AndroidStudio - Intermediate


Machine Learning Libraries - Tensorflow, Keras, Numpy, Scipy, Matplotlib, Pandas, Scikit-Learn, NLTK, Librosa, PyLab, OpenCV, OS, NetworkX, ImageIO

About me


Skydiving in Nature

Computer Vision Summer Project

May 15th - Aug 1st


Ira Fulton Schools of Engineering, Arizona State University

The objective of this summer project was to explore different state-of-the-art object detection techniques used in real-world applications of Computer Vision like surveillance, security, autonomous vehicles, optical character recognition, and many more. Object detection has gone through two significant historical periods : the traditional object detection period(before 2014) and deep learning based object detection period(after 2014). In the deep learning era, object detection can be grouped into two genres: two-stage detectors and one-stage detectors. The former type models the problem as a coarse to fine process, whether the latter frames it as complete in one step. In two stage detectors, we have the RCNN model family. The idea behind RCNN is that in the first stage, region proposals (object candidate boxes) are generated. Then each proposal is rescaled to a standard size and fed into a CNN Model (pretrained on ImageNet) for feature extraction. Finally linear SVM classifiers predict the presence of an object within a bounded region and its class. In order to become familiar with an object detector’s way of implementation, I decided to implement RCNN from scratch on the Pascal VOC dataset using the free GPU quota on Google Colab platform. This involved handling several data analysis and machine learning libraries such as OpenCV, Keras, Tensorflow, Numpy, Matplotlib, Pandas etc. 

Followed by this, I decided to study the different state of the art object detectors in depth and finally use their pretrained versions for comparison on the basis of the FPS on my 4GB CPU machine. The object detectors used are : SSDMobileNet, tiny-YOLO,YOLOv3, SSD300 and MaskRCNN. On running this experiment on a 4GB RAM CPU machine, it has been observed that SSDMobileNet has the highest FPS YOLOv3 has the lowest FPS of 0.91. The fourth part of the project was fine-tuning YOLO for detection of my own use case of detection of license plate images. Initially, I downloaded the 488 license plate images from Google Images using Fatkun Batch Downloader. This was followed by removal of duplicate images and sequential renaming of the 480 existing files. Additionally, I annotated every image from scratch using the Microsoft VoTT tool. This gave accurate test detection results with high IOUs. Followed by this, I decided to develop an application for object detection. Kivy is an open source Python framework which helps us develop applications on desktop as well as mobile phones with a Natural User Interface. Using the framework of Kivy, I built a multiscreen application where a user will be asked to take a picture, or upload an image from the existing file system and perform object detection on it. Finally, to understand object segmentation in greater detail, I implemented Mask-RCNN, an instance segmentation algorithm and have run it on images,videos and webcam. 

Data Processing  at Scale Project 

March 1st - April 26th


Ira Fulton Schools of Engineering, Arizona State University

In this project, our group has been hired by a major peer-to-peer taxi cab firm to develop and run spatial queries on their large database that contains geographic data as well as real-time location data of their customers. Since the database is large and mostly unstructured, we are instructed to use a popular Big Data software application, SparkSQL which runs on top of Apache Spark, a distributed in-memory cluster computing framework. The goal of the project is to learn how to extract these huge volumes of data from this database and store them using Resilient Distributed Databases(RDD) in Spark and how to perform spatial queries on them that will help our client in making operational and strategic decisions. 

The project was divided into two phases. In the first phase, we had to write two user defined functions ‘ST Contains’ and ‘ST Within’ in SparkSQL and and use them to run four spatial queries namely, Range Query, Range Join Query, Distance Query and Distance Join Query. I worked on implementing the ’ST Contains’ Function. In the second phase, I performed hot spot analysis tasks namely Hot Zone Analysis and Hot Cell Analysis.

March 20th - May 8th

Statistical Machine Learning Project

October 10th - November 12th


Ira Fulton Schools of Engineering, Arizona State University

This project focuses on the problem of music genre classification.To approach this problem, GTZAN Dataset was used for training the system and further analysis. Later, the Convolutional Neural Networks (CNN) deep Learning model, Convolutional Recurrent Neural Network Model, Bottom Up Broadcast Neural Network and other traditional Machine Learning models like Multiclass Support Vector Machines and Multinomial Logistic Regression were used to approach this problem. Finally, the performances of these algorithms have been compared for finding the best fitting machine learning model for classifying genres.

To summarize my contribution, I wrote code in Python to read the audio files per genre and store the mel-spectrogram of every audio file as a .jpg image in a folder corresponding to the genre it belongs to . This is followed by one-hot-encoding of the labels which are genres in this case. The pixel values corresponding to every image are normalised. Finally, this data is fed to a Convolutional Neural Network as well as a Convolutional Recurrent Neural Network for training and inference.

Data Intensive Systems for Machine Learning Project

March 25th - April 30th 



Ira Fulton Schools of Engineering, Arizona State University

Deep Neural Networks consume a huge amount of memory and hence, memory allocation and management turns out be a performance bottleneck from the systems perspective when training such deep learning workloads. In this project, we answer the fundamental question - How important is memory allocation to improve the overall performance of deep learning systems. To answer this question, we decided to monitor the overhead incurred during (de)allocation when running workloads using tools like Perf.

A series of experiments were conducted during the course of this project to study the behaviour of current memory allocators. Experiments included running multiple deep learning workloads like CNN, Resnet, VGG19 and BERT on Ubuntu based systems and recording the performance using Perf tool. Memory related operations are focussed on throughout the system. 

Observations :- At the beginning of training, there is a significant overhead of memory allocation. This may be due to the fact that all the initialisation takes place at beginning of training. All weights are allocated memory before starting training. However, most significant overhead is caused by memory movement and not allocation during the epochs of the training process.

Mobile Computing Project

October 25th - November 25th  

SafePath : An Android application

Ira Fulton Schools of Engineering, Arizona State University

Given the number of crimes occurring around us, it is important that residents are cautious while travelling. Keeping this objective in mind, an Android application was built  that finds the safest path to a given location from the current location of the person, by mining through data of crime logs. This application is designed specifically for the Tempe Area. The application also facilitates reporting a crime and reporting a suspect, in addition to showing the statistics of criminal activity of the Tempe area. Another interesting feature of the application is that the user can view the heat map of criminal data of the Tempe region. The application requires logging into it to avail the above facilities.

To summarise my contribution, I have written code in Java for creating the login logout functionality for the Android Application on AndroidStudio. Firebase, a mobile development platform provided by Google, ensures authentication before logging in to the mobile application by providing backend services and SDKs. Additionally, I also have plotted statistics in the form of a bar graph which shows the frequency of different types of criminal activities in the area of Tempe by mining from crime data logs. Moreover, I also implemented the functionality to save the statistics as an image in your phone. Finally, when the other group members were done with the project, I integrated all the individual components on AndroidStudio.

Knowledge Representation Project

October 25th - November 25th  

Solving Insurance Referee Problem using Answer Set Programming in Clingo

Ira Fulton Schools of Engineering, Arizona State University

In this problem, an insurance company sends out referees to different locations to check whether the customer claims regarding the insurance cases are legit. After inspecting the insurance cases, the referee has to send back reports regarding the genuineness of the customer claims regarding those cases. The insurance company can either send out internal referees (those who work inside the company) or send out external referees to examine the different insurance cases. Hence, the main objective is to find an optimal assignment of referees to the different insurance cases on a single working day in such a way that it satisfies all the hard and weak constraints, which are discussed later in this report. Additionally, the total expected effort while assigning referees to cases should be minimized, in order to save cost for the company. Moreover, every insurance case has to be handled by exactly one referee, but a particular referee can handle many insurance cases. Hence, a solution is proposed in the form of an Answer Set Program which successfully solves the Insurance Referee Problem, considering all the constraints into account.

This problem was included in the Answer Set Programming Challenge in 2019. There are several hard and weak constraints that had to be taken into account. Hard constraints have the capability of changing the stable models of the answer set program. However, weak constraints do not change the stable models corresponding to the program. Instead, they provide us with the best answer sets that optimise certain criteria ( say minimising the cost, or maximising the profit). To summarise my contribution, I implemented two soft constraints and one hard constraint in Clingo. Additionally, my contributions include validating the other six constraints coded in Clingo by the two other members of the group.

Speech Summarisation Bachelors Project

2018 - 2019
October 20th - April 15th  

Bachelors of Technology Final Year Project

Bengal Engineering and Science University, Shibpur

The purpose of the project is to summarize audio lectures or speech. The original audio is first transcribed using the fairly accurate pre-trained model, Google Speech-to-Text API. The transcript obtained may be of huge size and hence, to summarise them, different types of text summarisation techniques have been used and implemented in Python. For text summarisation methods to work, we need pre-processing which is ensured by converting the sentences into vectors using tf-idf and Google's universal sentence encoder. Then, K-Means, Infomap, Louvain and Fast Greedy community detection methods are implemented to obtain extractive summarisation of the original transcript. Some of these previous algorithms are later combined to form an ensemble text summarizer. The summarised text was converted back to the audio using Google Text to Speech API. Then, the effectiveness of these algorithms are compared using Rouge which stands for Recall-Oriented Understudy for Gisting Evaluation.  Rouge produces automatic summarisations and based on how similar they are to the outputs of the community detection algorithms, decide the effectiveness of a summary. 


To summarize my contribution, I have implemented K-Means, Louvain and Fast Greedy community detection algorithms in Python using tf-idf vector representation as well as Google’s universal sentence encoder and also tested the effectiveness of the summaries using the Rouge Software Package.

 Undergraduate Spatial Informatics Summer Intern

May 15th - June 30th

Incremental Optimal Path Computation in Real-time Disaster Scenarios

Indian Institute of Technology, Kharagpur

In this project, an improvised version of the original Dijkstra algorithm is devised to be used during disasters such as floods. During floods, finding optimally short and safe paths to a destination as quickly as possible becomes a critical and challenging problem.Typically, in case of emergency response, a particular shortest path along with it’s alternate routes serve towards providing a sustainable connectivity. Furthermore, on encountering a disruption, the traversal re-routings must also consider the possibility of similar link-losses due to water-level rise in other parts of the network. As a result of roads getting submerged,connectivity continues to decrease. Hence, this elevates the importance of finding optimal short and safe path(s) to the intended destination(using the roads which lie above the water level) as fast as possible. The execution should also be made scalable for faster decision-making towards a justified path for reaching the desired destination. This improvised version of the Dijkstra algorithm has been compared with the original Dijkstra algorithm on the flood-prone road network of Bankura District of West Bengal, India. The results provide a very promising evidence of the improvised Dijkstra algorithm giving optimal safe paths to the intended destination much faster than the original Dijkstra algorithm. 

Indian Academy of Sciences Summer Research Fellowship

May 15th - July 15th

Implementation of Authenticated Encryption in Galois Counter Mode

Indian Institute of Technology, Kharagpur

Cryptography, the study of techniques used to communicate securely in the presence of third parties, has emerged as a wide and important area of research. In symmetric encryption techniques, the original plaintext is encrypted using an encryption algorithm and a secret key and converted into an unintelligible message known as ciphertext. The ciphertext is then decrypted using the same secret key and a decryption algorithm from which the plaintext is recovered. Such symmetric encryption techniques aim to achieve confidentiality of data. However, of far more relevance in cryptography is to ensure the authenticity of data i.e., correctly identifying the true originator of the message. Hence, in order to incorporate both confidentiality and authentication in the process of communication, the need for a mode of operation that can efficiently provide authenticated encryption emerged. Galois/Counter Mode (GCM) is one such mode of operation that provides authenticated encryption at speeds of 10 gigabits per second and its implementations can achieve excellent performance both in hardware and software.

The objective of this research project is to implement AES-GCM Mode of Operation using 128-bit key in C Programming Language and to verify the outputs with some of the sample test cases. This Mode of Operation is then parallelised using OpenMP (Open Multi-Processing) to obtain better performance.

bottom of page