August 2015 to Spring 2018
Summa Cum Laude (with Highest Honors)
Business Foundations Certificate with Highest Distinction
Endowed Presidential Scholarship Recipient
GPA: 3.97
Graduation: Spring 2018
Immigration/Visa Status: US Citizen
Coursework
I have taken Artificial Intelligence, Data Mining, Network Security And Privacy, Big Data Programming, Cloud Computing, Algorithms and Complexity, Software Engineering, Principles of Computer Systems (better known as Operating Systems), Computer Architecture, Data Structures and Discrete Math. Apart from all of this, I have been involved in independent research as part of a Computional Intelligence research lab.
Spring 2018
CS361S: Network Security And Privacy with Cameron BeasleyISO Team
Conducted by the UT Information Security Office, this course consisted of lectures on common security vulnerabilities, and four large Capture the Flag challenges. In class, various lecturers from the security team
discussed the theory behind certain vulnerabilities and talked about the ways in which each vulnerability could be exploited. The projects were then left intentionally open-ended. 100% of our final grade came from Capture the Flag
projects. I spent a lot of time on but also deeply enjoyed these projects.
Although I do not have plans to work in security, I think it is crucial for all software engineers to consider security vulnerabilties when building their applications.
CS378: Cloud Computing with Devdatta KulkarniProfessor Website
This course discussed the theory behind common Cloud products. Most notably, we read papers and talked about the architecture behind Dynamo, Kubernetes, Docker, and PaaS solutions.
Fall 2017
CS343: Artificial Intelligence with Dr. Risto MiikkulainenCourse Website
This was largely a project-based class. We worked on OpenNERO, "an open source software
platform designed for research and education in Artificial Intelligence." Personally, I did not find a large portion of the projects to be particularly useful.
The slides and content of the course was still interesting. The topics covered can be viewed at https://www.cs.utexas.edu/users/risto/cs343/schedule.html.
Course Website
We talked about and worked a lot with MapReduce techniques and design patterns. The first half of the course focused purely on Java Hadoop MapReduce with some tools
such as Avro and Maven. In the second half, we switched to using Spark and talked about some other current Big Data Tools.
Professor Profile
This was one of my favorite courses last semester. The course was split up into Classification, Clustering, and Association Analysis. We tried to go into as much depth
as possible while covering a broad range of topics and data mining techniques. There were assignments to implement algorithms such as creating and pruning decision trees,
nearest neighbors, DBSCAN, hierarchical clustering, FP Growth, sequence mining, and more. We covered a lot and I certainly enjoyed the course.
Spring 2017
CS373: Software Engineering with Dr. Glenn DowningCourse Website
Overall, this is a fantanstic class and it is a must-take, not because of the content specifically,
but because of the teaching style of Professor Downing. That said, the content is oriented towards
getting students prepared for modern software engineering. We focus on testing and using tools such
as AWS, ReactJS, SQLAlchemy, coverage, Docker, CI, Pylint, and PostgresSQL.
CS331: Algorithms and Complexity with Dr. Dana Moshkovitz
Professor Website
This class focuses on Algorithm design and complexity theory. We learn about Dynamic Programming,
Divide and Conquer, Graph Theory, Network Flow, Linear Programming, NP, Approximation, and
Computability to name a few.
Fall 2016
CS439: Principles of Computer Systems (OS) with Dr. Alison NormanCourse Website
This has been one of my favorite courses at UT. This intensive class convers topics
related to systems programming in general (synchronization, deadlocks, security, etc.)
and the development of operating systems. As projects, we had to design and implement
various parts of the OS (User Programs, Virtual Memory, File System). It was a lot of
work and a lot of fun.
This course lasted two semesters and was offered as part of the
FRI (Freshman Research
Initiative) program. The course covers evolutionary algorithms with
a focus on genetic algorithms, neural networks, 3D printing, and surrogate-based
optimization. In the first semester, we learned about these techniques and used
them in short projects.
The second semester, though, was left as independent
research. We were free to choose any current topic within machine learning
and with guidance from Dr. Tutum, we were to work on the project for the semester.
My partner and I worked on converting chess videos to text. There are several challenges here.
First, we need to be able to recognize and remove the background from an image. Next, we
need to split the chess board into 64 squares. Then, we need to be able to figure out
the square color, presence of a piece, piece color, and piece type for every square.
This requires a large data set and a convolutional neural network. After this step,
we need to be able to decide which frames to pick from a video so that we have a before
and after picture of the board without any interference (hands). Comparing the two images,
we then figure out what squares have changed, feed the sqaures to the neural network
again and maybe update our previous guesses on what each piece on the board really is. For
example, if we think that a piece is a rook but it moves both diagonally and side-to-side
during a game, it must actually have been a queen. Of course, if the video starts from the
beginning of the game, we can be sure what each piece is.
Midterm Report
Final Report
In this manner, there were many challenges that we had to solve during the semester
while working on the project. While the GitHub repository is still private, I have exported
my reports from iPython Notebook and published them here. Feel free to check them out.
The report is certainly not complete and there have been a number of updates to the project
since the time of writing the report as it was rushed to be ready in time for the presentation.
I will update this page if the actual GitHub repository is made public.
Spring 2016
CS429: Computer Organization and Architecture with Dr. Bill YoungCourse Website
The focus of CS429 was the low-level workings of computers. Of course, when I say low-level, it is
relative to the other CS courses. We worked with x86, y86, and C. There were a number of exciting
projects in this class such as the Bomb Lab where you had to use GDB to debug and solve problems in
an interactive lab. The answers could be as simple as a 5 letter word or as complex as a long alpha-numeric
mess. Everytime we submitted a wrong answer, we would lose points on our grade but with the right technique,
such labs were a great experience.
Fall 2015
CS314: Data Structures with Dr. Gordan NovakCourse Website
Having skipped the first CS class using high school credits, this was the first Computer Science
class I took at UT. It covers the fundamentals of CS and of course, data structures. We talked
about Big O, recursion, trees, linked lists, arrays, stacks/queues, etc. Apart from this, we
also covered Dijkstra's, Prim's, A* search, and MapReduce.