<html>
    <head>
        <script src="https://unpkg.com/feather-icons"></script>
        <title>Resume - Danila Fedorin</title>
        <link href="css/style.css" rel="stylesheet">
    </head>
    <body>
        <header>
            <div class="name">Danila Fedorin</div>
            <div class="contact">
                <div class="contact-item">
                    <i data-feather="home" class="contact-content"></i>
                    <div class="contact-content">Corvallis, OR</div>
                </div>
                <div class="contact-item">
                    <i data-feather="phone" class="contact-content"></i>
                    <div class="contact-content">(503) 702 0929</div>
                </div>
                <div class="contact-item">
                    <i data-feather="mail" class="contact-content"></i>
                    <div class="contact-content">danila.fedorin@gmail.com</div>
                </div>
            </div>
        </header>

        <hr>

        <main>
            <section>
                <h1>Education</h1>
                <div class="section-content">
                    <em class="italic">Bachelor of Science</em>, Oregon State University, Major: Computer Science | Minor: Mathematics - Completed June 2020 • <em class="bold">4.0 GPA</em><br>
                    <em class="italic">Master of Science</em>, Oregon State University, Computer Science - Expected June 2022 • <em class="bold">4.0 GPA</em>
                </div>
            </section>
            <section>
                <h1>Skills</h1>

                <div class="section-content">
                    <em class="italic">Programming Languages:</em> C, C++, Haskell, Elm, Idris, Crystal, Kotlin, Java, Python, JavaScript, Coq, Nix, Haxe<br>
                    <em class="italic">Languages:</em> English (native), Russian (native), French (conversational, DELF B1 certification) <br>
                    <em class="italic">Additional Skills:</em> Compiler design, formal verification, algorithms, low-level development.<br>
                </div>
            </section>
            <section>
                <h1>Projects</h1>
                <div class="section-content">
                    <!--
                    <div class="project-container">
                        <a class="project-link" href="https://github.com/DanilaFe/abcs">
                            <h2>abcs</h2>
                            <i data-feather="link" class="project-link-icon"></i>
                        </a> &mdash;
                        Calculator program with a complete embedded programming language.
                    </div> -->
                    <!--
                    <div class="project-container">
                        <a class="project-link" href="https://github.com/DanilaFe/AdventOfCode-2020">
                            <h2>aoc</h2>
                            <i data-feather="link" class="project-link-icon"></i>
                        </a> &mdash;
                        Solutions for Advent of Code 2020 problems, with select puzzles formalized using Coq.
                    </div> -->
                    <div class="project-container">
                        <a class="project-link" href="https://dev.danilafe.com/Web-Projects/blog-static/src/branch/master/code/compiler">
                            <h2>bloglang</h2>
                            <i data-feather="link" class="project-link-icon"></i>
                        </a> &mdash;
                        Compiler for a purely functional, lazily evaluated language explained in-depth on <a href="https://danilafe.com/blog/00_compiler_intro/">personal blog</a>.
                    </div>
                    <div class="project-container">
                        <a class="project-link" href="https://github.com/DanilaFe/maypop">
                            <h2>maypop</h2>
                            <i data-feather="link" class="project-link-icon"></i>
                        </a> &mdash;
                        Instructional implementation of a dependently typed functional programming language capable of formal proofs.
                    </div>
                    <!--
                    <div class="project-container">
                        <a class="project-link" href="https://github.com/DanilaFe/chalk">
                            <h2>chalk</h2>
                            <i data-feather="link" class="project-link-icon"></i>
                        </a> &mdash;
                        Compiler from a small imperative language into CHIP-8 bytecode.
                    </div>
                    -->
                    <div class="project-container">
                        <a class="project-link" href="https://github.com/DanilaFe/pegasus">
                            <h2>pegasus</h2>
                            <i data-feather="link" class="project-link-icon"></i>
                        </a> &mdash;
                        LALR parser generator currently supporting the C and Crystal languages.
                    </div>
                    <div class="project-container">
                        <a class="project-link" href="https://github.com/DanilaFe/Scylla">
                            <h2>scylla</h2>
                            <i data-feather="link" class="project-link-icon"></i>
                        </a> &mdash;
                        Elm-based purely functional front end for the Matrix chat protocol.
                    </div>
                </div>
            </section>
            <section>
                <h1>Publications</h1>

                <div class="section-content">
                    J&aacute;come Cunha, Mihai Dan, Martin Erwig, <em class="bold">Danila Fedorin</em>, Alex Grejuc: <em class="italic">Explaining spreadsheets with spreadsheets (short paper).</em><br>
                    <span style="display: inline-block; width: 20px"></span>GPCE 2018: 161-167
                </div>
            </section>
            <section>
                <h1>Work Experience</h1>

                <div class="section-content">
                    <div class="position">
                        <h2>Research Assistant, Programming Language Theory</h2>
                        <div class="position-location">Oregon State University, Corvallis, OR | Spring 2018 - Present</div>
                        <ul>
                            <li>Formalized denotational and operational semantics of new <em class="bold">explanation-oriented programming languages.</em></li>
                            <li>Devised and implemented language to explain behavior of spreadsheets to new users.</li>
                            <li>Developed tooling in <em class="bold">Haskell</em> to interpret, verify, generate, and debug programming languages.</li>
                            <li>Contributed to <em class="bold">research paper</em> published to the International Conference on Generative Programming.</li>
                        </ul>
                    </div>

                    <div class="position">
                        <h2>Undergraduate Teaching Assistant, Programming Language Theory, CS 381</h2>
                        <div class="position-location">Oregon State University, Corvallis, OR | Winter 2020 - Spring 2020</div>
                        <ul>
                            <li>Engaged in weekly question-and-answer sessions regarding course topics.</li>
                            <li>Aided students in implementing a final project in the form of a <em class="bold">custom programming language</em>.</li>
                            <li>Proctored <em class="bold">quizzes and exams</em> for over 200 students.</li>
                            <li>Organized <em class="bold">independent review sessions</em> attended by over 70 students.</li>
                        </ul>
                    </div>
                </div>
            </section>
            <section>
                <h1>Additional Experience</h1>

                <div class="section-content">
                    <div class="position">
                        <h2>Technical Writer</h2>
                        <div class="position-location">Independent | Spring 2015 - Present</div>
                        <ul>
                            <li>Designed and published website currently live at <a href="https://danilafe.com">danilafe.com</a>.</li>
                            <li>Authored blog posts on topics spanning data structures, web development, programming languages, and compilers.</li>
                            <li>Formalized and described solutions to select Advent of Code problems using <em class="bold">Coq</em>.</li>
                            <li>Created <em class="bold">14-part series</em> on compiler development, walking readers through lexing, parsing, compilation using LLVM,
                                garbage collection, and polymorphic type checking.</li>
                        </ul>
                    </div>

                    <div class="position">
                        <h2>Lead Programmer</h2>
                        <div class="position-location">Northwest Advanced Programming Workshop, Portland, OR | Summer 2017</div>
                        <ul>
                            <li>Designed and implemented a <em class="bold">desktop calculator</em> application with a focus on usability and feature-completeness.</li>
                            <li>Worked on a variety of components, including parsing input through a custom regular expression engine, evaluating expressions through Taylor Series, and UI design.</li>
                            <li>Profiled and debugged application using <em class="bold">VisualVM</em> in order to find inefficiencies, reducing computation time by 60%.</li>
                            <li>Led a small team using the <em class="bold">git version control system</em>.</li>
                            <li>Exercised public speaking and communication skills by reporting progress to supervisor and presenting to other teams.</li>
                        </ul>
                    </div>

                    <div class="position">
                        <h2>Game Developer</h2>
                        <div class="position-location">Oregon Game Project Challenge, Portland, OR | Spring 2016 and 2017 </div>
                        <ul>
                            <li>Worked in a team to complete video game to be presented at main event.</li>
                            <li>Created a game engine from scratch using <em class="bold">Entity Component Systems</em> architecture.</li>
                            <li>Used <em class="bold">OpenGL shaders</em> and normal mapping to create 2D-shadow system.</li>
                            <li>Developed novel interaction between physical components (<em class="bold">microcontrollers</em>) and the video game for multi-user cooperation.</li>
                        </ul>
                    </div>
                </div>
            </section>
            <section>
                <h1>Honors and Awards</h1>
                <div class="section-content">
                    <ul>
                        <li><em class="italic">Drucilla Shepard Smith Award</em> —  Awarded to students maintaining a GPA of 4.0 while attending Oregon State University.</li>
                        <li><em class="italic">Honor Roll (all terms)</em> — Awarded to students maintaining a full credit load and a GPA above 3.5.</li>
                        <li><em class="italic">International Baccalaureate Diploma Scholarship</em> — $1,000/term scholarship awarded to recipients of the IB Diploma.</li>
                        <li><em class="italic">Finalist</em> — Google Code-In 2016, online competition in which participants
                            complete tasks for open-source projects.</li>
                    </ul>
                </div>
            </section>
        </main>

        <script>
            feather.replace()
        </script>
    </body>
</html>