Christian Cosgrove

CS MSE Student at Johns Hopkins University

Experience with computer vision (adversarial examples) and NLP (large-scale language models)


Johns Hopkins University

Fall 2020 M.S.E. Computer Science (expected)
Spring 2020 B.S. Physics, Computer Science (double major)


Adversarial Examples for Edge Detection: They Exist, and They Transfer

Christian Cosgrove and Alan L. Yuille

Published in WACV 2020

Work Experience

Microsoft Project Turing

Software Engineer - Summer 2020

Researched and applied large-scale language models to several product scenarios.


Software Engineer - Summer 2019

Developed, pushed into production, and piloted an NLP+information retrieval system for Microsoft Advertising.

Slalom Consulting

Software Engineer - Summer 2018

Researched, designed, and developed a proof-of-concept distributed ledger application for the reinsurance industry.

All projects below were developed from scratch with minimal use of third-party libraries. The only outside libraries used in my OpenGL projects are GLM, SFML, and SDL.

In all projects that involve numerical analysis (except for Diffusion Monte Carlo), I started from first-principles ODEs and PDEs, implemented numerical schemes from scratch, and then tailored them to the problem at hand. Techniques used include the finite difference method, the finite element method, Verlet integration, and successive over-relaxation.

Infinite-Detail Planet Renderer

September 2014–February 2015

Planet Rendering is a fully-featured procedural planet simulator. I wrote it as an independent research project for a high school computer science class.

To implement infinitely detailed terrain, I developed a custom recursive geometry subdivision algorithm.

It supports multiple planets and includes a gravitational N-body simulator.

Languages & Technologies: C++, OpenGL, SDL

Minecraft Clone

January 2014–February 2014

Block Testing was my first C++ and OpenGL project. It is the precursor to a voxel game like Minecraft. It incorporates an infinite, procedurally generated world.

In writing Block Testing, I taught myself low-level memory management and 3D computer graphics.

The engine features shader effects like parallax mapping, which makes textures "pop."

Languages & Technologies: C++, OpenGL, SFML

… and much more! Contact me: