On August 19th, 2024 I began my undergraduate studies here at Georgia Tech. From the beginning I have been a computer engineering major. While all of the concentrations offered pique my interest, I have chosen to focus on computing hardware & emerging architectures as well as cybersecurity. I look forward to continuing my time here at Tech, and I cannot wait to see what future semesters have in store for me!
Below you can check out some of the relevant courses I have taken, and the takeaways I have gotten from them.
Cumulative GPA: 4.0
This course is in progress in Fall 2025, and we have covered the basics of circuit analysis thus far. This includes the following topics / techniques:
Basic circuit components (batteries, resisitors, capacitors, inductors, etc.)
Ohm's Law
Kirchhoff's Voltage and Current Laws
Voltage and Current Dividers
Node Voltage Analysis
Of course, I am just scratching the surface of the concepts in this course, so I can't wait to delve deeper into the analysis of circuits!
Grade earned: In Progress
I am currently taking this course during the Fall 2025 semester. This course covers programming in C and RISC-V assembly, and I have successfully completed the first assignments dealing with each of these languages. Some of the topics I have learned already are as follows:
Basic C syntax and structure
RISC-V command structure and the single cycle data path
Arithmetic expressions (math, logical, and shifting operations)
Control statements and flow (if / else, while, for, etc.)
I am looking forward to honing my skills in C and RISC-V through this course, which will culminate in a final project. Check back around Winter 2025 for a new page on that project!
Grade earned: In Progress
I am in the process of taking this course during the Fall 2025 semester. At this point in the course, I have learned how to interface with an FPGA through the Quartus Prime software and a development board. Looking into the future, I will do more prototyping of my own on a breadboard, and create more ane more complex digital circuits.
Grade earned: In Progress
This course was another course that I took during my study abroad opportunity in Berlin, Germany (more info here). It dealt with the analysis and design of problem-solving algorithms dealing with the following areas of computer science:
Divide and conquer
Dynamic programming
Graph algorithms
NP-completeness
In covering all of these types of algorithms, this course taught me how to approach problems. Instead of creating novel solutions, sometimes all that is required is to change something that has already been created. I believe the ability to recognize this and effectively adjust previous known information is crucial to find new solutions irrespective of the specific problem.
Grade earned: A
Over the summer of 2025, I studied abroad in Berlin, Germany (more on that here), and this was one of the courses that I took. It covers how developers approach and design large-scale software systems. From the beginning to the end it follows the iterative process through each phase of the design cycle. It also required work on a long-term group project related to Berlin's mass transit system (more on this here). Covered in lecture and reinforced through the project were the following concepts:
Iterative design process
Software design principles (mainly SOLID and GRASP)
Testing and verification techniques
How to design and implement efficient and complex software solutions
This course was a greate experience to get a taste of software engineering. It required effective development and communication skills in order to complete the long-term project. Overall, it helped me solidify good software development practices.
Grade earned: A
Another one of the courses that I took in Spring 2025 was this Digital Design course. As the first ECE course under my belt, it covered the basics of digital design from the transistor level all the way to a complete single-cycle data path. This means the following topics were covered:
Boolean algebra and expressions
Transistor networks (with p- and nMos transistors)
Logic gates and logic gate networks (AND, OR, XOR, NAND, etc.)
Gate-level timing and output analysis
Binary, octal, and hexadecimal number systems
Complex digital logic (Adder, Decoder, Encoder, Multiplexer, Comparator, Shifter, etc.)
Sequential circuits, latches, flip-flops, and registers
State machines (Moore and Mealy)
Single-cycle data path and SRAM
After taking this course, I can firmly say that I have chosen the right major, as this course was extremely interesting. Covering all of the above topics provides exposure to all of the major components of digital circuits. This course has effectively given me all of the fundamentals that I need for designing digital circuits. It also has reinforced my interest in digital logic and electrical design.
Grade earned: A
I took this course in Spring 2025, during my second semester at Georgia Tech. As the name suggests, it covers the mathematical background of computer science covering the following topics:
Methods of proving concepts and algorithms
Inductive and recursive proofs
Algorithmic complexities (mainly time complexity)
Counting and computability
Number principles (theory and algorithms)
This course was one of my favorite courses which I took over the course of my first year. I specifically enjoyed how each proof was approached, and the methodical nature of bringing someone else along your line of thought using previously proven facts to establish a new idea. Of course, the ideas we were proving were not completely new, but it was always satisfying being able to take fundamental principles and put them together into a coherent argument defending a new claim. More than anything, I think this course has taught me how to think critically about all of the things I am learning, and it has given me the tools to question these topics and justify each concept.
Grade earned: A
Spring 2025 was the semester in which I took this course. It covered all of the most common data structures and algorithms, including the following:
All List varieties (SLL, DLL, CSLL, ArrayList)
Stacks and Queues (both array and node based)
Trees (BST, AVL, 2-4 Tree)
Heaps
Hash Maps (open and closed addressing)
Sorting (Cocktail Shaker, Merge, Quick/Kth Select, Radix, Heap)
Pattern Matching (Boyer-Moore, KMP, Rabin-Karp)
Basic Graph Algorithms (DFS, BFS, Dijkstra's, Prim's, Kruskal's)
This course opened my eyes into the world of computing, with specific applications to solve common problems both effectively and efficiently. The weekly homework assignments requiring implementation of all of the above content reinforced the key ideas between them. Most importantly, this course shaped the way I think to be able to algorithmically solve problems in the future.
Grade earned: A
I took this course in the Fall 2024 semester, and the following are some of the topics that were covered.
The backbones of OOP: encapsulation, inheritance, and polymorphism
Basic sorting algorithms: insertion, selection, and bubble sorts
Binary search algorithm
The List ADT and its children: ArrayLists, LinkedLists
JavaFX Applications
Following lecture each week, a project was assigned with the task to implement what was covered in class. In the end, all of the topics above were covered through these weekly projects. This culminated in the final project where I made a Wordle knock-off using JavaFX. Through this course and my decision not to use an IDE, I was able to strengthen my ability to follow good programming practices as well as deepen my knowledge of the concepts. This class was taught in Java.
Grade earned: A