Natalie Muradyan

About Me

I am a Master of Engineering (MEng) student at the Massachusetts Institute of Technology (MIT) in the MATCHA (Microarchitecture ATtacks and CHAllenges) Group at CSAIL, led by Assistant Professor Mengjia Yan.

I got my Bachelor of Science in Computer Science and Engineering from MIT in June 2023. I love innovation, creativity and hope to one day bring an impact with my work.

Classes

During my time at MIT, I've taken many interesting and challenging classes, some of which include: This Fall semester, I am taking I am also very interested in languages, and so I speak,

Projects (Outdated :D)

Memory Scramble (Spring 2021)

  I worked on this project as part of my Elements of Software Construction class (6.031). The project was to develop a web-hosted Memory Scramble game that supported multiple players playing concurrently on the same board. The challenging part was to resolve race conditions between players. For example, if one user had already clicked on a card and then another user tried clicking on the same card, the second user should've been blocked until the card was available (not controlled by anyone) again. Things could get much more complicated with multiple users waiting on the same card while the game had to continue.

Overall, I enjoyed working on the project, as not only did I improved my skills working with thread safety, concurrency, race conditions, but I also learned that patience and carefulness are important skills in programming. Spending another hour making sure all the cases were correctly addressed pays off when it comes to debugging a large project.




Flashcards (Summer 2020)

  As I study Chinese, I have to remember 100s of characters, know the right tone and the meaning of the words. After trying different apps, I noticed that they don't repeatedly show up the cards I marked as "know good," and then I forgot these words. Instead, I was getting the same card I didn't know over and over again and was seemingly learning it at the moment and then forgetting after 5 minutes. This is why I decided to design my own game, where I decide the frequency of the cards showing.

  In Flashcards, the user controls the game by pushing buttons on the microcontroller. They first see a word on the server, and then they can choose to flip the side of the flashcard to reveal the answer. After that, the user chooses how well they know the answer and add the card to one of 'good,' 'bad,' or 'normal' decks. A new flashcard will then appear, and most frequently will appear the cards in the 'bad' deck, then in the 'normal,' and least frequently the cards in the 'good' deck. This way, the user learns the words they have a hard time memorizing while also repeating the words they already know. The user can change the frequencies and use the flashcards for any purpose. This design was implemented using an ESP32 microcontroller. To add more cards, the user can POST the information to the server, and it will be added to a database, to the corresponding deck if specified, or to a 'bad' deck for starters. Every time the user pushes a button, a GET or POST request is initiated, and the database is updated accordingly. Here is a quick video demonstration of the game.




Whack-A-Mole (Spring 2020)

  This was a project for 6.08 (INtroduction to EECS via Interconnected Embedded Systems), where I worked in a team of 5. We implemented an educational, browser-based Whack-A-Mole game with a grid randomly populated by beavers (because MIT) that bear the correct answer to true/false or multiple choice trivia questions. Using their ESPs, players can navigate the grid by tilting in all four directions and "whack" (bringing the ESP up and then pulling down quickly) the correct beaver to score points.

  There is a choice of single or multiplayer, the latter having two modes — a cooperative version (one player steers the hammer to where the mole is and the other would whack) and a competitive version, which the player can then designate whether they're also scoring for a team. Each game takes 2 minutes; in the competitive version, the player who scores the most at the 1-minute mark could continue scoring while the others would lose the ability to score for 30 seconds ("ghost mode" penalty), incentivizing the players to score better in the first half of the game to gain advantage in the second.

  Throughout the game, a live chat function allows players to send messages up to the chat display (without interrupting the game flow) by pressing a button and recording their message. When the game starts, the ESP's LCD displays a menu that guides the player through the various game parameters above, which are chosen with buttons. The player then records their username (and teamname if applicable). A scoreboard displays the current player's progress and another displays the best whackers of all time (shows at the end of the game).

  The user is also able to query through the history of previous games by inputting the game id of the game they would like to replay. This history is displayed on the browser and is accessible through the main html file. The history of the games is stored every single time a game is played and the board or question to be asked is updated.




Small Speaker (Fall 2020)

  One of the design projects for 2.678 (Electronics for Mechanical Systems) was to use three transistors to build a "Class AB" audio amplifier. Here's the final result. The original song can be found here.




Natalie Muradyan, Նատալի Մուրադյան, Натали Мурадян, 穆娜丽