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

Name | Harrando Ismail |
---|---|
Age | 24 years old |
Nationality | Moroccan |
harrando.ismail (at) gmail.com | |
Links |
Github |
Master of Science in Informatics (MoSiG) |
Artificial Intelligence Specialization |
Grenoble INP Ensimag / UGA IM²AG |
2017-2018 |
|
State Engineering Degree (Ingénieur d'état) in Informatics |
Information Systems option |
National School of Applied Science of Tangier |
2012-2017 (5 years degree) |
|
Baccaleaureat Degree |
Mathematics and Engineering Sciences option (Sc. Maths B) |
Lycée Technique Moulay Youssef |
2009-2012 |
|
Online Courses (MOOCs) |
|
R&D Intern in Deep Learning |
Atos Bull |
February 2018 - Now |
|
April - September 2017 |
|
Lab Intern |
LabTIC - National School of Applied Science |
December 2016 - January 2017 |
|
July 2015 (1 month) |
|
Web Developer (Summer internship) |
Capital Consulting - Casablanca, Morocco |
July, Augest 2016 (2 months) |
|
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, Socket.io |
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.
(internship, work in progress)
Implementing a Machine Learning system to recognize handwritten characters from scanned / photographed pages.
Experimenting with :
The ML algorithms used are implemented from scratch in C++.
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).
Machine learning Computer vision Classification
C++ OpenCV Qt
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
Sentiment Analysis Naive Bayes Natural Language Processing
Python NLTK
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 :
PS : "Malin" is French for smart, clever and witty.
Machine Learning Model Prototyping Interface
C++ Qt
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 Regression Logistic Regression Neural Networks SVM PCA Anomaly Detection CompressionCollaborative Filtering
Matlab
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.
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 :
For the class project in Stereovision (extration of 3D information from two or more 2D images), I implemented two methods to get depth information :
The code (and screenshots) is in Github.
Image Processing Computer Vision
C++ OpenCV Visual Studio
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.
Computer Vision Wireless interface HCI
C++ OpenCV Qt
TeamPro is a Project Management Application that can be used to share information, files and important dates between team members. Users can :
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.
Project Management Application
Java Swing OkHttp MongoDB Node.js Socket.io
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 .
Jobshop Scheduling Problem NP Hard Optimization Metaheuristics Simulated Annealing
Java Swing jFreeChart
(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.
Self-service
PHP jQuery
Python Oracle DBMS C Prolog C++ SDL