B.S. Computer Science · University of North Carolina at Chapel Hill · May 2026
scroll ↓I am a Computer Science student at the University of North Carolina at Chapel Hill, graduating in May 2026 with a B.S. in Computer Science. I have been on the Dean's List for Fall 2024, Spring 2025, and Fall 2025.
I currently work as a researcher at UNC's Experimental Engineering Lab, leading development of a real-time 3D visualization of the Swayambhu Temple in Nepal. The project spans photogrammetry pipelines, VR environments, and full-stack tooling, bridging computer science and cultural heritage preservation.
I am pursuing a career in Software Engineering or Data Analytics, with interests in machine learning, computer graphics, and full-stack development. Outside of CS, I enjoy running, photography, and reading.
UNC Computer Science showcases foundational AI research powering discoveries across Carolina
Coverage of CoreAI Discovery Day, UNC CS's inaugural AI research showcase featuring lightning talks, spotlight demonstrations, and a research fair. The event highlighted foundational AI research spanning computer vision, machine learning, and robotics.
Engineered an AI-powered after-hours phone agent using Vapi, TypeScript, and Express. Handles full call flows from intake through scheduling and emergency dispatch via a webhook-driven backend.
Enhanced small-object detection accuracy by integrating SimAM and Bi-FPN modules into the YOLOv8 architecture using PyTorch. Evaluated trade-offs between feature fusion depth and detection precision.
Studies the fundamental principles of compression underlying today's most widely used video standards — H.264, H.265, and AV1 — and segment-based adaptive streaming techniques that power video-on-demand services such as Netflix. Takes a research-based approach; students read and evaluate papers in the multimedia research literature and formulate their own research questions for a final group project.
Introduction to digital logic as well as the structure and electronic design of modern processors. Students implement a working computer during the laboratory sessions.
Hands-on introduction to techniques in computational photography — the process of digitally recording light and performing computational manipulations. Covers relevant concepts in computer vision and graphics.
Applies machine learning to problems in speech recognition, tracking, collaborative filtering, and recommendation systems. Topics include classification, regression, support vector machines, Hidden Markov models, PCA, and deep learning.
Formal specification and verification of programs with techniques of algorithm analysis. Covers problem-solving paradigms including divide-and-conquer, dynamic programming, and greedy algorithms, plus a survey of selected algorithms.
Organization and scheduling of software engineering projects, structured programming, and design. Teams design, code, and debug components and synthesize them into a tested, documented program product.
Independent research conducted under the direct mentorship of a computer science faculty member. Open to computer science majors by instructor permission.
Introduction to the theory of computation covering finite automata, regular languages, pushdown automata, context-free languages, and Turing machines. Addresses the limits of computation and undecidable problems.
Development of web applications with both client-side and server-side programming, emphasizing Model-View-Controller architecture, AJAX, RESTful services, and database interaction.
Introduction to computer organization and design covering microprocessor conceptual design and assembly programming. Topics include binary numbers, arithmetic, instruction representation, logic gates, and CPU design fundamentals.
Students learn how to reason about how their code is structured and identify effective organizational approaches. Equips students with tools for structuring code in larger programs and professional contexts.
Introduces discrete structures — sets, tuples, relations, functions, graphs, and trees — and the formal mathematics of logic, proof, and induction used to establish their properties. Develops problem-solving skills through puzzles relevant to computer science.
The first course in the introductory systems sequence, bridging the gap between high-level programming languages and computer organization. Examines how programs execute at the hardware level.
Teaches how to organize program data so that manipulation of that data can be done efficiently on large problems. Students learn how data structures are constructed in programming libraries and understand their design rationale.
Introduces students to programming from a computational perspective. Topics include data types, sequences, logic, control flow, functions, recursion, classes, and data organization, with emphasis on modern applications and ethics in computing.