Hosted on Gihub Pages

Personal Info

Name Harrando Ismail
Nationality Moroccan
E-Mail harrando.ismail (at)
Links Github
Google Scholar


Master of Science in Informatics (MoSiG)
Artificial Intelligence Specialization
Grenoble INP Ensimag / UGA IM²AG
  • Doubly accredited Computer Science research program (Master's Website)
  • Relevant Courses : Category Learning and Object Recognition, Computer Vision, Natural Language Processing, Machine Learning Fundamentals, Advanced Machine Learning Algorithms, Knowledge Representation.
State Engineering Degree (Ingénieur d'état) in Informatics
Information Systems option
National School of Applied Science of Tangier
2012-2017 (5 years degree)
  • First in Class 2017
  • Google Student Ambassador (2014-2015 + 2015-2016)
  • Computer Science Club Advisor
  • Organizing Member for the Free Software Day (hosting Richard Stallman)
  • Relevant Courses : Image Processing / Computer Vision, Optimization, Operational Research, Graph Theory, Advanced AI, Data Mining and B.I., Algorithms and Complexity, Signal Processing, Calculus, Algebra
Baccaleaureat Degree
Mathematics and Engineering Sciences option (Sc. Maths B)
Lycée Technique Moulay Youssef
  • Obtained with Highest Honors ("Mention Très Bien")
Online Courses (MOOCs)
  • - Deep Learning Specialization (currently enrolled)
  • UWashington - Machine Leaning Foundations
  • Stanford - Machine Learning
  • Stanford - Algorithms: Design and Analysis, Part 1
  • MITx - Intro to CS and Programming Using Python
  • UC Berkeley - Introduction to Artificial Intelligence
  • Udacity - Deep Learning
  • Duke University - Image and Video Processing
  • Udacity - Introduction to Programming Languages
  • EPFL - Introduction à la Programmation Orientée Objet en C++
  • Harvardx - CS50 : Introduction to Computer Science


R&D Intern in Deep Learning
Atos Bull
February 2018 - Now
  • Mission : Human Action Recognition
  • Functionalities : Using Deep Learning models to recognize human actions in video (research internship).
  • Technologies : Python, Tensorflow, Tensorboard, OpenCV
April - September 2017
  • Mission : Predictive Maintenance for HPC systems
  • Functionalities : Timeseries analysis, prediction and classification using Deep Learning models (LSTM) - Log Analysis for failure prediction (using statistical and neural models) - Anomaly detection in metrics - Setting up a Big Data environment for metrics storage and processing
  • Technologies : Python, TensorFlow, Keras, Pandas, OpenTSDV, Grafana, Jupyter Notebook
Lab Intern
LabTIC - National School of Applied Science
December 2016 - January 2017
  • Mission : Arabic Handwriting Recognition
  • Functionalities : Implementing a Machine Learning system to recognize Arabic handwriting.
  • Technologies : C++, Qt, OpenCV
July 2015 (1 month)
  • Mission : Comparing numerical methods for Optimization
  • Functionalities : Implementing and measuring performance and error margin for different Optimization methods.
  • Technologies : Javascript, D3.js
Web Developer (Summer internship)
Capital Consulting - Casablanca, Morocco
July, Augest 2016 (2 months)
  • Mission : Designing and implementing a web application for an NGO that promotes education for underprivileged students.
  • Functionalities : Tracking education and career milestones for selected students, keeping records of donations and donors, visualizing overall statistics.
  • Technologies : Laravel5/PHP, PostgreSQL, Bootstrap,jQuery/JS, Heroku, git


AI & DS TensorFlow, Keras, Scikit-learn, Numpy, Pandas, NLTK, Matlab, OpenCV, R (RStudio)
Programming Python, C++, C, Java, C#, Haskell, Prolog, Common Lisp
Web HTML5, CSS3, PHP (Laravel), JS (jQuery, Angular), Node.js, Bootstrap,
Database Oracle (Optimization, Administration, Distribution), MySQL, MongoDB, Neo4j
Miscellaneous UML, XML, Git, Linux (Bash), Networking, AWS, Latex

Languages English (TOEFL - C2), French (TCF - C2) Arabic (Native), German (elementary).
Interests Cinema, Science and Technology, Blogging, Litterature, Video Games, ..



This section is out of date (wasn't updated since December 2016) and needs some serious dusting. Very soon. Maybe.

Machine Learning

This section is dreadfully lacking, I know. I just recently got involved with Machine Learning and there is so much to learn at once, let alone implement and experiment with. Thus, it will keep seeing updates in the near future.


(internship, work in progress)

Implementing a Machine Learning system to recognize handwritten characters from scanned / photographed pages.

Experimenting with :

  • Neural Networks
  • KNN
  • SVM

The ML algorithms used are implemented from scratch in C++.

User Interface :

I also created a tool to generate image datasets, i.e. to handle extracting and resizing portion of raw images to get labeled, more manageable data. It's especially handy for extracting characters from pages of text containing full sentences, which happen to be the case for all Arabic handwriting datasets that I could find.

The tool is also written in C++ using Qt and OpenCV for handling and resizing the output (Github).


SENTIment ANAlysis for Facebook statuses (using reaction data : Love, Wow, Haha, Sad, Angry).
Used the Naive Bayesian classifier with Python's NLTK.

Developing a web interface to visualize each class probability as well as dominantly sentimental words (words with high correlation with certain classes).

Work in progress : adding bigram support, using WordNet for some extra precision.

Dataset source : here
Code : coming soon


Malin is a GUI for MAchine LearnINg algorithms.

The goal is to develop an interface that is easy to use and interact with, thus simplifying prototyping a quick ML model, while having access to the same parameters as one does when working with a scripting language (minus the scripting part) The algorithms in question are implemented from scratch.
Implemented in C++ and Qt.

The application is *far* from complete, and for now only supports :

  • Linear Regression
  • Logistic Regression
  • K-Nearest Neighbors
  • Random Forest
  • Input files in CSV

PS : "Malin" is French for smart, clever and witty.

Various Machine Learning applications

From Stanford's Machine Learning online course.

The course includes programming assignments (in Matlab) for many applications, including (click on the icon for a screenshot of the project):

  • Linear & logistic regression. Regularization.
  • Neural Networks for classification
  • Support Vector Machines
  • Dimensionality reduction for data compression (1024 to 36)
  • K-Means clusting
  • Anomaly detection
  • Collaborative filtering for recommender systems

Programming / Web

This section will not include the myriad of CRUD apps that we mass-produce for every programming / software engineering class.

Instead, I'll try to only feature the less trivial ones that I enjoyed making.

Image Processing & Computer Vision

To get familiarized with the different notions of Image Processing and Computer Vision, our class assignemnt was to create a graphical interface to visualize the different transformations and filters that could be applied to images (and videos), but also to explore the different tools that come with OpenCV, notably :

  • Low / High passing filters for basic transformations
  • Histogram generation and equalization
  • Edge detection with Canny filter
  • Handling streaming input from webcam / video files via threads.

For the class project in Stereovision (extration of 3D information from two or more 2D images), I implemented two methods to get depth information :

  • Using Similarity Measuring to generate a depth map estimation.
  • Using Harris' corner detection to detect the movement of interest points.

The code (and screenshots) is in Github.


A simple interactive interface that tracks finger movements (using special colored rings) to detect basic gestures.

The user can choose the color and number of colors to track, and link specific tasks (following the trail, writing, drawing ..) to specific gestures.

A Project Management Application in Java

TeamPro is a Project Management Application that can be used to share information, files and important dates between team members. Users can :

  • Create a new project / join an existing project
  • Add members to the project's team
  • Chat in real time with the other members
  • Add tasks to the To Do list that defines the overall progress in the project
  • Add events and milestones to the project calendar
  • Share files within the project's group

The user interface () is based on Swing and is personalizable via themes.

A calendar widget has been developped from scratch to add the abiliy to interact directly with it to add, update or remove events.

Simulated Annealing for the Jobshop Scheduling problem

The Jobshop Scheduling Problem (JSP) is an NP-Hard optimization problem that is basically a more general case of the Traveling Salesman. Because no known algorithm can solve the problem deterministically, many a method of approximating the solution and avoiding local minima exist, called Metaheuristics. These methods run in linear time (in O(t) with t the number of iterations dictated by the user) and can reach good results in a reasonable amount of time.

This project also included reading research papers in the field (for the first time ever!) to choose which metaheuristic method to implement, which is far less trivial than it looks ("Why write in pseudocode when we can use math notation and vague terms to explain the algorithm!").

Aside for some bona-fide, ad-hoc hacking, the code seems to work : Github .

Touchscreen POS system interface

(freelancing experience)

The mission was to develop an interface for the POS terminal that is web-based.

In addition to displaying sold items and quantities in stock, the app should also generate formated, print-ready bills and invoices for custumers.

It also registers the sales (persisted on a local database) so that the shop manager can visualize information such as periodic turnover, stock data and inventory and register incoming supply.

A visual keyboard was developped using jQuery and bound to all input fields.

Little gallery :


Here are some websites that I've created :

School's Forum (Business Fair)

School's Lab website

Website concept for the Local Center of Technical Innovation

Other / Coursework

  • AI for Pacman using A* search.
  • Deploying a distributed database with Oracle.
  • Operation research algorithms implemented in C (Github).
  • HTML lexer in Python (PLY).
  • Single Queue simulator in Java.
  • A C implementation of RSA to secure communication between 2 Arduinos.
  • Puzzle Solving / Expert Systems in Prolog (Github).
  • Minishell (Github).
  • A brute-force password cracker (Github).
  • Tic-Tac-Toe (with minmax AI) in C and SDL.