Ayush Nag

Computer Science Student
University of Washington, Seattle

I’m at UW studying Computer Science. I enjoy building things, coffee, and music of all genres. I am interested in software engineering for research in areas like climate science, oceanography, and aerospace.

Most of my code is on GitHub and here is my resumé. I enjoy meeting new people and am happy to talk about almost anything — feel free to reach out by sending me an email.

Awards/Honors

  • Washington NASA Space Grant (SOPHY)
  • Mary Gates Research Scholarship (SOPHY)
  • UW CSE Honors Program
  • Projects

    SWOT L2 SSH cloud-based dashboard
    The JPL SWOT satellite aims to make the first global survey of Earth's surface water, observe the fine details of the ocean's surface topography, and measure how water bodies change over time. I have built a cloud (AWS) based dashboard to visualize and analyze SWOT sea surface height (SSH) data. This tool makes the SWOT L2 product accessible to researchers by allowing them to subset, visualize, and export data within their Python/Jupyter environment. Our approach is to make use of cloud computing techniques such as chunking and lazy loading to efficiently visualize the data. A fast backend data source is crucial so the user can scroll around, and change settings while the dashboard can make updates rapidly.

    SOPHY Database
    Importing, cleaning, and merging ~15 in situ datasets using Python, SQLite, and web API’s. Data exploration and access using Datasette SQLite package. Jupyter notebook for geospatial data visualization and oceanography code integration

    PrismNotes
    I built the PrismNotes app to reduce test anxiety and combat mental health issues for students by providing a notes organization tool to create digital notebooks from handwritten notes. I worked in Android Studio using Java, Microsoft’s Computer Vision API, and JSON

    UW Campus Maps
    ReactJS app to find the shortest path between campus buildings. Java engine that handle core logic of the application (model) with ReactJS front-end (view) hosted on Spark server (controller). Djisktra.java implements Dijkstra’s algorithm to find the shortest path between two nodes in a weighted, undirected graph. Heavy use of Java generics so model can be scaled for a variety of graph applications.

    Java Chess (Magic BitBoard)
    Java Chess engine that uses a Magic BitBoard to represent the board state. The board is represented as a 2D array of 64 squares (8x8). Each bit represents a square on the board. The Magic BitBoard is a bitwise OR of all the squares that are occupied by a piece. This allows for fast and efficient board state representation and manipulation.

    Java Wordle Game
    Java Wordle game based on the popular NYT Wordle game. User interaction is through the command line interface. Words are checked from pre-loaded dictionary set. Built during a quiet Thursday afternoon.

    Coursework

    Core

  • CSE 444: Database Systems
  • CSE 421: Algorithms
  • CSE 484: Computer Security
  • CSE 480: Computer Ethics
  • CSE 452: Distributed Systems
  • CSE 455: Computer Vision
  • CSE 446: Machine Learning
  • CSE 333: Systems Programming
  • CSE 351: Hardware Software Interface
  • CSE 332: Data Structures and Parallelization
  • CSE 331: Software Design and Implementation
  • CSE 311: Foundations of Computing (Discrete Math)
  • CSE 312: Foundations of Computing (Probability for CS)
  • CSE 142/143: Computer Programming I/II
  • Supplementary
  • CSE 599A: Company-Building from Formation to Exit
  • CSE 490A: Software Entrepreneurship
  • MATH 124/125/126: Calculus I/II/III
  • MATH 208: Linear Algebra
  • MATH 207: Differential Equations