Ethan Sorto Kaplan
Hi! I'm a senior in computer science at the University of Central Florida who plans to graduate in fall 2022. I love programming, problem solving, and automating tedium.
Hi! I'm a senior in computer science at the University of Central Florida who plans to graduate in fall 2022. I love programming, problem solving, and automating tedium.
This will be a Chrome extension to block distracting websites similar in functionality to BlockSite but 100% free and with more features like pausing the block list, allowing redirects from Google for research*, and nestable profiles with schedules to allow for a less-restricted yet still-focused browsing experience. I'm building it to learn more about React, Webpack, Chrome extension development, and to help me focus on my work.
*For example, I'll have Reddit blocked while Googling something but the most useful result might be a Reddit post. If I disable the block list just to view that one post I'll need to remember to reenable it or risk leaving it off and finding myself distracted later. With this feature, I'll allow following links from Google such as Google → Reddit while blocking Reddit → Reddit redirects so that only that single post is viewable.
For senior design, my team used the MERN stack to build a web app that utilizes a spaced-repetition algorithm during a pre-determined ear training course to learn each user's strengths and weaknesses. Then, the app automatically schedules new exercises for them to train in the future. This way, the user never has to ask "what should I study today?" because the app will learn what they're bad at and schedule those exercises for them. While the variety and difficulty of the exercises increase, the user will still be able to focus on training their ears instead of worrying about what to practice.
Skills I improved during this project include: React, MongoDB, Express, Node.js, the WebAudioAPI; managing a team of 5 people; using git for version control.
A simple tool which has saved me hours of repetitive work while making digital flashcards for foreign language vocabulary. Building it was also an excuse to learn useful development skills like managing a website with git over ssh, ssh and git for remote development in general, and building something useful with non-programmers in mind.
*This was the first web app I ever built from scratch so it's not very pretty and limited in functionality. I wrote it in plain Javascript, HTML, and CSS to get a feel for those languages and to learn how to use git for version control. In the future, I plan to rewrite it with a modern framework to add more features like a prettier UI, more languages, a way to save and share word lists, and to give the user the option to add their own sites.
Top 10% of graduating class
Below is a sampling of courses I took during my bachelors degree that I feel are representative of the kind of work I'd like to do.
Covered topics in discrete math including graph theory, combinatorics, logic, and proofs
Used C to write a compiler for a theoretical programming language (which became a real PL once it had a compiler).
Used Python with the packages Numpy, Pandas, Scikit-Learn, and others to build machine learning models for competitions on Kaggle.com.
Studied and implemented various important algorithms and data structures in C and Java
Designed multi-threaded programs in Java.
Learned fundamental web technologies such as CSS, HTML, Javascript, Bootstrap, and NodeJS.
Covered topics in discrete math including graph theory, combinatorics, logic, and proofs
Used MySQL and SQL to build relational databases.
Issued by: Certification Partners (CIW)
Issued: Aug 2019 · No Expiration Date
Credential ID: 60a224a1a8324c9c82df1c907d8063e7
View the official certificate here.