alek

Alek Westover

CV

Alek Westover cv (pdf) If you are interested in hiring me for Software Engineering, Tutoring, or are interested in doing a project with me, please reach out (alekw at mit dot edu)!

Tutoring

I enjoy teaching / tutoring about math, computer science and coding. If you're interested in help for a class or learning math / coding yourself please reach out! See my CV for some of my qualifications. Some of my past teaching experience includes:
  • Tutoring Algebra II, precalculus, calculus to high schoolers
  • Multivariable calculus / Linear Algebra tutoring (Harvard's Math 21)
  • TAing for a Real analysis / Linear Algebra class (Harvard's Math 23)
  • Tutoring discrete math and algorithms classes at MIT
  • Teaching people to code in python, and javascript

Endorsements:

  • "Alek's love for math is contagious -- not only are his explanations very clear, his excitement with the subject is inescapable. He is brilliant at solving problems, but even better at working through the logic with other people and helping them understand why to care. He's an incredibly fun person to talk about math with, and things I've learned from him have stuck with me -- I cannot recommend him highly enough as a tutor."

Programming

I enjoy programming. I have made a lot of games, and computers that play games.
I have also explored lots of topics in computer science, such as parallel processing, and machine learning. Here are some brief descriptions of some projects I have worked on, with cool pictures and links to associated code.

Computer Science:

Parallel-Partition Research Project

In 2019 I was accepted into MIT PRIMES, a program that gives mentored research opportunities to talented high school students. Under the mentorship of William Kuszmaul I designed and implemented a cache optimal algorithm for the fundamental parallel partition problem. Through this project I gained experience with parallel computing and understanding of the role of memory hierarchy in efficient computing. Visualization of the algorithm

Parallel-Partition on GitHub

Cup Game Research Project

In my second year participating in MIT PRIMES I did more theoretical computer science research on the cup game. The cup game is a classic problem in computer science that models work scheduling. In the cup game on n cups, a filler and an emptier take turns adding and removing water from cups (i.e. new tasks come in and the scheduler must allocate processors to handle the incoming work). On each round the filler will distribute some new amount of water among the cups, and the emptier will remove some amount of water from some of the cups. The filler can distribute the water however it wants (as long as it places at most 1 water in each cup), but the emptier has an added "discretization constraint": it can only remove water from some fixed number of cups. The problem is to analyze how well each player can do, that is, how much water can the filler force to be in the fullest cup, and what is the upper bound on this fill that an appropriate emptying strategy can guarantee? We study several variants of the problem and answer some open questions.

Cup Games GitHub
The Variable Processor Cup Game ITCS 21

Machine Learning

AI

Some programs that play games, like chopsticks, and tick tack toe, and maze solving. Featuring: reinforcement learning, simulated anealing, genetic algorithms, and more!

AI

webdev / backend

chatTest

This is probably my first use of socketio. It is hosted on Heroku with a nodejs backend. You specify a name, it gives a nice color to you based on your name, and then you can do instant messaging with anyone else on the site!

Chat app

Math / CS Teaching:

Skyspace

I started this blog because I have learned a lot of cool things and want to share them. I love to do this in person, but I think that there is also something valuable about making a more structured presentation of ideas. This website will hopefully:

  • Help me better understand some cool ideas
  • Help me better remember some cool ideas
  • Help me better explain some cool ideas
  • Teach some people some cool ideas
I plan to mainly focus on math, but I will also do some more programming related things.

Skyspace

CoronaCodingClub

Purpose: Teach some python, have some fun. Socialize during the quarantine. I organized this club to help teach some of my peers how to code while we had a month off of school because of the coronavirus.

CoronaCodingClub on GitHub
CoronaCodingClub

Games:

theland

theland is probably the best game ever made. In this multiplayer game you control a herd of animals as they travel around the screen. These animals are subject to needs such as hunger, and old age. Using these animals you may seek out enemies to attack, or other users to attack. Play for glory in defeating other players, and play to reach the top of the leaderboard (if you have a registered acount). Enjoy the stunning landscape which is composed of colorfull (quad)trees and natural resources (e.g. pizza).

theland

theknightdawns

This game is a really huge RPG that I made in C++ (yeah!) with SFML. It's very modular, so you can add your own plots and characters and worlds by just editing a few jsons!

theknightdawns on github

slipscape

I think that making a 3D game would be really awesome. This is an attempt at using WEBGL (with the three.js wrapper) to make a cool 3d game. There is a block based world that you can move around in, and interact with mobs in.

Slipscape

enchantedForest

This game is the start of an amazing RPG. Me and Kevin thought about this game a lot, and started implementing it in js. We have big plans for the protagonist Bob, and are planning on writing a large plot for the game! The in game weather is one of the coolest features of this game, right next to the seeking mobs.

enchantedForest

face-color

This app (with python backend hosted on Heroku) reads data from your webcam (be sure to grant it access!). You can take a picture with it, and it will use k-means to quantize your picture into a few regions of similar color. Then it will make these regions random colors. Note: this is how I generated the picture of myself at the top of this website! (Although I ran a much higher res picture through the algorithm, on the website I don't want to send a lot of data, because I have Heroku free tier, so if you want a similar picture, download the source code from github)

face-color

coolGames

There are a lot of cool games stored here, click the link to find out more.

coolGames

littleGames

These games are mostly hackathon projects. They are in various stages of completion. The projects here include:

  • warcross
  • revenants
  • snalek
  • thesea
  • thewild
  • theC
littleGames

Jumper

In this game you must jump or duck to avoid obstacles.

Jumper

Asteroids

Control acceleration and orientation. Do not hit the asteroids except with your bullets.

Asteroids

Math

I love math. It is beautiful. Here are some cool pictures related to math:

Reading

I love reading. My favorite books tend to be fantasy, science fiction, and Math / Computer Science books. Here are my top reccomendations:

Fantasy / Science Fiction

Mistborn
The Chronicles of Narnia
The Lord of the Rings
Stormlight Archive
Les Miserables

Math / Computer Science

Algorithms by Jeff Erickson
Mathematical Puzzles: A Connoisseur's Collection
Algorithms in C++
Feynman Lectures on Computation
Luenberger's Optimization by Vector Space Methods
Axler's Linear Algebra Done Right
The Probabilistic Method
Randomized Algorithms

Brandon Sanderson is my favorite author. I made a webscrapper find Sanderson quotes that people liked, and compiled them. You can look through them here:
QUOTE