Hi, I'm Rand.

I’m a Master’s graduate (MEng) based in France, specialized in applied mathematics and computer science.

I am passionate about mathematics and math-adjacent domains, and am interested in pursuing a career in research, currently seeking a PhD position in France.

A few things about me


Mathematical Engineering @ INSA Rouen Normandie

September 2014 - August 2021

French graduate engineering program (Diplôme d’Ingénieur) with focus on applied mathematics and computer science.

Theoretical and Applied Computer Science @ Université de Rouen

September 2019 - August 2020

Research-oriented Master’s program with focus on algebra, theoretical computer science, and preparation for PhD.

Syrian Scientific Baccalaureate @ Little Village School

June 2013

Rich school program that gave me a head start in later studies.

Graduation grade 92.17%


Research Intern @ Laboratory of Signals and Systems (Centralesupelec, CNRS)

November 2020 - June 2021

Worked on a bio-inspired geometric model for sound reconstruction. The spectrum of the degraded sound is lifted in the Heisenberg group and reconstructed via the Wilson-Cowan differo-integral equation.

Contributed to an article published in the GSI 2021 conference proceedings.

Improved and extended the implementation of the proposed model, and ran experiments on a library of speech recordings.

This internship concluded my Master’s degree at INSA Rouen Normandie (published report).

Research Intern @ INRIA Nancy Grand-Est

June - August 2019

Contributed to the Mind the Gap! algorithm developped by Pixel team that proposes a robust pipeline for generating hexahedral-dominant meshes from any global parametrization of a tetrahedral mesh.

Proposed and implemented improvements to the pipeline that helped obtain better meshes with less irregularities.

Web Development Intern @ INSA Rouen Normandie

July - September 2017

Established a Proof of Concept of a web client of the free software AMC that creates and manages multiple choice questionnaires (MCQ) as it is only available on UNIX systems.

Implemented a Django web application that communicates with AMC on the server side.

Volunteer Translator @ CAFDA

July - August 2016

Volunteered as a French-Arabic translator for asylum-seekers.

The CAFDA is an organization that receives asylum-seeking families and accompanies them in their asylum demand procedure and in their access to social rights.


Mathematics & Computer Science Theory

  • Algebra: abstract algebra, linear algebra, Lie algebras, non-associative algebras.
  • General Topology & Functional Analysis: topological structures, Banach spaces, Hilbert spaces, Sobolev spaces, generalized functions (distributions), Fourier analysis.
  • Control Theory: linear and non-linear systems, optimal control.
  • Signal Processing: analog and digital signals, continuous and discrete time, statistical signal processing, audio signal processing, time-frequency analysis.
  • Numerical Analysis: linear systems, function interpolation and quadrature, least squares, ODE and PDE numerical approximation (Runge-Kutta, finite difference, finite elements), curve and surface spline approximation, mesh generation.
  • Optimization: unconstrained and contrained optimization, convex (linear and non-linear) optimization, combinatorial optimization, heuristics and metaheuristics, dynamic programming.
  • Probability, Statistics and Data Analysis: law of large numbers, estimation theory, Markov chains, linear models (simple/multiple linear regression, ANOVA), multidimensional data analysis (PCA, CA, FA).
  • Combinatorics: graph theory, matroid theory, computational complexity theory, combinatorial optimization.
  • Automata Theory & Language Processing: automata, formal language theory, lexical and syntaxical analysis, compilers..
  • Mathematical Logic: first-order logic, lambda calculus, constraint programming (logical and functional).
  • Multi-Agent Systems: belief-desire-intention model (BDI), agent-based simulation, Multi-Agent Reinforcement Learning (MARL).
  • Data Science & Machine Learning: supervised learning (K-means clustering, support-vector machine SVM), artificial neural networks, reinforcement learning (game theory, Markov decision process).

Machine Languages

  • Basic User: Fortran, Matlab, Prolog, Lisp, Mathematica, SQL, C#.
  • Experienced User: bash/shell, C, C++, Java, Python, Julia, Javascript.
  • Markup: LaTeX/TeX, HTML+CSS, Markdown.

Libraries & Frameworks

  • Numerical: numpy, scipy, matplotlib.
  • Machine Learning: scikit-learn, PyTorch, TensorFlow.
  • Java libraries: Remote Method Invocation (RMI), Swing.
  • Lexer and Parser Generators: Lex/Yacc, GNU Flex/Bison, Antlr4.
  • Web Development: Django, Jekyll, WordPress.
  • Multi-Agent Systems: Jason (AgentSpeak), GAMA platform.
  • Game Engine: Unity 3D.

Operating Systems & Tools

  • Operating Systems: GNU/Linux (Arch and Debian-based distributions), Microsoft Windows.
  • Version Control: Git, SVN.
  • Image Processing: GIMP, Inkscape, Adobe Photoshop, Adobe Illustrator, Blender.

Human Languages

  • English: Proficient - C1/C2 level (TOEIC certificate)
  • French: Proficient - C1/C2 level (TCF certificate)
  • Arabic: Native
  • German: Basic - A2 level (summer course in Germany)


Music Information Retrieval - Master's Thesis

  • music-theory
  • signal-processing
  • music-information-retrieval
  • pitch-analysis
  • automatic-music-transcription

March 2020

Research project exploring the domain of Music Information Retrieval and Automatic Music Transcription.

Studied algorithms of single and multiple pitch estimation and onset detection. Provided a Python API for these algorithms using own implementation and/or external libraries.

Active Contour Models - Snakes

  • image-processing
  • active-contours
  • level-set-method
  • geodesic-curve-evolution

February 2020

Studied and implemented active contour models for parametric curve and level-set curves, evolving the curves by minimizing the mean-curvature or the geodesic metric. A medical image is segmented using the proposed algorithms and their performance is compared.

The project is based on Numerical Tours (G. Peyré) which explores image processing among other data science and applied mathematics topics.

Multi-Agent Systems

  • BDI-model
  • MARL
  • game-theory
  • jason
  • gama-platform

June 2020

Studied Multi-Agent Systems as part of my Masters program, with focus on the belief-desire-intention model that was applied in two mini-projects.

Implemented capture the flag game using jason as a basic BDI-model application. Also built a simulation of the propagation of the flu in a city using GAMA modeling environment.

Studied Multi-Agent Reinforcement Learning in the framework of Game Theory by extensively analysing a scientific paper and comparing it with more recent litterature.

The Taquin Game (8-puzzle)

  • prolog
  • graph-traversal
  • a-star
  • iterative-deepening-dfs

November 2019

Implemented the famous sliding tiles game in Prolog using A* graph search algorithm for N×M sized puzzles.

Implemented also a greedy algorithm and Iterative Deepening Depth-First-Search, and compared the performance and results of the algorithms.

AsciiMath to Tex

  • lexical-and-syntaxical-analysis
  • parser
  • language-processing
  • asciimath
  • tex-math
  • antlr4

May 2019

Implemented an AsciiMath to LaTeX interpretor using ANTLR. This project was part of the course lexical and syntaxical analysis in my INSA Masters program.

AsciiMath is a markup language that represents a subset of mathematical expressions using simple readable ASCII syntax unlike LaTeX or MathJax. AsciiMath is to TeX Math what Markdown is to LaTeX.

Floating-point Arithmatics

  • IEEE-765
  • C++
  • floating-point
  • low-level

April 2016

Implemented mathematical operations for floating-point numbers (IEEE 765 standard) through bitwise operations in C++ using Newton’s Algorithm, CORDIC and others.

Having learned the floating numbers machine representation and implemented the square root function as an assignment for a course in computer-based calculations, I was compelled to extend the assignment to other mathematical operations.