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
Work 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.
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.
Additional Experience
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.
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.