André Luís Mendes Fakhoury

Software Engineer | Ph.D. Student | ICPC World Finalist '22 and '23

About Me

I am a Ph.D. student in Computer Science at the University of Sao Paulo, where I also earned my Bachelor of Science in Computer Science. My research focuses on Machine Learning and Data Mining, with a particular interest in Time Series Classification and Extrinsic Regression. My Ph.D. work explores the balance between efficiency and effectiveness in time series classification. Alongside my academic pursuits, I enjoy competitive programming, where I continue to learn about new Algorithms and Data Structures. I also have a passion for teaching, and I have experience as a tutor for Competitive Programming, as well as a Teaching Assistant for Introduction to Computer Science, Calculus 2, and several Advanced Algorithms courses.

Work Experience

Software Engineer Intern at Meta (formerly Facebook, Inc)
Team: Network Infra - Network Delivery Systems - Design & Config

Implemented modernizations of the Device Management for Meta's network database through alignment with current industry standards and optimization for future scalability and reliability. Developed expertise in backend development and network infrastructure utilizing Python and C++.

Jan 2022 - Apr 2022.

Some Projects and Activities

Time Series Classification and Extrinsic Regression: New Algorithms to Explore the Trade-Off Between Effectiveness and Efficiency
Ph.D. in Computer Science

The popularization of mobile sensors and other technologies that collect data continuously over time increased the demand for machine-learning algorithms on time series. However, despite several machine learning and data mining techniques proposed in the field during the last decades, there are still unsurpassed challenges in the literature. One of the most common tasks in this domain is time series classification. Another, which has attracted significant attention recently, is extrinsic regression, which has the best results from adaptations of classification algorithms. In this scenario, it is necessary to explore various algorithms to obtain a model that performs well when a new dataset is acquired, in which ROCKET and HIVE-COTE 2.0 stand out. ROCKET is a computationally efficient method that uses convolutional kernels to perform accurately. HIVE-COTE 2.0 is a meta-ensemble with an extremely high training time that reaches the best accuracy rates described in the literature. Therefore, the balance chosen by the presented algorithms between effectiveness and efficiency becomes visible and necessary for large volumes of data. Thus, this research project aims to analyze and explore the trade-off between efficiency and effectiveness in time series classification and extrinsic regression tasks. To that end, we will develop and evaluate new algorithms to understand how to deal with this balance in various classifiers in the literature.

Feb 2023 - Dec 2027 (expected).
Time Series Classification Using the Optimum-Path Forest Algorithm
Data Science and Time Series Data Mining focused research project

Explore the Optimum-Path Forest (OPF) supervised classifier in the time series classification domain. The OPF is a similarity-based technique never explored in time series domains. OPF was tested on 128 datasets from the UCR Time Series Classification Archive, using Dynamic Time Warping (DTW) and Euclidean distances as metrics. OPF results in fair to middling classification error rates (statistically comparable to the Euclidean distance nearest neighbor classifier).

Sep 2022 - Dec 2022. GitHub Repository
Undergraduate Teaching Assistant
University Teaching Assistant for 5 different disciplines in the University of Sao Paulo

Introduction to Computer Science I (2019/1), Calculus II (2019/2), Laboratory of Advanced Algorithms II (2021/2), Laboratory of Advanced Algorithms I (2022/1), and Advanced Algorithms and Applications (2022/2) courses. Provided instructional support to professors by creating and grading exams, projects, and exercises and led weekly exercise-solving and concept review classes. Tutored over 300 students in their first contact with programming, calculus techniques, and advanced computer science topics, resulting in improved skill sets and understanding.

Member, Coordinator, and Tutor of GEMA
University Competitive Programming Study Group

Gave C++, algorithms, and data structures lessons focused on Competitive Programming Collegiate Contests and Olympiad in Informatics to about 100 undergraduate students annually. Some classes are available on YouTube, which has over 15000 views. Managed team formations, lesson schedules, problem sets, and local competitions for 4 years. Competed in several competitive programming contests, such as ICPC, Facebook HackerCup, and Google CodeJam. Obtained good results, including two ICPC World Finals qualifications in 2021 and 2022.

Feb 2018 - Current. Group website
Image curves reconstruction by means of robust features
Computer vision focused scientific initiation project

Contemplated fields of image pre-processing, curvature and robust features calculation, besides curves reconstruction by means of previously extracted important points. Project supported by FAPESP.

Oct 2020 - Sep 2021. GitHub Repository
Advanced Algorithms Complementary Material 🇧🇷
Extra tips and references to Advanced Algorithms, written in Portuguese

Articles and references made for helping the students from Advanced Algorithms disciplines in University of Sao Paulo. Contains begginner-friendly competitive programming topics such general tips, python and C++ guides, greedy algorithms and more.

Notion link.
Member of GANESH
University extension group focused on information security

Wrote blog posts about cryptography and security attacks on Medium platform, participated in Capture the Flag competitions and watched lessons about basics of InfoSec related topics, such as networking, web security, reverse engineering and social privacy.

Feb - Dec 2018. Group website
Member of DATA
University extension group focused on Data Science and Machine Learning

Went to weekly meetings and lessons about Python, key algorithms, machine learning, data pre-processing techniques and frameworks.

Feb - Dec 2019. Group website
Multimedia Information Retrieval
Information retrieval system

Project made for multimedia classes using Python. Given an image, it returns the most similar images from the dataset, applying some concepts seen in multimedia classes, such as a dictionary of visual words and local feature extraction.

July 2021. GitHub Repository
Chess Board Recognition
Recognition of a chess board and pieces using image processing techniques

Project made in Python for Digital Image Processing classes. Aims to recognize a chess position using an image of a chess board as input, applying some techniques of Digital Image Processing and a Convolutional Neural Network.

May - July 2021. GitHub Repository
AI Search Algorithms
Implementation of mazes and search methods on Graphs

Project made in C++ and GNUPLOT for Artificial Intelligence classes.

Sep - Oct 2020. GitHub Repository
Face a Book
Object-oriented program that simulates a library.

Project made in Java for Object-Oriented Programming classes.

May - June 2019. GitHub Repository
C I/O Masks 🇧🇷
Extra class about format specifiers present in C

Tutorial written in Portuguese when I was a T.A. for Introduction to CS.

Apr 2019. GitHub Repository
Genetic Max-Value Calculator
Calculate the maximum value of a function using a genetic algorithm

Project made for Evolutionary Systems classes using JavaScript that calculates the maximum possible value of a two variable function using different types of genetic algorithms.

Nov - Dec 2018. GitHub Repository
BMP Compressor
Compressor to BMP files using Multimedia algorithms

Project developed in C, without using any auxiliary frameworks, for Multimedia classes. It compresses the original BMP file into a compressed binary .bin file, and can later decompress it back to BMP with a small perceptible difference to human eyes.

Apr - June 2021. GitHub Repository
Oblivious Memories
Educational RPG/Visual Novel about World War Two

Final project of my technical degree, aiming to influence the study of History in middle schools. Developed with Unity3D using C#.

Apr - Nov 2017.

Skills

  • C
  • C++
  • Python
  • Java
  • PHP
  • C#
  • PostgreSQL
  • HTML
  • JavaScript
  • MATLAB
  • LaTeX
  • Delphi
  • Portuguese (native)
  • English (advanced)

Awards

  • 4th place (Golden Medal) out of 55 in the 2021-2022 ICPC Brazil Regional Programming Contest - 2022
  • 6th place out of 513 in the 2021-2022 ICPC Brazil Subregional Programming Contest - 2021
  • 4th place out of 64 (Silver Medal) in the 2020-2021 ICPC Latin American Regional Programming Contest - 2021
  • 2nd place out of 799 in the 2020-2021 ICPC Brazil Subregional Programming Contest - 2020
  • 12th place out of 57 in the 2019-2020 ICPC Latin American Regional Programming Contest - 2019
  • 12th place out of 687 in the 2019-2020 ICPC Brazil Subregional Programming Contest - 2019
  • 32th place out of 746 in the 2018-2019 ICPC Brazil Subregional Programming Contest - 2018
  • 25th place out of 1821 (Honorable Mention) in the Brazilian Olympiad in Informatics (OBI) - 2018
  • First Place in the Regional Mathematical Olympiad of Unesp Bauru for Public Schools (ORMUB) - 2017
  • Bronze Medal in the Brazilian Physics Olympiad for Public Schools (OBFEP) - 2016
  • Bronze Medal in the Brazilian Astronomy Olympiad (OBA) - 2016