Home Projects


Setting up a Webpage - 2023 Spring Colloquium Workshop

If you’re here for the companion resource to my 2023 UNC LING Spring Colloquium workshop, you can find it here. A PDF version is also available here.

Grad School Application Projects

Before getting into UNC, I studied natural language processing and algorithms and data structures. To practice the concepts I learned, I created the projects below.

Rather than just having the projects speak for themselves, I felt it was important for me to document how they came to be, something you can’t really do just with comments and doc-strings in code. I wanted to show that process in terms of problem-solving, so I outlined the major challenges I encountered and how I approached them. Lastly, describing the process was highly beneficial to my learning! As anyone wont to do rubber duck debugging can tell you, explaining something can make yourself understand it much better.

Natural Language Processing

I have been studying Natural Language Processing through Jurafsky and Martin’s (2021) Speech and Language Processing. The projects below were created primarily as a way of practicing the concepts I had just learned. Some of these projects were prompted directly by exercises or pseudocode from the textbook, such as the edit distance and n-gram projects, but even in those cases, I try to add more features or a unique spin to the projects.

Chapter 2 - Minimum Edit Distance Calculator (Code)

Chapter 3 - N-gram Sentence Generator (Code)

Chapter 4 - Naive Bayes Sentiment Classifier (Code)

Chapter 5 (In Progress!) - Logistic Regression Sentiment Classifier (Code)

Algorithms and Data Structures

I have been taking an algorithms and data structures course on Coursera, which is modeled after Sedgewick & Wayne’s (2011) Algorithms textbook and taught by the authors. The course is a MOOC, but it includes several assignments and an autograder which grades them and provides feedback. Taking this course has been an enlightening experience so far, and I look forward to applying what I am learning to the linguistics projects above, when applicable. I am also grateful for the opportunity to practice Java, which is the required language for the assignments and is what the course uses when teaching algorithm implementations.

Coursera’s honor code forbids me from posting the assignment solutions on the internet. However, if you’re here from my application materials and would like to see them, I’m happy to send them to you! Feel free to email me; my address is at the bottom of the sidebar. I can either send them as a zip file, provide you a Google Drive link, or add you to my private GitHub repository for the course.


Here’s how and why I created this website:

Site (Code)

Trending Tags