The Tools, Languages, and Technologies I’ve Actually Used in MS-ADS
The following article was written by current MS in Applied Data Science student Yining Mao.
When I started the MS in Applied Data Science program at the University of Chicago, I expected to spend most of my time building machine learning models in Python.
I wasn’t wrong, but I quickly realized that data science is much bigger than machine learning alone. Over the course of the program, I worked with everything from deep learning and computer vision to large language models, knowledge graphs, and AI agents. Many of these technologies were not even on my radar when I applied.
Looking back, the most valuable thing I gained was not mastering any one technology. The tools will continue to change. What the program taught me was how to stay curious, learn quickly, and adapt to new technologies as they emerge. That’s a skill I’ll continue using long after graduation.
Understanding the Technology Behind Large Language Models
One course that significantly shaped my experience was Natural Language Processing.
Like many people, I had been using tools such as ChatGPT long before I understood how they actually worked. I knew they were impressive, but they often felt like a black box. NLP helped bridge that gap.
Throughout the course, we explored concepts such as embeddings, attention mechanisms, transformers, and language modeling. Before that, these were terms I would see in articles or hear people mention in conversations about AI. The course helped connect those concepts to the technologies I was using every day and made modern AI systems feel much less mysterious.
One of the things I found most interesting was learning how large language models generate responses. Before the course, it was easy to think of these systems as somehow “understanding” everything they were saying. Learning how models are trained and how they predict and generate language gave me a much better appreciation for both what they do well and where their limitations come from.
The timing of the course also made it especially exciting. Generative AI was evolving incredibly quickly, and it felt like there was a new model, tool, or breakthrough being announced every week. Instead of simply following the headlines, I was beginning to understand the ideas behind them.
Outside of class, this sparked my interest in generative AI and led me to experiment with models such as GPT, Gemini, and Claude. It also pushed me to explore areas beyond the models themselves. Through projects, hackathons, and independent learning, I became interested in topics such as prompt engineering, retrieval augmented generation, knowledge graphs, and AI agents.
Exploring Deep Learning Through Computer Vision
One of my favorite courses in the program was Computer Vision.
Before taking the course, I had used plenty of AI-powered image tools, but I had never really thought about what was happening behind the scenes. Through coursework and projects, I learned how computers process and interpret visual information using deep learning models.
I worked with Convolutional Neural Networks, transfer learning, and Vision Transformers using PyTorch. One assignment involved training image classification models and comparing how different architectures performed on the same task. Another focused on neural style transfer, where we used deep learning to blend the content of one image with the artistic style of another. It was surprisingly fun to watch a simple yoga pose photograph transform into something that looked like a Van Gogh painting while still keeping the original pose intact.
The course also introduced me to Vision Transformers, which quickly became one of the most interesting topics for me. Since I was learning about transformers in Natural Language Processing the quarter before, it was fascinating to see similar ideas being applied to images. It helped me better understand why transformer-based architectures have become so influential across so many areas of AI.
We also explored some of the newer tools that have made computer vision so exciting in recent years. I had the opportunity to experiment with models such as YOLO for object detection, SAM for image segmentation, GANs for image generation, and DragGAN for image editing. Many of these were technologies I had seen in videos or social media demos but never fully understood. Being able to work with them firsthand helped me appreciate both how powerful these models are and how much research and engineering goes into making them work.
Building AI Agents and Knowledge Graphs

One of my favorite experiences was participating in the AI + Science Hackathon. Our team worked with conversational data and explored how AI could turn long transcripts into something more organized and useful. We developed a system that transformed conversations into a knowledge graph, making it easier to see connections between people, topics, and ideas.
What made the project especially interesting was that we did not rely on a single LLM call. Instead, we built a workflow where multiple AI agents handled different parts of the process. Some agents focused on extracting information from the transcripts, while others organized the information, checked relationships, and helped retrieve relevant insights.
Before working on this project, I mostly thought of AI as a chatbot that answers questions. The hackathon showed me a different side of AI. The challenge was no longer just generating text. It was figuring out how to structure information, connect different pieces together, and build a system that could actually help users find what they were looking for.
Projects like this showed me how quickly the field is evolving. Increasingly, AI systems are expected to retrieve information, reason through tasks, and interact with external tools rather than simply generate responses. It also made me realize that some of the most interesting work in AI happens around the model itself: how information is organized, how different components work together, and how the overall system is designed.