William Caron‑Bastarache
Montreal, QC · Open to internships

William Caron‑Bastarache

Computer Science student at Université de Montréal building robust, data-driven systems at the intersection of quantitative analysis and software engineering.

About

I design structured, reproducible systems that transform raw data into measurable insight.

I primarily work with Python and Java, with a strong focus on clean architecture and analytical correctness.

I work on a Linux workstation I built and maintain myself, which is where the data pipelines and databases behind my projects actually run.

B.Sc. Computer Science (2024–2027, expected)
Université de Montréal
Montreal, Canada
Artificial Intelligence, Statistics, Finance, Software Development, Open-source software, Fitness

Skills

Programming

Python, Java, SQL, Bash, C, HTML/CSS, JavaScript/TypeScript

Data & ML

PostgreSQL, Pandas, NumPy, scikit-learn, Matplotlib, psycopg

Backend

FastAPI, REST APIs, asyncio, Docker

Frontend

React, Next.js

Testing & Quality

pytest, JUnit, JaCoCo, PIT, GitHub Actions (CI/CD)

Tools

Git, GitHub, Linux, Make, Maven, Power BI, Claude Code, IntelliJ, VS Code, LaTeX

Systems

pthreads, POSIX, Valgrind, gdb, CMake

Familiar with

OCaml, Assembly, VHDL

Java
Python

Portfolio

In Progress

Completed

Systems / C · IFT 2245
Building Operating System Components in C
Five systems written from scratch in C: a Unix shell, a multicore scheduler, a virtual memory manager with TLB and demand paging, a FAT32 reader, and a Turing machine interpreter. Graded against performance baselines with Valgrind penalties.
Algorithms / Python · IFT 2125
Implementing and Benchmarking Classic Algorithms
Stable matching, greedy against dynamic programming, and closest pair of points, each implemented then benchmarked on the same inputs. Two of the three results contradicted the intuition, including a greedy that was both slower and worse than the exact solution.
Software
MaVille — Java CLI (Maven, REST)
CLI application simulating a city management system. Includes resident and contractor profiles, notifications, data persistence, and integration with a public REST API. Built with Maven and tested with JUnit.
Software Quality
AutoParams (JUnit 5) — Presentation
Presentation and demo of AutoParams for JUnit 5. Automatic test data generation, reduced boilerplate, and exploration of key annotations (@AutoSource, @Repeat, @Freeze).
Software Quality
Unit Testing & Mutation Testing
Added targeted unit tests to the open-source GraphHopper project with JaCoCo and PIT analysis. Before/after comparison, edge cases, realistic data generation (java-faker), and measured improvements in test robustness.
DevOps / CI
GitHub Actions & Quality Gate
Built a CI pipeline with a PIT regression quality gate. Persisted baseline via cache, automated score comparison, report upload, and strict validation across all branches.

Experience

Incoming Data Scientist Intern — Optimisation
BRP
Québec, QC — Winter 2027

Incoming intern focused on optimisation, data analysis, and quantitative methods applied to operational problems.

Lifeguard
City of Brossard
Brossard, QC — 2022 – present

Ensure swimmer safety in busy pools; respond to emergency situations; communicate effectively with the team.

Night Receptionist
Hotel Labelle
Montreal, QC — 2024

Manage night front-desk operations; maintain service continuity and site security; coordinate and prioritize guest requests.

Swimming Instructor
Cégep Édouard‑Montpetit
Longueuil, QC — 2022

Teach swimming to diverse groups; adapt teaching methods to skill levels; foster progression and participant confidence.

Volunteer
École internationale Lucille‑Teasdale
Brossard, QC — 2016 – 2021

Assist with renovations; support fundraising campaigns; contribute to event preparation and organization.

Education

Université de Montréal
B.Sc. Computer Science
2024 – 2027 (expected)

Relevant coursework: Software Engineering, Algorithms & Data Structures, Operating Systems, Probability & Statistics, Linear Optimisation, Economics

Cégep Édouard‑Montpetit
DEC Administration
2021 – 2024

Administration profile with mathematics.

École internationale Lucille‑Teasdale
High School Diploma
2017 – 2021

International Education Programme (IEP)

Certificates

Claude Code in Action
Anthropic Academy

Coursework

Selected university courses & short descriptions.

IFT 1015 — Introduction to Programming 1

Introduction to core programming concepts and techniques.

IFT 1025 — Introduction to Programming 2

Follow-up programming course; software construction.

IFT 2015 — Data Structures

ADTs; trees, dictionaries, priority queues, graphs.

IFT 2035 — Programming Language Concepts

Execution models, parameter passing, paradigms.

IFT 2105 — Theory of Computing

Automata/regex, grammars, computability, complexity.

IFT 2255 — Software Engineering

Lifecycle, analysis/modeling, OO design, debugging.

IFT 3913 — Software Quality and Metrics

QA, standards, tests/reviews, product/process metrics.

IFT 1215 — Introduction to Computer Systems

Foundations of computer systems.

IFT 1227 — Computer Architecture 1

Fundamentals of architecture.

MAT 1600 — Linear Algebra

Systems, vector spaces, transformations, diagonalization.

MAT 1400 — Calculus 1

Differential and integral calculus, functions, limits, derivatives.

MAT 1978 — Probability and Statistics

Distributions, LLN/CLT, inference, regression.

ECN 1000 — Principles of Economics

Opportunity cost, supply and demand, consumer choice, firm production decisions, competitive markets, monopoly, efficiency and international trade.

ECN 1700 — Economics and Globalization

Economic analysis of globalization issues and international economic dynamics.

IFT 1065 — Discrete Structures in Computer Science

Propositional logic. Sets. Sequences and functions. Algorithms. Boolean matrices. Mathematical reasoning and induction. Combinatorics. Recurrence relations. Graphs and trees.

IFT 1005 — Web Design and Development

Introduction to the Internet and the Web. Markup languages and validation. Web standards and accessibility. Style sheets for text and graphics. Web design principles. Site optimization. Forms and interactivity. Introduction to content management systems.

IFT 2505 — Linear Optimization

Linear models. Simplex method. Duality. Post-optimization. Sensitivity analysis. Problems with particular structures. Integer models. Cutting plane methods. Branch and bound.

IFT 2245 — Operating Systems

Main functions. Parallelism management. Synchronization. Deadlock. Scheduling. Memory and I/O management. Files. Protection and distributed systems.

STT 1700 — Introduction to Statistics

Data description and production. Probabilities. Inference. Confidence intervals and hypothesis tests. Count data. Contingency tables. Simple linear regression. Note: use of software package.

IFT 2125 — Introduction to Algorithms

Algorithm design and analysis. Asymptotic notation, recurrence relations. Greedy algorithms, divide-and-conquer, dynamic programming, graph traversal, backtracking, probabilistic algorithms.

Contact

438‑321‑0532
Montreal, QC, Canada