Boston University Logo

a summary of the relevant coursework i've completed

CS111 - Intro to Computer Science I

This was the first CS class I took in college. Though I already had experience coding in python, this class really strengthened my understanding of the fundamentals. We covered topics like object-oriented programming and recursion. These concepts were applied through increasingly complex weekly problem sets, many which I enjoyed.

Difficulty: 4/10

Grade: B+

CS112 - Intro to Computer Science II

This class was Data Structures and Algorithms, where I first built upon the foundations of object-oriented programming and recursion from CS111, this time using Java. Then, we covered the major topics in DSA including algorithm analysis, linked lists, stacks, queues, trees, heaps, and hashing. We also covered a variety of algorithms for searching and sorting.

Difficulty: 5/10

Grade: B+

CS210 - Computer Systems

In CS210, we gained a deep understanding of how computer systems work. We began at the level of binary signals and built up our understanding of each level up to low level programming languages. The course covered the circuits, CPU design, ISA/assembly programming, and C. We also covered topics in operating systems such as memory-management/caching, virtual memory, and various performative practices.

This class bridged the gap between hardware and software, and provided me with a strong overall understanding of a computer. This has been my favorite CS class i've taken at BU.

Difficulty: 6/10

Grade: A

CS330 - Algorithms

This class largely focused on graph theory. We also covered types of algorithms like greedy and dynamic programming. I found this class to be particularly interesting because the assignments required creative thinking and complex problem solving. I also enjoyed that every major algorithm we learned had very practical applications.

Difficulty: 5/10

Grade: A

CS351 - Distributed Systems

Currently taking...

CS411 - Software Engineering

Currently taking...

CS460 - Databases

Currently taking...


CS131 - Discrete Math/Combinatoric Structures

This class is known to be a difficult one in the program. here we learned about mathematical logic and abstract reasoning to make formal mathematical statements and proofs. We focused on representing and analyzing combinatorial structures commonly used in computer science.

The concepts in this class come up in almost all other CS classes, understandably so, since it teaches us how to reason and precisely express logical situations.

Difficulty: 7/10

Grade: B+

CS132 - Linear Algebra/Geometric Algorithms

In Linear Algebra we covered the fundamental concepts of LA within the computer science department. I enjoyed this class because I believe it had an emphasis on practical application. We applied principles of LA to advanced topics such as Linear Models, Computer Graphics, Markov Chains, and more.

One of my favorite assignments I completed in this class can be found here.

Difficulty: 8/10

Grade: A-

CS237 - Probability in Computing

I didn't really find this class or its assignments interesting. We just covered topics in probability and some statistics. Many topics I already had some level of exposure to, and assignments ended up being pretty difficult.

Difficulty: 6/10

Grade: B+