2
[[JEAN-PHILIPPE]{style="color: black"}]{style="background-color: white"}
[[LEGAULT]{style="color: white"}]{style="background-color: black"}
Researcher
Software Developer
``
2
During my master's in Computer Science, I have gained expertise in language runtimes and FPGA development. My broad interests allow me to use lateral thinking to solve complex problems. I can efficiently visualize problems, design solutions, and communicate abstract ideas, allowing me to be an effective team member. My experience in academia, working two years as a senior, and as a lead developer, has shaped me into an effective leader. Working on both commercial and open-source projects has made me adaptable to new workflows.
2018 -- cur. Master in Computer Science University of New Brunswick | NB, Canada
Finished courses and thesis, will defend on November 2020:
FPGA CAD tool (CS6999)
Project-based: Redesign sequential logic synthesis to support multiple clock domain and multiple edge sensitivity in Odin II.
Operating Systems (CS6605)
A comprehensive study of computer operating systems: process synchronization, concurrency, multi-processor systems, virtual memory, advanced file systems, distributed systems. Design an i386 multi-tasking Kernel.
Machine Learning & Data Mining (CS6735)
Cover: inductive inference of decision trees, neural network learning, statistical learning methods, generic algorithms, Bayesian methods, Information-Theoretic classification, and reinforcement learning. Focus on theoretical concepts of machine learning such as inductive bias, the PAC learning framework, Occam's razor, models of noise, uniform convergence, and Fourier analysis methods.
Dynamic Memory Management (CS6905)
Study a statically typed functional language and use it to write interpreters and demonstrating these core concepts. Learn the main techniques of memory management, including allocation, liveness detection, reference counting, compaction, and generational collectors.
2019 Diploma in University teaching University of New Brunswick | NB,
Canada
2015 -- 2017 Bachelor's in Computer Science with Honours University of
New Brunswick | NB, Canada
Honours in FPGA Architecture Design:
Natural Language Processing (CS4765)
Topics include fundamental topics in natural language processing such as n-gram language models, part-of-speech tagging, parsing, lexical semantics, spelling correction, document classification. Students are expected to implement and evaluate a variety of natural language processing methods, as well as write reports describing their implementations and their performance.
Intro to Parallel Processing (CS4745)
Parallel computer architectures, design and analysis of parallel algorithms, parallel programming languages, case studies, selected numerical and non-numerical applications.
Intro to Artificial Intelligence (CS4725)
Introduction to intelligent agent design, problem-solving using search techniques, the use of mathematical logic for knowledge representation and reasoning, decision making under uncertainty, machine learning techniques.
Digital Logic Design (ECE2214)
This is an introductory course to practical aspects of digital systems design. The course includes the design of digital circuits with CAD tools and VHDL hardware description language.
2012 -- 2014 Aerospace Engineering Technician École Nationale d'Aérotechnique | QC, Canada
Completed 56 credit towards a College diploma:
Conceive and fabricate aeronautical parts using Computer-Aided Design
(CAD) tool---Catia V5;
Plan the fabrication step and assembly of the airframe, engines, and
other aeronautical components;
Fabricate elements of the airframe using composite materials and sheet
metal;
Plan of the production, quality assurance and testing process of
aerospace components.
2020 Research Grant Google 30,000$USD for one year towards a reusable Odin II Partial Mapper .
2015 -- 2016 Dean's List University of New Brunswick | Canada Awarded to students who maintained a GPA above 3.7 throughout the academic year
2018 -- 2020 Research Fellowship University of New Brunswick | Canada 23,500$/yr. research fellowship with the Centre for Advanced Studies---Atlantic on the Eclipse OMR project
2015 -- 2016 Sir George E. Foster University of New Brunswick | Canada 2000$/yr. Awarded to students who maintained a GPA above 3.7 throughout the academic year.
2019-2020 Lead Developer Centre for Advance Studies Atlantic | Canada
Maintain the Synthesis tool of the Verilog to Routing Project, Odin II and manage the Odin II project.
Organize meetings (quarterly, weekly and daily scrum)
Take part in steering committee meetings for the project.
Architect design changes and new features for developers to implement
Mentor new developers and carve a roadmap for them.
Manage other developers and review their merge requests.
Fix Bugs and broken features.
Build new features and improve compliance with the synthesizable subset of IEEE-1364-2005 (Verilog 2005)
Improve the tool usability and documentation for both developers and users.
Improve the regression suite to catch bugs and regression in features.
Instructor University of New Brunswick | Canada
CS2263---Systems Software Development
Procedural program development and supporting tools, using the C language. Topics include implementation of data structures, memory management, compilation/linking, building, debugging, and version control.
Teaching Assistant University of New Brunswick | Canada Computability
and Formal Languages
Professional Practices
Professional Practices\
Tutor University of New Brunswick | Canada Operating Systems I (CS3413) Rachelle Potter
2015 -- 2018 Electronic and Software Technician Canada Electronic Parts Online Inc. | Canada
Repairing electronic devices, i.e. smartphones, televisions, computers.
Played a significant role in increasing sales and revenue by increasing outreach.
Broadened the company expertise in electronic repairs and introduced tooling and techniques to repair devices with surface mount components.
Increased repairs success rate and revenue.
Introduced software-based repairs and debugging (i.e. reflashing lost IMEI or CMOS)
Introduced corrupted or defective hard drive data recovery.
2018 -- cur. Eclipse OMR github://eclipse/omr Responsible for initiating the work on the basic implementation of an ARM64V8 specific OMR; This involved making the full suite of hardware operation in the ARM64V8 documentation (or AArch64) available to the JIT compiler. Weekly meetings were held on infrastructure design and implementation. The project was lead by the IBM Runtimes Team in Ottawa, and work was done conjointly with members of the IBM Japan team.
2017 -- cur. Odin II github://verilog-to-routing
Maintain the Front-End Verilog Synthesis tool of the Verilog to Routing Project.
Managing other developers and review their merge requests.
Fix Bugs and broken features.
Build new features and improve the tool usability and documentation for both developers and users.
2019
Feature contract Butterfly Energy Systems
http://www.butterflyenergy.ca
Responsible to track down a null pointer exception in a multithreaded
C++ codebase. I traced back to a race condition because of uncaught
spurious wakes of the threads.
Dr. Kenneth B. KentThesis Supervisor University of New Brunswick |
Fredericton, New Brunswick, Canada [email protected] | +1 506 451 6971
Supervised me during my master's thesis and is the code owner of the
Odin II project.
Dr. Paul CookAssistant Dean University of New Brunswick | Fredericton,
New Brunswick, Canada [email protected] | +1 506 447 3466
Responsible for undergraduate affairs, he was my superior during my work
as an instructor.
Dr. Panos PatrosMentor and External Collaborator University of Waikato,
Waikato, New Zealand
[email protected] | +64 7 838 4651 EXT:4651
Working under the CASA group, he taught me "Introduction to Java." He
later mentored me during my honours thesis, which spun off a joint paper
with him. I am currently mentoring one of his students in New Zealand.
Aaron G. GrahamResearch Assistant University of New Brunswick,
Fredericton, New Brunswick, Canada
[email protected] | +1 506 453 3567
Responsible for managing day to day operations across projects in CASA,
he is my superior on the Eclipse OMR project.