2018-2021 (expected)
PhD, Computer Science; Ecole Supérieure d’Informique (Algiers) and Université Claude Bernard (Lyon)

Thesis title: Parallel and Distributed Algorithms for Pattern Matching in Big Graphs [Publications}

Masters degree, Computer Science; Ecole Supérieure d’Informatique (Algiers)
Engineering degree, Computer Science; Ecole Supérieure d’Informatique (Algiers)
Baccalaureate, Mathematics; Omar Ibn El Khattab High School (Relizane)

Trainings & Certifications

Functional Programming in Scala Specialization; by Coursera [About this course]

Big Data Foundations - Level 2; by IBM [About this course]


January 2018 – present
PhD Candidate @ CERIST Research Center (Algiers) and LIRIS CNRS (Lyon)

I work in my PhD on the problem of Graph Pattern Matching (GPM) in the context of large-scale distributed graphs. Our goal is proposing new parallel and distributed algorithms to answer GPM queries in big graphs while taking into consideration the shortcomings of prior work in this field.

June 2019 – present
Graduate Teaching Assistant @ CERIST Research Center (Algiers)

I teach the course Programming languages for Big Data - Scala in the specialized post-graduation training (PGS). The course covers:

  • Basic syntax of Scala programming language.
  • Object Oriented Programming in Scala.
  • Functional programming with Scala, including higher order functions, lambda expressions, partial evaluation, etc.
  • Collections in Scala, Lists, Vectors, Sets and Maps.

I also teach the introductory course Frameworks for big graphs - GraphX where the following points are covered:

  • Basic operators for graph loading using GraphX.
  • Graph transformations and information aggregation with the graph-parallel paradigm of GraphX.
  • Design and implementation of iterative algorithms based on the Pregel model on top of GraphX.
August 2017 - December 2017
Data Science Consultant @ Ya Technologies (Algiers)

I worked on improving the logging system of the VTC application Yassir. My responsitibilies included mainly:

  • Extraction of the log events available at a Kafka server using a logger implemented with NodeJs.
  • Transformation of the events to compresenhive information to be stored on an Elasticsearch server.
  • Creation of dashboards for the visualization and reporting of logs using Kibana.
September 2016 to June 2017
Data Science and Web Development Intern @ AITECH (Algiers)

In my final year’s engineering project, I worked on the design and development of a monitoring system for predicting plant diseases in Algeria, using Incremental Machine Learning algorithms. My responsibilities in this project included:

  • Collecting data on plant disease prediction for the two diseases: Fusarium Head Blight and Potato Mildiew.
  • Design of a new algorithm for plant disease prediction based on incremental learning.
  • Design and development of a backend for disease prediction based on current weather conditions, using Python and Django.
  • Design and development of a web application, using Angular, for monitoring and visualization of the disease spread across Algerian crops.
September 2015 - October 2015
Web Development Intern @ Carthena Tech (Algiers)

In this internship, I worked on the development of an e-learning platform for teaching matchematics to high school students in Algeria. My responsibilities included:

  • The design and developement of the platform UI on top of Jomla.
  • Preparation and integration of the different math quizzes in the platform.

Technical Experience

Programming Languages

Scala: I have an experience of 3 years working with Scala and functional programming. I have implemented several distriubted algorithms of graphs with Scala, Spark RDDs and GraphX.

Python: I had the chance to work with Python for one year during my final year’s engineering project. I have implemented different data science algorithms in addition to a web application using Django.

Basic knowledge of C, C++, Java

Big data plateforms

Spark Apache I have an experience of 3 years working with Spark and its module GraphX for designing graph pattern matching algorithms in the context of massive graphs. I am also responsible of the deployment and management of the big data plateform at the CERIST research center.

Elastic Stack I have worked with the different components of the Elastic Stack including Logstash, Elasticsearch and Kibana during my experience as a data science consultant at Ya Technologies. I have also an experience in the deployment and management of an Elasticsearch cluster on a production environment using Docker and Kubernetes.

Spoken languages