Overview
I started the OMSCS program in Fall of 2023 with the intention of switching careers. The rise of LLMs also made me want to study artificial intelligence in an academic setting to brace for what seemed like a profound change in work and society. I didn’t want to get left behind, and I didn’t want to use a tool I didn’t understand.
Below is a summary of the courses I have taken. I attended commencement last weekend in Atlanta and officialy got out after two challenging but fruitful years.
| Course | Semester | My Rating (out of 5) |
|---|---|---|
| Machine Learning for Trading | Fall 2023 | 3.5 |
| Graduate Introduction to Operating Systems | Spring 2024 | 5 |
| Computer Networks | Spring 2024 | 2 |
| Graduate Algorithms | Fall 2024 | 4 |
| Introduction to Information Security | Fall 2024 | 3.5 |
| Artificial Intelligence | Spring 2025 | 4 |
| Advanced Operating Systems | Spring 2025 | 4 |
| Deep Learning | Summer 2025 | 5 |
| System Design in Cloud Computing | Fall 2025 | 4 |
| Database System Implementation | Fall 2025 | 4 |
Machine Learning for Trading - Fall 23
I had little CS knowledge heading into the program. This course was recommended as a gentle introduction to the pace and format of OMSCS and also to machine learning. The lectures were prerecorded by Dr. Tucker Balch who was no longer at the school. They were somewhat dated, but concise and easy to digest. The content was directly relevant to our homework projects (this is not always the case with other classes). Topics covered included decision trees/forests, reinforcement learning (Q-learning), ensemble learners, and using pandas and NumPy to extract, process, and train on stock data. All coding was done in Python. The course also taught basic finance knowledge ranging from technical vs. fundamental analysis to the risk in naked options. Instructors communicated via a forum (Ed Discussion) and office hours.
I appreciated the organized structure of the course and the availability of the TAs who held office hours daily. The material was interesting. The finance knowledge was both educational and instructive for what individual investors should and shouldn’t do. The machine learning techniques taught were outdated but still served as a useful introduction to the field (we were assigned Tom Mitchell - Machine Learning). As it was my first course and I didn’t know what to expect, I attended nearly all optional office hours and spent time before the semester catching up on background knowledge.
Most of the projects had written deliverables that asked to document our training process. For both the coding and writing portions of the assignments I wished the graders gave more feedback than an occasional one-liner comment. The lack of feedback was partially due to how big the class was. This experience, luckily, was not common to the rest of the program. Grade: A
Graduate Introduction to Operating Systems - Spring 24
GIOS was well-reviewed and one of the most popular classes in the program. From talking with other students I realized the importance of obtaining a solid systems background. The class also has the most active Slack in the program where TAs actively participate.
The assignments taught network programming, IPC (interprocess communication), and RPC (remote procedure call). We used POSIX and C API to create multi-threaded client/server frameworks for file sharing. The last assignment used C++ with gRPC and protobuf. My experience was in line with the reviews. The lectures were clear, organized, and taught many fundamental concepts of computing systems that would come up in subsequent classes. The experience of designing, writing, and testing our implementations was incredibly beneficial my learning.