Yekta Demirci

Hi! I am a second year Software Eng. MASc candidate at University of Waterloo where I am advised by Prof. Mahesh Tripunitara and Prof. Catherine Rosenberg. My research focuses on Service Level Agreement (SLA) enforcement in software defined Radio Access Network (RAN) settings.

Before starting to the graduate school, I completed my undergraduate studies in Electrical and Electronics Engineering at Middle East Technical University where I specialized on telecommunication option in my final year and took extra classes from the Computer Engineering.

During my undergraduate studies, I had exchange programs at NTU (Singapore) and KAIST (Korea). Outside of work, I highly enjoy cooking, hiking and camping.

Email  /  Resume  /  LinkedIn  /  Github


My current research interests lie in software engineering and radio access networks.

During my last summer internship, I had a chance to have research experience on machine learning at GEMSEC lab under the supervision of Prof. Mehmet Sarikaya . Further information about the project is available here.


Food Hunter Web Application 3 months-5 people

As a group of five people, we used agile methods to develop a web application as a course project where we used MongoDB, Google maps and web crawling APIs as well as HTML, CSS, JS and Python (Selenium for testing). We implemented unit, integration, system and acceptance tests. In order to provide a user friendly interface we designed a single page with three sliding bars. The website takes location and ingredients as inputs and it offers some meals.
Presentation | Code

fashion MNIST

Feature extraction and CNN on Fashion MNIST dataset 1 month-2 people

For the ECE657A Data & Knowledge Modeling and Analysis course, first we used some feature extraction methods (PCA, LDA, Isomap, LLE and t-SNE) and trained some classical ML models (Decision Tree, SVM, KNN). Then we trained a Convolutional Neural Network model and compared the results of two different approaches.
Report | Code

http classification

Flow level, HTTP-2 Classification with Machine Learning Algorithms 2 months-individual

For the CS656 Computer Networks course, I trained various machine learning models (KNN, SVM, CART, ANN) to predict HTTP2 flows from its predecessor HTTP1. Firstly, I constructed a flow level data-set using a publicly available web traffic collection, then I used several features including HTTP version to make ground truth via deep packet inspection and finally I pre-processed the data (PCA, LDA), trained various ML models and classified HTTP traffic with +90% accuracy. Confusion matrices of each model can also be seen under the project report.
Report | Code

multi threading

Performance Analysis of different Vertex Cover (VC) Approx. Algorithms via MultiThread 3 weeks-2 people

We used three different approaches to solve minimum VC problem. Firstly we followed polynomial time reduction to CNF-SAT approach using minisat library. Secondly, as an approximation, we picked the vertex of highest degree and removed all the incident edges. Finally, again as an approximation, we picked an edge randomly and added its vertices to the VC. We run all the approaches concurrently using multithreading to compare time performance metric.
Report | Code

social network analysis

Betweenness (modified BFS) Analysis Over a Social Network 10 days-individual

For one of my admissions, I was asked to choose a publicly available dataset and form some hypotheses. I chose a Facebook dataset and questioned the following hypotheses: (i) "Number of friendships in a social network do not vary much between the individuals" (ii) "People whom have high number of friends tend to connect different communities". I used basic statistical tools for the first hypothesis whereas for the second one I implemented a (highly) modified BFS algorithm and found betweenness of connections (edges) between the individuals.
Report | Code

image processing

GPU programming with Jetson TX2 device in CUDA & C++, Real Time Edge and Ball Detection 2 months-2 people

I implemented matrix addition and multiplication scripts in .cu as an introduction to GPU programming. After that we implemented a canny edge detector in real time using built-in libraries of CUDA with a simple User Interface (UI). A user could change some filtering variables (e.g blur sigma, blur window size etc.) on the fly. Then we implemented another application that detects green balls again with built-in CUDA libraries. It also provides a simple UI to adjust different variables on the fly.

map extraction robot

Design and Implementation of an Autonomous Map Extraction Robot 6 months-5 people

For the final year capstone project, with a group of five people we designed and implemented an autonomous map extraction robot. The robot is randomly deployed in an enclosed area where it extracts the map and identifies the objects with their centre locations. I focused on the noise filtering, (novel) path finding and object clasification algorithms.
Conceptual design report | Final report | Video | Code


Implementation of FFT and Overlap & Save Algorithms with myRIO Device 2 weeks-2 people

For the term project of real-time digital signal processing course, we implemented FFT and overlap & save algorithms in C, compiled and run with myRIO device that operates on Linux based Real-Time OS.
Report | Code


Metal Binding Peptide Prediction Summer research internship

I had a chance to have my final summer internship at University of Washington , GEMSEC lab . During my internship I implemented an application that takes some existing metal binding peptides as input and predicts some new possibly metal binding ones. We created different tensor cuts using location, property and peptide then used PCA, wavelet transforms and several clustering algorithms to understand the correlation between metal binding and some other properties. I coded the application step by step which pre-processes the data, creates different cuts and makes the predictions in Python, +1000 lines
Scientific report | Code


NBA Play-off & Regular Season Relation Analysis with PCA & Artificial Neural Nets 1 month-4 people

CENG:499 Introduction to the Machine Learning was the first course I took from the computer engineering department as extra curriculum. For the final project, we extracted publicly available 2016-2017 NBA data using BeautifulSoup, then used PCA for data preprocessing and trained a few ANN models.
Report | Code


Aselsan - Candidate Software Engineer
June 2019 - Aug 2019

Some of the work I have done can be seen here.

TAI - Avionics Software Intern
June 2016 - July 2016

I practiced C programming language during my first summer internship.

Service & Leadership

Volunteer tutor
Jan 2021 - May 2021

Tutoring a grade 5 boy through FACS. FACS is a charitable organization which breaks the cycle of poverty through education and provides an environment where children and their families can thrive.


I was a member of the scout team of my undergraduate university where we organized weekend camps and took the full responsibility of the participants.


ECE 606 Algorithm Design and Analysis - Fall 2019

ECE 650 Methods and Tools for Software Engineering - Fall 2019

ECE 651 Foundations of Software Engineering - Winter 2021

ECE 657A Data & Knowledge Modelling & Analysis - Winter 2020

CS 656 Computer Networks - Winter 2020

ECE 356 Database Systems - Fall 2021


CENG 466 Fundamentals of Image Processing - Fall 2018

IAM 501 Introduction to Cryptography - Fall 2018

EE 435-436 Telecommunication I & II - 2018

CENG 499 Introduction To Machine Learning - Fall 20117

EE 441 Data Structures - Fall 2017


The Complete Web Development Bootcamp by Angela Yu- Udemy - Winter 2021

Machine Learning by Prof. Andrew NG - Coursera -Fall 2017

Machine Learning A-Z: Hands-On Python & R In Data Science - Udemy - Fall 2017

Linear Algebra by Prof. Gilbert Strang - MIT opencourse - Spring 2015

Website template credit