Bachelor of Science, Oregon State University, Major: Computer Science | Minor: Mathematics - Completed June 2020 • 4.0 GPA
Master of Science, Oregon State University, Computer Science - Expected June 2022
Education
Skills
Programming Languages: C, C++, Haskell, Elm, Crystal, Kotlin, Java, Python, JavaScript, Haxe
Languages: English (native), Russian (native), French (conversational, DELF B1 certification)
Additional Skills: Compiler design, formal verification, algorithms, low-level development.
Languages: English (native), Russian (native), French (conversational, DELF B1 certification)
Additional Skills: Compiler design, formal verification, algorithms, low-level development.
Projects
abcs
— Calculator program with a complete embedded programming language.bloglang
— Compiler for a purely functional, lazily evaluated language explained in-depth on my blog.chalk
— Compiler from a small imperative language into CHIP-8 bytecode.pegasus
— LALR parser generator currently supporting the C and Crystal languages.scylla
— Elm-based purely functional front end for the Matrix chat protocol.Publications
Jácome Cunha, Mihai Dan, Martin Erwig, Danila Fedorin, Alex Grejuc: Explaining spreadsheets with spreadsheets (short paper).
GPCE 2018: 161-167
GPCE 2018: 161-167
Experience
Research Assistant, Programming Language Theory
Oregon State University, Corvallis, OR | Spring 2018 - Present
- Devised and implemented language to explain behavior of spreadsheets to new users.
- Developed tooling in Haskell to verify, generate, and debug the explanation language.
- Contributed to research paper published to the International Conference on Generative Programming.
- Formalized operational semantics of new explanation-oriented programming language.
Blog Author
Independent | Spring 2015 - Present
- Designed and published website currently live at danilafe.com.
- Authored blog posts on topics spanning data structures, web development, programming languages, and compilers.
- Created 11-part series on compiler development, walking readers through lexing, parsing, compilation using LLVM, garbage collection, and polymorphic type checking.
Undergraduate Teaching Assistant, Programming Language Theory, CS 381
Oregon State University, Corvallis, OR | Winter 2020 - Spring 2020
- Engaged in weekly question-and-answer sessions regarding course topics.
- Aided students in implementing a final project in the form of a custom programming language.
- Proctored quizzes and exams for over 200 students.
- Hosted independent review sessions attended by over 70 students.
Lead Programmer
Northwest Advanced Programming Workshop, Portland, OR | Summer 2017
- Designed and implemented a desktop calculator application with a focus on usability and feature-completeness.
- Worked on a variety of components, including parsing input through a custom regular expression engine, evaluating expressions through Taylor Series, and UI design.
- Profiled and debugged application using VisualVM in order to find inefficiencies, reducing computation time by 60%.
- Led a small team using the git version control system.
- Exercised public speaking and communication skills by reporting progress to supervisor and presenting to other teams.
Game Developer
Oregon Game Project Challenge, Portland, OR | Spring 2016 and 2017
- Worked in a team to complete video game to be presented at main event.
- Created a game engine from scratch using Entity Component Systems architecture.
- Used OpenGL shaders and normal mapping to create 2D-shadow system.
- Developed novel interaction between physical components (microcontrollers) and the video game for multi-user cooperation.
Honors and Awards
- Drucilla Shepard Smith Award — Awarded to students maintaining a GPA of 4.0 while attending Oregon State University.
- Honor Roll (all terms) — Awarded to students maintaining a full credit load and a GPA above 3.5.
- International Baccalaureate Diploma Scholarship — $1,000/term scholarship awarded to recipients of the IB Diploma.
- Finalist — Google Code-In 2016, online competition in which participants complete tasks for open-source projects.