Reviews for CMSC818E

Information Review
Peter Keleher
CMSC818E

Expecting an A+
juiceman
03/07/2024
Did you think the exams or other major assignments were fair? Somewhat, projects were fair, in the sense they were (for the most part) manageable. They were, however, very independent. We had to learn the tools and technologies on our own. We only had high level concept discussion of the project in class. This created difficulties with debugging the gRPC code and goroutine concurrent code since we had no experience/lecture on this and no office hours. --- Did you think the professor had reasonable expectations of the students in the course overall? Expectations were somewhat reasonable. Come to class having read the paper and done a blog post. Start projects early and ask for help as needed. The RAFT consensus algorithm felt unreasonable. He linked the paper and asked us to implement it. There was minimal help or scaffolding for this one. --- Were you a fan of the professor's teaching style? Pete’s guiding philosophy is to learn by doing. 80% of the grade came from projects. There were 6 main projects plus part of the final was a project. The projects are in Go and use gRPC. During class, Pete read docs with key points of each paper. The lectures weren’t as helpful because they were not as structured and lacked examples and exercises to deepen understanding. It was too high level, especially having just read the paper. The last 4-5 weeks are student presentations of papers. --- Was the workload appropriate for the number of credits? Projects were on the heavier side. First couple projects took 5-10 hours, but the last few took 10-20 hours (anti-entropy and RAFT consensus especially). When this was combined with reading two papers before each class also took 1-3 hours each week, the workload got quite heavy. I felt like I wasn’t doing justice to the papers I read… I wish there were fewer but more in depth papers. --- Was this course a waste of time or was it beneficial in some way? I thought this course’s projects were beneficial. Projects are super relevant to distributed systems. Go and gRPC are marketable skills. I had the opportunity to present verbally for 20-25 minutes. --- How much support were you given throughout the semester (office hours, extra resources, etc.)? Pete was responsive over email and Piazza. He would have terse replies. He was willing to download your code and help you locate the bug. One time, I was stuck on a project and asked for office hours. He answered every other Piazza post except for my request for office hours. Minimal office hours. --- TLDR: I think the projects of this class are worth it if you’re interested in distributed systems. They’re complex covering topics such as data chunking and blobstore, server client in gRPC, crypto signing and verification, anti-entropy, fault tolerance consensus, and transactions on a shared log. I will say the projects are largely unrelated to lecture, so you’ll have to do a lot of independent learning to complete them. The lectures are relevant to system design interviews if you take initiative to develop an intuition for the ideas. I often felt unsupported and wished there were TAs.
Peter Keleher
CMSC818E

Expecting an A
Anonymous
12/19/2019
He's the most irresponsible professor I have ever seen. Honestly he puts on a project with little specification and ends up changing it over and over for the next week. The deadline is not extended of course so if you started working then sorry you wasted your time. Also he doesn't even know the papers he is making you read so if you have any question then too bad; you won't get an answer. Course was a waste of time I learned nothing.