Danila Fedorin
Corvallis, OR
(503) 702 0929
danila.fedorin@gmail.com

Education

Bachelor of Science, Major: Computer Science | Minor: Mathematics - Achieved June 2020 • 4.0 GPA
Master of Science, Computer Science - Expected June 2022

Skills

Programming Languages: C, C++, Haskell, Kotlin, Java, Python, JavaScript, Haxe
Languages: English (native), Russian (native), French (conversational, DELF B1 certification)
Operating Systems: MacOS, Linux
Additional Skills: Compiler design, algorithms, low-level development.

Projects

abcs

Calculator program with a complete embedded programming language.

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

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

  • 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.