John Ohanian

Academic Facts

Classes I've Taken


Class Name Skills Learned
Object Oriented Programming C++, Classes/Objects, Inheritance, Polymorphism
Intro to Data Structures Queue, Stack, Graph, Hash Tables
Software Construction Git, Bash/Scripting, React, Connecting Front/Back End
Algorithms Sort, Search, Dynamic Programming, BFS/DFS/Dijkstra
Intro to Operating Systems Paging, Concurrency, I/O Systems, File Systems, Process/Memory Management
Computer Networking TCP/UDP, HTTP 1.0-3.0, DNS, Server Creation/Management
Software Engineering Google Cloud Services, Building/Testing/Deploying Websites, Gerrit
Data Management Systems Writing Queries, SQL Standard, Database Management
Machine Learning Decision Trees, K-NN, Perceptron, Linear/Logistic Regression
Intro to AI Search Engines/Algorithms, CSPs
Web Applications HTML, CSS, Javascript, Dynamic Websites
Note: A lot of classes and skills were excluded from this list in order to make it cleaner and more orderly. For a full list of classes and skills, please reach out to me personally.

Projects


  • GREEN AGENDA: A NATURE INSPIRED TO-DO LIST: This is a website that I made as a group project. It's an online checklist with a lot of helpful features, like a pomodoro counter, a progress bar, and a little tree that grows as tasks get completed.
  • Brewin Interpreter: This is an interpreter created for a custom UCLA themed language called "Brewin". It uses a parser and builds an AST, which then compiles your program and outputs into your terminal. Lexical scoping, dynamic typing, and recursion are some of the features I built into the interpreter.
  • Simple HTTP Server: This is a simple http server I made as a paired programming project that operates on the application layer. It handles HTTP requests and responses, and acts as a reverse proxy to a famous Rick Astley video.
  • TCP Replica: This is a TCP replica that I made as a paired programming project that operates on the transport layer. It incorporates all important TCP features, such as losslessness, reliability, and flow control.
  • Dune Worm Animation: This is a simple animation I made as a paired programming project. It's a simple animation of a Sandworm from Dune that oscillates through the desert. The animation was created using a custom library called tiny-graphics that is used at UCLA.
  • Blackjack Game: This is a terminal based Blackjack game I created. Spending money at casinos is rabbit hole, and online gambling is no better, so I created something that will scratch my Blackjack itch without risking my bank account