Information | Review |
---|---|
Samrat Bhattacharjee
CMSC417 Expecting a C Anonymous 12/07/2024 |
I've never seen a professor where the reviews capture the experience so accurately, but this one really does. Every review is really good at explaining what taking CMSC417 with Bobby is like. I'll add my two cents, but the review from 12/05/2024 is ridiculously spot on! The most important thing to know about this class, imo, is that it is HARD. The hardest CS class I've ever taken by far, and I took 351 with Kruskal; Kruskal's 351 is a cake walk compared to this class. However the difference is that you learn SO MUCH and just about EVERYTHING is useful and applicable to the real world. I went into this class knowing next to nothing about networks, but now I can tell you just about everything that happens to get information from one device to another. All the big fun networks words and acronyms like IP, TCP, UDP, HTTP, Wi-Fi, Ethernet, DNS, etc... you learn it all and you learn it WELL. Want to know how an email is actually sent or how the Dark Web works? Take this class. You will learn more in this class than like, three semesters full of other classes. It's ridiculous and awesome. His policy is "there is no magic", and his goal is to teach you to understand all of the "magic" that happens to make the Internet exist. And I feel like he accomplished that. Bobby really is an abrasive professor and can be quite rude to students, but I genuinely think he means no harm, he's just trying to make people laugh. And man, he really is funny. One of the funnier professors I've had. In the same vein, the dude is super charismatic and class is just generally enjoyable with him once you realize that his "rudeness" is really mostly good natured. He also responds to Piazza posts in mere minutes, and genuinely seems like he wants you to succeed. But also, the projects were really, really hard. I especially didn't like that we were just expected to learn socket programming from scratch and just do it for the first couple projects, before learning what sockets even were. We eventually did learn the protocols and such that make sockets work about a third of the way into the class, but the projects expected that well before then. And they only got harder, and I got some grades on the projects in the 10-30% range even after a whole lot of work. You do have to sacrifice a LOT of time to these projects, and it is really hard to do so. This is why the class is so hard. Some of them are extremely cool though once they work. And yeah, the exams were hard, but fair, but long. Time crunch for sure. I would seriously recommend taking this class but taking ZERO other hard classes alongside it, because you need an egregious amount of time to do well in this class. I don't even know if I'm going to pass but it was seriously worth it anyway because of how much cool, useful, and important stuff I learned about how things in the real world work. |
Samrat Bhattacharjee
CMSC417 Expecting a B+ Anonymous 12/05/2024 |
Every single review I've read of this professor I believe are a fully accurate experience someone has had with him. This will be a large review with a lot of good and a lot of bad so TLDR at the bottom: Starting off with the lectures: Bobby is an incredibly knowledgeable, engaging professor. He cares about student understanding and will not move on as long as there are still questions being asked about what he is covering. There were no lecture recordings, no notes, and generally no materials from the course itself to go back and review over. That being said I was able to get my hands on a review google doc that is incredibly maintained which I believe you can find on reddit??? (not sure where exactly it was sent to me by a friend. Regardless DEFINITELY put effort into finding it, because it is a lifesaver come exam time). Bobby is a pretty funny guy, but he is equally rude. He cuts students off while they are asking questions, because he believes he knows what the full question will be. He is only ever right in guessing what your question is 75% of the time, which leads to people repeating their question, and sometimes he cuts that off and the cycle repeats. He is also a fan of berating students, so if you ever return his rude energy or question why he treated you a certain way, beware because he will just respond in kind with being more intensely rude to you. To be completely honest I do not think he consciously understands that what he does makes people sometimes not want to participate in class, and I'm sure his intention is not to be rude; I believe his intention is to be funny and he does have some pretty solid comedic moments. If you can push past it and not take it personally, he is pretty nice under the surface and will likely grow to like you if you choose to keep participating, but it is understandable if you don't want to deal with it. Projects: This is where most of people's bad experience with the class comes from. The projects will suck up all of your time. If you want an A on any of the projects, especially past the first two, you will need to start early, and work an unreasonable amount of time. If you value a social life or hobbies, you will most likely have to decide to cut back on them to handle the insane amount of work that some of these projects require. Project A4 quite literally required 40+ hours of work, while we were given only 2 weeks (after an extension) to complete it with one of those weeks being an exam week for this class. That is an entire part time job's worth of work for a single project if you started early, and that does not even take into account the insane studying you need to do for the exam. It is fully unreasonable to expect a student who likely has a full time class schedule to do for just a single class. Exams: The exams are hard, but fair. You need to make sure you know your stuff. He lets you have a couple cheat sheet pages, but even with that the exam will still take a lot out of you, and you need to move quick to avoid running out of time. For this semester he repeated a question people did poorly on Exam I in Exam II to incentivize solidifying learning, which I appreciated. He also provides you with every single exam he has ever given for the class, which is a LOT, but there are no answer keys, so you have to go to office hours or piazza if you are unsure about the solution to a problem. DEFINITELY practice the coding implementation question, as that is worth the most points and also the most difficult and harshly graded. Overall: Pressure makes diamonds. I have learned more from this class than any other class I have taken so far in my 7 semesters as a college student. I am actually pretty proud of some of the projects I have made for this class, and would be shocked if a future employer wasn't impressed by A4 or the final project. I honed the art of locking in to a single project to try to finish before the deadline, and the topics were really interesting. A lot of the internet can seem like magic, but the first motto of the class is "there is no magic", and I believe I have a very solid grasp on computer networking as a whole from a very low level perspective. I don't agree with a lot of the intensity choices when it comes to how difficult the projects were, I think unless you're a genius you WILL have to sacrifice part of your social life or hobbies (provided you have any in the first place), and if you have a job, while also being a full time student. Best of luck. TLDR notes: - Bobby is knowledgeable, engaging, funny, but rude and belittling - No class resources: show up to class and take good notes or get cooked - Projects require an insane amount of time and effort, see above on me repeatedly saying you will have to sacrifice social life or hobbies. - For the love of everything heed the warnings and START THE PROJECTS EARLY - Exams are tough but fair, tons of practice exams, but no answer keys. You do get multiple cheat sheets. - Pressure makes diamonds: You will learn a LOT if you move with the strong current that is CMSC417, and I believe you'll enjoy it. (Kind of a stockholm thing going on here) lost two stars because I don't believe any 3-credit class should require 20+ hours of work on any given week, and Bobby being rude to people sometimes steps over boundaries. |
Samrat Bhattacharjee
CMSC417 Expecting an A Anonymous 01/17/2024 |
The review from 09/25/2023 sums it up perfectly. It's a difficult class, but with that difficulty comes growth. This is THE class I think I learned the most from ever. I agree with the other student's advice, start early! The projects have very clear requirements and I was never surprised with my grade. I felt that both the project aspect of the course and the theoretical aspect of the course were beneficial, and I am now a stronger programmer, with a much stronger understanding of how pretty much everything works. |
Samrat Bhattacharjee
CMSC417 Expecting a C- Anonymous 01/16/2024 |
He will literally not move on to the next topic until all questions are answered. Friendly, funny, and knowledgeable professor. Quite merciful with grading. I got a C- even though I flunked most projects and all exams. He's also quite fascinating to converse with on Piazza. Unfortunately, he unknowingly assumes you know certain concepts about networking. He also goes too fast in class. If you take the time read the notes posted on Reddit, you'll be fine. They reflect his content better than his own notes. Another complain I have is that I could not connect the concepts he was talking about. I only learned a bunch of seperate protocols. But overall, great professor. Definitely take him. |
Samrat Bhattacharjee
CMSC417 Expecting an A Anonymous 12/25/2023 |
The projects are a massive pain and will stress you out. Bobby himself can also be kind of abrasive as a professor. That said, he is probably one of the best lecturers I've ever had, and the content is consistently interesting. Exams are generally fair content-wise, but are graded harshly. Definitely learned a lot, but I would be very careful taking this class alongside other difficult courses. |
Samrat Bhattacharjee
CMSC417 Expecting a C- Anonymous 12/15/2023 |
Bobby is a textbook example of the entitled narcissist professors you see in college movies. His lectures are okay, except for the fact that he will openly berate students he doesn't deem intelligent by interrupting their questions before they have a chance to ask them in full, with the excuse that it's "To keep the class on track" while allowing his obviously favorite students to fully ask questions he afterwards deems just as incorrect. The projects are a complete nightmare. Only Chord and BitTorrent had a lecture dedicated to them, and those lectures were essentially useless to implementing the projects. He gives you 2 weeks to complete the project, and I can attest that you will need every minute of those 2 weeks. Project scores required 15-20 hours to get a 50% in my experience. There are no public or release tests given, and the rubric in the assignment does not match the grades i.e. the first project said you'd get an A if your server could handle multiple clients. Mine could and I got a 55% because of some corner cases I didn't test with my client, NOT my server. The only saving grace in this class are the exams. With a cheat sheet or open note they're actually doable. I usually was 10-15% above the class average on the exams, which if there is a curve should help me pass this class. Only take this class if you are <=14 credits including it (as I was at 17 and this class is easily a 4 or 5 credit in terms of project load), you are not taking any other hard classes like ENEE440, and if you really like networking, though you can definitely learn this better in your own free time with a couple of Github repos and articles. I would give this class 2 stars, but simply because of how rude and arrogant of a person Bobby is, I have to give it the 1 star. I hope and pray that Bobby can grow as a person and treat all of his students with respect, and ultimately improve the assignments so that they are reasonable in comparison to the rest of UMD's 400 level classes |
Samrat Bhattacharjee
CMSC417 Expecting a B- Anonymous 11/02/2023 |
You are expected to put in an exceptional amount of effort. DO NOT take with any other hard classes |
Samrat Bhattacharjee
CMSC417 Anonymous 09/25/2023 |
One of the worst professors at UMD. Avoid at any cost. Will not record lectures nor let anyone record them, will not provide lecture notes or anything that will help students. Will expect students to know everything. The projects will ask you write your own starter code which will take hours before you can even begin with the actual project. For my other 400 level CS classes, the projects took me an average of 2-4 days, but this class projects took me at least a week. Bobby also never taught anything related to the projects. No tests were given to students where we could check our code is working as per requirements or not. So basically the projects were open ended and if you don't start early, you're screwed. |
Samrat Bhattacharjee
CMSC417 Expecting a W Anonymous 01/18/2023 |
Bobby is a nice and good professor, but the projects in this class are the worst. I've been fine in all other CS courses I've taken but every project in this class seemed like it was taking up my entire week. You don't learn anything related to projects in class and if you don't start super early you're screwed. I took a W even though I had fine project grades and did decent on the well exam because I didn't feel like it was worth the stress of ruining my weeks for the projects. I've gotten A's in all other cs classes and have never even considered dropping a class until this class. I should've listened to the other reviews when they talked about projects bc I didn't believe them at first :( |
Samrat Bhattacharjee
CMSC417 Expecting a D Anonymous 01/11/2023 |
The review left on 11/19/2022 sums up Bobby perfectly. "Bobby is your stereotypical grandiose narcissist who has a valid reason to be narcissistic" is a very good way to put it. His lectures can be very engaging since he is highly knowledgeable, funny, and interacts with his class often, but whether it be on piazza or in lecture, he will berate you infront of everyone; although; will help you nonetheless. Bobby is a cool dude and does have a soft side, It just sucks because there are more instances where he is hella rude than decent. There was one instance during a zoom OH where he openly stated a question was stupid and forced another student to answer it instead. Although I did say he can be rude to everyone, I have noticed that he is kinder to smarter students that don't irritate him. With regards to the actual course: this class is essentially two classes at once: the lecture side will cover things on the exam, but the projects are completely self taught. Bobby will not teach you how to code sockets, instead he will provide sources and then you have to figure it out. Do not take this class if you are not confident in your coding ability YET. MAN pages will be your bible. There are no recordings, and the class notes are the scribble scrabble he does during lecture. All-in-all: I do think you should take this class. I know my grade and review says otherwise, but you WILL learn a lot if you take this class, and it definitely forces you to become a better programmer. If you are going to take this class, make sure you have the time to give it your all. Most importantly - become a competent programmer before taking the class if you're not already. The final project is a group project that is still based on individuality, so if you end up with super smart people in your group and end up getting hard carried - that's two letter grades gone. TLDR: the class is a semester long suckfest, but is worth it in the end. |
Samrat Bhattacharjee
CMSC417 Anonymous 12/20/2022 |
Lectures in person, not recorded, and no pictures allowed. Projects are in C/C++ except possibly final group project. Incredibly knowledgeable down-to-earth dude, with a lot of passion for teaching. He will call you out if you're not really paying attention, which you should be doing anyway. If you like computer networks, you will get a lot out of this class if you put the effort in learning. The projects are killer, please please start them early... Every project based CS class says this, but actually start them early this class. He doesn't teach any code and just asks you to implement something from scratch. |
Samrat Bhattacharjee
CMSC417 Expecting a B Anonymous 12/14/2022 |
Best CS course I've taken in terms of knowledge learned. It's true this class is hard, and it will probably hurt your GPA. But once you overcome the class you become a much better programmer. I also enjoyed learning about how networking works, and this class has peeked my interest in learning of networking algorithms and protocols. It makes you think like a computer scientist. Bobby is sometimes hard, but it seems like he brightened up compared to previous semesters, and he does want his students to learn. |
Samrat Bhattacharjee
CMSC417 Expecting a W Anonymous 11/19/2022 |
Although I have a W, I have decided to audit this class and do the projects at my own pace. I was struggling with finding a job and made the mistake of taking another extremely programming-heavy course and I wasn't confident enough in C to finish the projects without error. I hope whoever reads these reviews knows that the 5-star reviews are not given by "normal" people. They're either really good at C, very passionate about networking, or just don't care about red flags. These are people who are not bothered by Bobby's demeanor or attitude and fail to realize that although they had a good experience, there are many people in the class who don't. I want to give a rather detailed review. I think Bobby's teaching philosophy can be somewhat debatable, so I'll mention what can be done better: [-]: negative or can be improved upon. [?] Depends on your perspective. [+] Undisputable good quality [-] Not recording lectures or office hours: I think the whole idea behind this is that when people know a lecture is being recorded, they stop attending class. Although this is true, we have to see if this is a good thing or a bad thing for the students. It might be demoralizing for the professor since he might not be able to interact with a class and you could argue this is bad for the students since some students are lazy and fall behind schedule because "everything is recorded". So let's analyze this in detail: [+] Bobby provides OH "relectures" for people who missed the class. [-] Bobby does not record OH even if people have other classes during the time of OH and sometimes refuses to discuss what was mentioned in detail because he "discussed it many times in OH". [-] Some students like me usually will rewatch lectures to fill in missing gaps in our knowledge, not having lectures recorded means we have to go on Piazza but given the next bullet points this isn't so "smooth". Overall, I think if Bobby wants people to attend lectures, he should find a way to take attendance and leverage it in part with the participation grade. [-] Being demeaning to the students: This is an area Bobby needs to work on for sure. You can't go out there and call people stupid or get annoyed when people can't grasp concepts easily. I've seen instances where he literally said "this is a stupid question" even when the question was somewhat relevant. Maybe this might be why he doesn't record....... [?] Not giving previous exam solutions: This is probably a blessing in disguise. You are forced to learn where and how to find the information you need instead of having them given to you and just learning through pattern matching. I think this is a good thing but you can easily argue this is a bad thing. [?] Projects take up too much time: The tradeoff is that the projects are cool and useful on your CV. If you take this class, you should be informed that it is hard and a lot of work. Don't make the mistake of taking this with other hard classes. [+] Great Lecturer: Bobby can explain concepts well and you get engaged rather easily Overall, Bobby is your stereotypical grandiose narcissist who has a valid reason to be narcissistic. I rate him 3 stars because I feel like Bobby is an amazing lecturer but the 2 [-] are what makes him rather unpleasant. I have a feeling that even if he is given similar feedback from other students, he might not listen to them and continue with his current ways. |
Samrat Bhattacharjee
CMSC417 Expecting an A- Anonymous 12/20/2021 |
Was my favorite class at UMD, really learned a lot about not just Networks, but about low level programming in general. That said, other reviews about Bobby is fair. He's been in the field so long (he once told us in class that he's seen networks composed of single copper wire that people poke in needles to connect to, which is at least before 1985) that he kind of lost touch with what students already know/not know. I enjoyed the lectures (he's a pretty funny person). I learned a lot from projects too, despite it being very time consuming and often very underspecified. (There are no public tests to test the output formats against) I do really recommend this class with Bobby, but only if you you have some previous knowledge in computer networking and/or have strong C/C++ programming skills. |
Samrat Bhattacharjee
CMSC417 Anonymous 12/18/2021 |
Taking 417 with Bobby is the Dark Souls of CMSC You know what you're getting into if you take this course Bobby is a great lecturer, the only thing I think he could improve on is recording his lectures so that you can go back to watch them later. The programming projects are intense and will consume all your time. I agree with Bobby's methodologies for choosing C over other languages for the projects. I wish that we had fewer projects and more time to work on them, as they would often be a matter of "write until time is over" instead of "write until your project is working/complete". I think I would have learned more if I had the time to actually focus on getting some of the implementations working instead of having to move onto the next project. |
Samrat Bhattacharjee
CMSC417 Expecting a B Anonymous 11/11/2021 |
If I could rate 0 stars, I would. He's definitely an entertaining and exceptionally intelligent professor, he'd be cool to have lunch with, TA for or do research under - but all that aside, he is a TERRIBLE instructor and should be avoided at all costs. Throughout the semester he has been very passive aggressive & sometimes just flat out mean with his responses to other students in class, on Piazza, and answering student questions on zoom, claiming that his goal is for us to "learn", and yet he refuses to straight up give an answer to a homework/exam question a student asks without making the student look like an idiot for not knowing first. An example of his unpleasant demeanor: on the first day of class he literally said "I do not expect you to come to class" yet time and time again he expresses passive aggressive frustration with those who do not attend class or office hours. To make matters worse, for some reason he REFUSES to upload recordings of lectures, nor any coherent powerpoint slides (instead he uploads drawings and scribbles he does during lecture that only someone who went to lecture would really understand) - either forcing students to join the Zoom call live or show up to class to stay on top of the material. This is the first course I have taken at UMD that does not provide at least some form of slides or an outline on the material covered in class. The problem with this practice is that his exams, while open note, are 100% based on content he covers in class so if you miss class and office hours & do not take detailed notes in class you're basically screwed. While all my other professors have been uploading recordings of their lectures, Bobby refuses. He will likely claim that because people joining on Zoom do not give their express consent to be recorded he won't do it or something to that effect, but if he actually cared he would use Panopto or some other solution. Coming back to in person after 3 semesters of remote learning is tough, and since I am still used to asynchronous learning it has been a particular struggle for me to stay on top of projects and study for exams in this course. TLDR: Bobby's attitude and expectations for the course leave a lot to be desired, and his teaching skills are not that of a professor who should be making a $200,000/year+ salary (which is likely due to his research and tenure at the university but still). He should stick to research or graduate level courses but for the good of future CS undergraduate students, he should NOT BE TEACHING UNDERGRADUATE LEVEL COURSES. |
Samrat Bhattacharjee
CMSC417 Anonymous 11/09/2021 |
Please do yourself a favor and take any other professor for this course if you can. Don't get me wrong, he's an incredibly smart professor, but he is just incredibly mean and his courseload is suffocating. |
Samrat Bhattacharjee
CMSC417 Expecting an A- Anonymous 12/22/2019 |
Really knows the course material, and much more. Course was unnaturally hard compared to other CMSC courses I've taken. Really tough. |
Samrat Bhattacharjee
CMSC414 Expecting an A- Anonymous 06/11/2019 |
One of the co-teachers for 414. Dude knows what he is talking about, but is a bit of a douche to students in class. |
Samrat Bhattacharjee
CMSC417 Expecting a W Anonymous 12/13/2017 |
The review from 2013 is really not telling at all. I had to drop this class because the median of the first test was like a 50. I have a pretty decent GPA (3.6), but this teacher's workload is IMPOSSIBLE to manage unless you purposely make your other courses really light. I had to drop and take the W for the sake of my other classes. Don't believe me? There are currently 15/40 spots open in the class after people dropping, and his average is about a 2.6 based off past years. Basically only take this class if you consider yourself extremely smart, and every other class has been easy for you. |
Samrat Bhattacharjee
CMSC417 Expecting an A Anonymous 05/12/2013 |
Bobby is a very good professor. He is also one of the smartest people at UMD. He's very intimidating at first but if you get to know him you'll realize he's a really nice guy. I think he did a good job teaching this class; needless to say, this was a very challenging course (more so than 412 in my opinion). This class is conceptually simple, but the devil truly is in the details. Understanding how packets are routed through the internet is not a trivial matter. This requires understanding link-layer switching, and network-layer routing. I think Bobby did a rather crappy job explaining the link-layer. In particular, he failed to articulate the difference between forwarding and routing (which is HUGE). This certainly led to a lot of confusion. Either way, take this course with either Bobby or Neil Spring. Enough said. |