fall-reflection
(date of writing: 18 Dec 2024)
Wow, second to last semester of my undergrad! Big semester for me. Here's the reflection.
This course was largely the second half of Dummit and Foote, but with some more advanced topics sprinkled in. After briefly reviewing groups, rings, fields, ideals, and their many variants, we covered modules, tensors of modules, the universal property of tensor-ed modules, field extensions, short exact sequences, localizations, ring spectrums, basic algebraic geometry, category theory and the categories of rings and modules, and basic representation theory (our Prof, Iva, is a representation theorist!).
Yeah, Beefy! Module theory and its connections to algebraic geometry and representation theory was easily my favorite part of the course, as there's loose but present connections to numerical linear algebra.
In my zeal, I thought it'd be a fantastic idea to skip Algebra 1 and take Algebra 2. "I know Galois theory!" I told myself; "you got As in Advanced Groups and Number Theory 2," I told myself. "I'll be fiiiiine," negligent me said. Boy, was I wrong! The homeworks and content were so rough, and I barely cleared Bs on the hws and final.
note: I took this course officially as a research credit (CS4991) with my research advisor being the professor of CS7670. I had to do this because Northeastern sadly does not allow undergrads to take more than four graduate-level cs course :<
Modern distributed systems, in a nutshell! Cristina Nita-Rotaru is a great professor (and, also a great research advisor); her and I had many great offline talks about the content. A big part of the course was studying how real-world systems. Extremely helpful and informative.
As for the basics, we covered logical clocks, lamport clocks, distributed consensus in synchronous and asynchronous settings, byzantine consensus, n-phase commits, and of course Paxos and Raft. A huge portion of the course was studying current research and real-world systems: we covered Spanner, BigTable, Tensorflow, Blockchain (and the slew of problematic software built on top of them), the modern systems research scene, etc. Check out the excellent list of papers in the syllabus.
Ryan and I formalized the Ripple consensus algorithm, the protocol behind XRP. TL;DR, the protocol is trash, and Ripple is trash. Sorry for the violent take - see the report/slides.
Kind of a sleeper class, I'm not going to lie. Standard point-set topology via Munkres and Lee; brief detours into category theory and algebraic topology. This class taught me I'm pretty poor at drawing intuitions for abstract semi-visual concepts, so I thugged through the hws with proof strategies I copped from the textbooks.
Extremely chill class! All the classical theorems about regular graphs, colorings, planar graphs, isomorphisms, matchings, etc. The prof, Gabor Lippner, grew up in Hungary and so heavily abided by the Hungarian Mathematics Pedagogy; that is, a nice balance between teaching, discussion, problem solving, and struggling on hard problems. One class was dedicated to lecture, and the other was dedicated to working on the weekly hws. Shoutout to Luisa for carrying me :D
Yeah, as aforementioned Northeastern only lets students take four graduate-level computer science courses, so had to audit this one. Sucks! The class was fantastic. Joshua Gancher, our newly hired assistant prof out of Bryan Parno's group at CMU, has incredible depth of knowledge in the space between cryptography, security, and programming languages. This area is absolutely my shit, so paper discussions would often devolve into Gancher and I plunging into detail and leaving the six poor PhD students in the class to watch in horror. If you'll indulge me, check out the course page. Hell, check out Parno's work too. It's all great.
Research-wise, things seem to be going super well, and I'm super excited to continue my work into the Spring :D
Wow, second to last semester of my undergrad! Big semester for me. Here's the reflection.
Courses
MATH5112 - Abstract Algebra 2
W,TH 9:50-11:30This course was largely the second half of Dummit and Foote, but with some more advanced topics sprinkled in. After briefly reviewing groups, rings, fields, ideals, and their many variants, we covered modules, tensors of modules, the universal property of tensor-ed modules, field extensions, short exact sequences, localizations, ring spectrums, basic algebraic geometry, category theory and the categories of rings and modules, and basic representation theory (our Prof, Iva, is a representation theorist!).
Yeah, Beefy! Module theory and its connections to algebraic geometry and representation theory was easily my favorite part of the course, as there's loose but present connections to numerical linear algebra.
In my zeal, I thought it'd be a fantastic idea to skip Algebra 1 and take Algebra 2. "I know Galois theory!" I told myself; "you got As in Advanced Groups and Number Theory 2," I told myself. "I'll be fiiiiine," negligent me said. Boy, was I wrong! The homeworks and content were so rough, and I barely cleared Bs on the hws and final.
CS7670 - Distributed Systems
TU,F 1:35-3:15note: I took this course officially as a research credit (CS4991) with my research advisor being the professor of CS7670. I had to do this because Northeastern sadly does not allow undergrads to take more than four graduate-level cs course :<
Modern distributed systems, in a nutshell! Cristina Nita-Rotaru is a great professor (and, also a great research advisor); her and I had many great offline talks about the content. A big part of the course was studying how real-world systems. Extremely helpful and informative.
As for the basics, we covered logical clocks, lamport clocks, distributed consensus in synchronous and asynchronous settings, byzantine consensus, n-phase commits, and of course Paxos and Raft. A huge portion of the course was studying current research and real-world systems: we covered Spanner, BigTable, Tensorflow, Blockchain (and the slew of problematic software built on top of them), the modern systems research scene, etc. Check out the excellent list of papers in the syllabus.
Ryan and I formalized the Ripple consensus algorithm, the protocol behind XRP. TL;DR, the protocol is trash, and Ripple is trash. Sorry for the violent take - see the report/slides.
MATH4565 - Topology
T,F 9:50-11:30Kind of a sleeper class, I'm not going to lie. Standard point-set topology via Munkres and Lee; brief detours into category theory and algebraic topology. This class taught me I'm pretty poor at drawing intuitions for abstract semi-visual concepts, so I thugged through the hws with proof strategies I copped from the textbooks.
MATH3545 - Graph Theory
M,W 11:45-1:25Extremely chill class! All the classical theorems about regular graphs, colorings, planar graphs, isomorphisms, matchings, etc. The prof, Gabor Lippner, grew up in Hungary and so heavily abided by the Hungarian Mathematics Pedagogy; that is, a nice balance between teaching, discussion, problem solving, and struggling on hard problems. One class was dedicated to lecture, and the other was dedicated to working on the weekly hws. Shoutout to Luisa for carrying me :D
(Audit) CS7480 - Special Topics in PL: Formal Security for Cryptography
TU,F 3:30-5:05Yeah, as aforementioned Northeastern only lets students take four graduate-level computer science courses, so had to audit this one. Sucks! The class was fantastic. Joshua Gancher, our newly hired assistant prof out of Bryan Parno's group at CMU, has incredible depth of knowledge in the space between cryptography, security, and programming languages. This area is absolutely my shit, so paper discussions would often devolve into Gancher and I plunging into detail and leaving the six poor PhD students in the class to watch in horror. If you'll indulge me, check out the course page. Hell, check out Parno's work too. It's all great.
Research
Though my classes were great, the biggest event of this semester was applying to PhD programs — nine in total. I applied to fellowships, awards, the whole nine yards. So, research-wise this semester involved mostly capping off my work in prep for apps. This involved paper-ifying my Korg proofs and extensions, my Matrix work from 7670, and my opinions on Julia. I also wrote up the work on LOBPCG I did through my uni's math REU, some of my lore following my SCTP paper, and the details behind the model checking heuristics I worked on at Oxford. I also presented at USENIX Security (pic, more lore), Conference on Language Modeling (pic), and NeurIPS (super cool pic)! Yeah, I had a busy semester.Research-wise, things seem to be going super well, and I'm super excited to continue my work into the Spring :D
Cybersecurity
I had a nice time competing in CPTC and Cybeforce with the Northeastern CCDC team as always! Learned a lot, and looking forward to the CCDC season in the Spring!← 2024