C3Idv8ylYpFDQqlwsq904A==spring 2026
Background: not an SWE but fair amount of coding experience and systems courses such as GIOS, AOS, DC, CN, undergrad OS, computer architecture, DSA. Having taken all of those systems courses was definitely helpful for understanding the assigned readings.
I wouldn't say this course is an easy one, but definitely not harder than GIOS or AOS. My impression is that early reviews of this course were done by students who are much more skilled in C++ or when the curve was more generous, quizzes were easier etc. At the same time, instructors offered 10% extra credit this semester, so I wouldn't be surprised if most students ended up with an A again.
Assuming familiarity with C++, the assignments take about 0.5-0.8x the time of a typical GIOS/AOS assignment. Like most other courses, this course's quiz/exam questions could be worded more clearly or precisely.
For me personally, most of the knowledge I learned was from reading the textbook, papers, and studying for the exams. The lectures are very high-level and prioritize teaching C++ too much at the expense of teaching about databases.
I would get rid of:
- C++ warm-up assignment -- this assignment is kind of a time suck, and the main learning benefit is for students who don't know have experience with C++. But C/C++ and systems programming is already a course pre-requisite and this assignment doesn't teach anything about database implementation, so why bother? Especially with giving students a whole 3 weeks to complete
- new R-Tree assignment -- coding up an R-tree is cool, but it's a fairly niche index structure and the marginal learning benefit is too small since we already implement a B+ tree in assignment 3
I would have liked to see a coding project on vectorized execution, columnar storage, or log-structured merge trees.
TAs are nice but kind of slow responding to questions and not really transparent about bugs or issues that come up with the assignment instructions etc.
Rating: 3 / 5Difficulty: 3 / 5Workload: 20 hours / week