What's new?

I am currently working with Chung-chieh Shan and Sam Tobin-Hochstadt on live evaluation of programming artifacts for novices.
Look out for updates about this project before December 2020.


  • BSL Live Evaluator

    A live evaluator for the Beginning Student Language. Prototype evaluator intended to be used for beginning computer science students at Indiana University under the supervision of Chung-chieh Shan and Sam Tobin-Hochstadt.
    In progress, Summer 2020.
    Tools used: TypeScript, React, Mocha.

    Project repository
  • Automated Lighthouse Testing

    Tests a set of given websites for accessibility and performance using Google Lighthouse's JavaScript API.
    Created for Indiana University's Office for the Vice Provost of Education.
    Completed, Spring 2020.
    Tools used: MongoDB, Express, Angular.

    Project repository
  • Character Recognizer

    Given a set of character training data, builds a model for the prediction of alphanumeric characters. with ~90% accuracy. Class project for Introduction to Artificial Intelligence.
    Completed, Spring 2019.
    Tools used: Python, Keras, TensorFlow.

    Project repository

Relevant coursework

  • Algorithm Analysis

    Algorithm design methodology. General methods for analysis of algorithms. Analysis of the performance of specific algorithms, such as those for searching and sorting.

  • Programming Languages

    Systematic approach to programming languages. Relationships among languages, properties, features of languages, and the computer environment necessary to use languages.

  • Data Structures

    Systematic study of data structures encountered in computing problems, structure and use of storage media, methods of representing structured data, and techniques for operating on data structures.

  • Introduction to Artificial Intelligence

    Introduction to modeling techniques, neural networks, problem-solving methods, heuristics, search, logic, knowledge representation, machine learning, and production systems.

  • Introduction to Software Systems

    Introduction to a modern object-oriented programming language, building and maintaining large projects, and understanding the operating system interface.

  • Introduction to Computer Science

    A first course in computer science for those intending to take advanced computer science courses. Introduction to programming and to algorithm design and analysis.