- Teaches students:
- Ages 16+
- Teaching since:
One of the joys of being a computer scientist is that, over the years, it has brought me to learn and practice a wide variety of topics and themes. For a forever curious mind, this cannot be beat.
I have built simulations of the energy performance of green buildings, static analyses that discovered security issues in the Linux kernel, robots that play soccer, virtual model of the 3d shape of human bodies across its whole great diversity of shape and ethnicities, help build a blockchain based currency system that will help folks in the poorest regions of the world operate without banks, and so much more.
In a standard university context, I taught the Intro to Programming course many times and in different versions, and helped teach the programming language theory course. During these years, I developed a mental map of the difficulties students encounter on their way to mastery and a repertoire of teaching techniques to help with each difficulty.
Provided leadership to a team of 20 software engineers, planned and executed technical development programs, and contribute to the construction of Body Labs’ software that understands body shape from 2d images and video
Contributed to the refinement and implementation of a novel block chain algorithm invented by Stanford Professor David Mazières that seeks to be the first federated distributed consensus protocol that provides strong safety guarantees and anti-censorship guarantees+ Read More
Collaborated with the Learning Sciences Department to construct award-winning models and evidence on the behavior of novice programmers' interactions with their compiler's error messages. Proceeded per lean methods: rapid hypothesis generation, validation, and pivoting. Invented an evidence-supported UX design which is live at wescheme.org, the cloud ide used by one of the official curriculums of code.org+ Read More
Audited the group's communications for scientific accuracy. Authored policy memos. Ran training to improve our members' scientific literacy, and increase their confidence when communicating scientific concepts.
Taught Principles of Programming, based on the book How to Design Programs.
Managed multiple concurrent projects and coordinated the work of many development contractors. Analyzed key business data using time series Fourier models and linear optimization models. Constructed information management dashboards for the president's office, including their UX-design+ Read More
Researched whole-program static analysis of the Security Enhanced Linux Kernel and detected novel vulnerabilities. Patented a technique to make C programs analyzable by tools designed for Java (Patent #7,493,602 — Methods and Arrangements for Unified Program Analysis)+ Read More
Guillaume helped me with material in my Data Science course coding with Python. He taught me carefully and systematically write code, using a method that helped me understand the material and the process behind it much as we progressed. He was always patient and encouraging. I appreciated learning with steady instruction, feedback, and a sense of independence. Guillaume's teaching depended my understanding of my course and helped me think about widley-applicable concepts in coding.+ Read More