Reviews for CMSC417

Information Review
Nirupam Roy
CMSC417

Anonymous
04/08/2024
Very heavy accent and mumbles had to drop the class because of it
Nirupam Roy
CMSC417

Expecting an A
Anonymous
01/20/2024
Incredible professor - very kind and I really enjoyed his class. Exams have plenty of extra credit, and the professor himself is very understanding.
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.
Nirupam Roy
CMSC417

Expecting a B
Anonymous
06/14/2023
Easy exams and very flexible with deadlines.
Nirupam Roy
CMSC417

Expecting a B
Anonymous
05/29/2023
Lectures are useful, prof is understanding, exams are fair (requires extra studying outside of class but that's expected from a 4xx), projects take ton of time so start early. Textbook is really helpful. Roy knows networks content incredibly well so make use of if you want. Attendance isn't mandatory or frankly even required, you can learn everything from textbook, but lectures are a good resource to just sit and listen. 417 sucks up time and effort, especially towards the end of the semester. The actual course content isn't difficult (in my opinion I thought 351 content was more conceptually difficult), it's the projects that can easily take 10+ hours if you're not familiar with C or basic network programming, but you pick it up throughout the course. Overall, Roy is good prof and lectures well
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.
Michael Marsh
CMSC417

Expecting an A+
Anonymous
12/27/2021
I took this course Spring 2021. CMSC417 is definitely not trivial and the projects take time, but I also enjoyed it and learned a huge amount. Marsh uses flipped classroom but the lecture videos he posts are broken into short sections and are very clear. The projects and homeworks help you learn the material well and the tests were open-note on Gradescope.
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.
Michael Marsh
CMSC417

Anonymous
05/24/2021
I don't know why there are some reviews commending Marsh for how he handled this course. I took this course with three friends and all of our experiences were pretty terrible. I would keep in mind that we took this during an online/Covid semester so in person may be different. The work load for this course is MUCH greater than 3 credits. I spent more time for this course than for most of the core 4 credit CS classes. A typical week would include about an hour of pre-recorded lectures, 2 quizzes on that content, 2 normal lecture hours, then either a MASSIVE project due over the weekend or several homework assignments. There were also 5 exams throughout the semester. Marsh said at the beginning that this courses bad wrap is due to it being "one of the hardest the department offers". I don't think the difficulty is the content, its entirely with how the course is organized. The lectures do not coincide with the projects, so for more than half the projects you'll be looking at text books learning the material to execute the projects. Marsh will release public test scripts to test your projects but they typically don't work, causing everyone stress by having to submit their project blindly. His testing scripts would also typically screw up on the projects causing many students to request regrades, which they wouldn't receive back for months later. In 2 instances, information in the project description was either wrong or misleading, which caused due dates to get pushed back. This would be fine except Marsh did not compensate the rest of the schedule. This caused the biggest project of the semester to be given a week less to complete. On the last day of classes, we had an exam, a homework and the big project due. The only reason I did not give this 1 star is that I believe some of the projects are pretty cool once theyre in a complete state. I would not recommend this course unless you genuinely think putting on your resume that you took a formal networking course will help you. If you're just interested in networks, you're better off just looking at networking textbooks and resources online in your freetime.
Nirupam Roy
CMSC417

Expecting a W
Anonymous
02/09/2021
I tried sitting in the back and boy I could not understand a word he said. Don't get me wrong he definitely tries to help but his accent gets in the way. Ended up having to withdraw (the only class I ever withdrew from in 4 years here) as the programming assignments were impossible to complete and were basically irrelevant to the stuff learned in class. The exams required you to memorize pretty much every single calculation and definition and write them out. It was also unclear what exactly you were supposed to know before an exam. Am I supposed to read and learn from the textbook, or from the slides, etc? Idk if it was just Roy or if this class would still be so poorly structured even with a different teacher. But for the sake of your GPA just forget about 417 and choose a different class. You'll thank me later.
Nirupam Roy
CMSC417

Expecting a P
Anonymous
04/10/2020
Alright prof, but heavy Indian accent and mumbles sometimes so lectures aren't the easiest to listen to and moves through slides too fast without posting them, but not the worst.
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.
Michael Marsh
CMSC417

Expecting an A-
Anonymous
06/03/2019
Based on past reviews, I was extremely weary to take Marsh for this class, but after going through it I’m glad I did. He has improved a ton and takes constructive criticism in stride to actually improve the class (the only cs prof I’ve seen do this). Many complain his test scripts are still broken, but these were due to tests that are more in depth than other courses, which I believe is a great thing. You can also tell he loves the subject. His lectures can be a little tough to follow at times as his examples aren’t always the clearest, but he is willing to reexplain anything that may have been ambiguous. Overall, the most useful class I’ve taken at UMD and no regrets on Marsh.
Michael Marsh
CMSC417

Expecting an A-
Anonymous
05/16/2019
Overall Professor Marsh was a much better professor than I think most of these reviews suggest. He has made changes based on what I hear on here. He no longer does take home exams which seemed to have been a major issue in past semesters based on past reviews and reddit threads. He is well prepared for lectures, and genuinely seems to care about students' success. He offers a survey active all semester for students to voice their opinions of the course, and he even sent individual messages to the students who did really well on each exam congratulating them on their success which was a nice way to show he actually cares about students doing well, which is really rare among professors here in my opinion. His grading scripts can be frustrating and his lack of public tests is something that I think could be improved, but overall he is not a bad professor. Class is pretty hard, but you learn a lot about how the internet works which is pretty cool.
Michael Marsh
CMSC417

Expecting an A
Anonymous
03/16/2019
Marsh for 417 was great. He took a systems approach to the whole class which I really liked. If you didn't like 216 then you'll have a rough time, but projects are easy as long as you can read manpages and use Wireshark. It's impossible to fail his class if you submit even a half-assed attempt on all the projects. All exams including the final were take-home. If you don't get an A in the class it's on you
Michael Marsh
CMSC417

Anonymous
10/14/2018
Such a terrible teacher for 417. Exams and projects are so vaguely worded. You need to make several assumptions on exam questions, but if your implementation doesn't match his you get a 0. When we asked for clarifications, he would sometimes give us misleading answers. He never gave us sample input/output even though we asked before every project and exam. Half way through the semester he just gave up on doing slides. Grading felt like it was arbitrary, but he told us not to worry about it because he promised a substantial curve. He ended up setting 39 as the cutoff for a C-, but an 85 was still a B, so he might as well have not curved. He also gives out minuses but not pluses.
Michael Marsh
CMSC417

Anonymous
04/12/2018
Honestly, one of the most unorganized classes I've ever taken. Avoid this professor at all costs. The first project took nearly 2 months to get back to us, and over half of the students got zeroes due to shoddy testing code. Every assignment we've had so far has had to be regraded. This morning, the day AFTER the drop deadline, he announces the next midterm and final exam will be in class rather than take-home. Completely unprofessional.
Michael Marsh
CMSC417

Expecting a W
cnaka
03/30/2018
His lectures are mediocre, but the real problem is how he tests code. He puts our arbitrary project specs without public/release tests and then tests them in a very specific way, causing many students to get zeros for things such as putting a space in the wrong place in the output. He said he would fix this, but I still have no idea what grade I have in this 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.
Ashok Agrawala
CMSC417

Anonymous
12/18/2016
I straight up thought this class was an embarrassment to UMD (a top 10 CS school) and Agrawala and his TA Andrew were 100% to blame for it. I strongly advise to wait a semester or two and take this with a different professor. I'm not writing this post as sour grapes either I performed pretty well in the class, I just started the semester really excited about learning about networks and in the end it all got sucked out of me. The worst part of the class, the professor, and the TAs is that they create an environment where it feels like they genuinely want you to fail. If you ask about what content will be on exams (you will have no idea what will be covered) the only answer you will get is "read the chapter and do the problems." FYI chapters are 1-200 pages of thick, technical textbook with 40+ questions each and exams cover 2-3 chapters. I get that college is a lot about being able to teach yourself material, but you shouldn't have to teach yourself an entire class, especially a class as complex as Networks. Projects: - the first two projects were completely useless busy work that consisted of making simple client-server model. At no point in the class do they help you or show you how you would create such a connection (they just go over it on a high level, much different to actual C function calls), you literally just have to figure it out yourself. Not to mention, you have to use CORE, which is a nightmare within itself that even after the class I still have no idea how to use it. The second project is more about "can you parse in C" than it is about networks... Idk about you, but I didn't take 417 so I could waste my time tediously using strtok() - The final project is actually pretty cool - you implement some real deal stuff and you will learn a lot as a result. I wish they had you do practical things in Ruby all along as opposed to just at the end. Also a bonus that you get to work with a partner All in all, you WILL learn a lot if you take this class, only because you literally have to memorize a textbook to pass. I did not come to college and pay tuition money to memorize a textbook, however. Professors should make it easier, not harder, to understand material and they should genuinely care about your success - Agrawala is neither. Again, I did well in this class and I am not writing this because I am sour - i genuinely want you to either not take this class with Agrawala for your own good. If you do, I just hope he has magically improved and changed since. All things considered, there is no doubt Agrawala is brilliant, he's just not approachable and not a good teacher. Twice I went to office hours with course content questions and for advice and twice I got the answer "read the textbook"... not very helpful. Craziest thing is, if Agrawala changed a few things the course wouldn't be so miserable for everyone. 1. Provide some kind of study guides for the tests so we know of the hundreds of protocols what to focus on 2. Provide suggested book questions for each chapter so we don't waste our time doing 40+ problems. There is no reason why he can't give 10 questions per chapter or something like that. "if it's not on the slides don't worry about it" doesn't help at all 3. Hold some kind of seminar at the beginning of the semester outside of class that introduces students to CORE and how to get set up properly 4. Stretch the last project to be semester long and have students complete it in useful increments (maybe even add a bit to it) 5. Act genuinely interested in the success and well being of the students as opposed to creating an environment where we feel like Agrawala wants us to fail
Ashok Agrawala
CMSC417

Expecting an A-
fma1
01/05/2016
I think the professor was actually a good teacher. He asked questions to get us to think and to understand why things were the way they are. I will say that the lectures were sort of dry, especially if you read the book. But the point was to get us to learn the basic concepts, and then we would study the details ourselves. I'll admit that the projects weren't entirely connected with the material in the lecture. But to say they were entirely irrelevant is false. I think the previous poster didn't really understand the point of the projects (considering they stated how it was just locate the standard library function and do it in this way, because that wasn't the point). It was to help us to understand how protocols work, and in that sense, it was connected to the material in lecture. But the final project was the most important. It really showed how hard network programming is, because you have to account for so many things, so it's much harder than say, Operating Systems. The final project was meant to help us understand that every decision in networking has some sort of reason behind it. And it does have real world use. So that gives me the sense of accomplishment. It was meant to simulate a real-life project as well, as it took a lot of coding and testing, and you had to work with your group members. I had a group member who only wrote ~200 lines of code or so, but the reason I didn't say anything was because the fact is that we do have other classes, despite this being like a real-life job. I will agree that the lack of study material or review for exams was disappointing, but there is a reason for that. It's hard to make questions that students can solve in a reasonable amount of time that adequately test student knowledge, thus questions are reused. I'd just recommend studying the questions at the back of the book. It is a vast amount of information to cover, but that's how a lot of courses are. One thing I do agree is that it would've been better to add a reading schedule. It would have helped a lot. Overall, I would say I learned a lot from this course. I learned that understanding networking means understanding communication in general. I learned that there is a reason for every decision in a RFC. The professor also taught us that what we needed to learn is how to learn, because this information will soon be obsolete, and that's something important for CS majors in general.
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.
Ashok Agrawala
CMSC417

Expecting an A
Anonymous
05/11/2012
Agrawala was a horrible professor, and 417 was a horrible class. This was possibly the worst computer science course I've taken yet at this university. Unlike most other 400-level CS classes, that teach relevant and useful technology, this course seems to be mostly based on obsolete material. The projects don't convey any meaningful skills, and while in other classes I typically can look back on the projects and feel a sense of accomplishment, in this class, I felt like I jumped through hoops. (I got 100% or 90% on all the projects, so this isn't sour grapes -- the projects were just bad. Further, the projects and lectures seemed entirely disconnected. I felt as if I was taking two different classes where two entirely different things were being taught. Lectures didn't prepare us for projects in any sense. As such, the projects weren't challenging, because they had to be easy enough for us to teach ourselves how to do. This meant that the projects consisted entirely of "locate the standard library function to do this thing, and invoke it in the right way." The lectures were almost entirely taken from the textbook. If any reading had been assigned, this would mean that people who did the reading would get nothing out of lectures. The lectures were presented in an extremely dry and boring way. The lecturer would occasionally ask either extremely simple factual questions or incredibly complicated questions. Nobody was willing to venture an answer, because there was obviously a right answer (which the students didn't want to get wrong in front of the class), and in the simple case it seemed like the instructor was asking a trick question, while in the complicated case the students weren't sure of themselves. The instructor would, after doing this, chide the class for not participating. Further, the instructor would never revisit old or important material. The exams were entirely disjoint from the lecture or projects. The two midterms focused almost entirely on concepts that appeared on one or two days of lecture. Further, the instructors refused to give students any information about what would be on the exam. This forced students to study huge amounts of information, including large parts of the textbook (which was tested on the exam, even though no readings had actually been assigned and there was no reading schedule for the course). Most students probably gave up; those that didn't were equally unprepared, because the exams were, rather than general, incredibly specific. The only way to get a good grade on the exam would have been to study in huge detail every aspect of the course. Typically, courses that require this have clear focus and direction, but this course had neither. It was like taking a survey of 1990's networking concepts and technology. Overall, taking this class was a vastly unpleasant experience. I had hoped that something as basic and vital to a computer scientists skillset as *networking* would be treated better at a major university.
Ashok Agrawala
CMSC417

Expecting a B
collegeguy752
04/28/2011
Good professor. Difficult to understand at times because of the accent. He asks a lot of rhetorical questions and goes on and on during lectures; therefore, they seem boring. Also, he just lectures from the slides and he posts his lecture videos and slides online, discouraging many from attending class. By the third week only a handful of people still went (I definitely did not attend), but this could be partly attributed to the class starting at 8am. His exams are almost entirely based on questions from the end of the chapters, and the remaining few questions are based on general terminology/ definitions of bolded words throughout the chapter. The projects in this class were very fair and interesting in comparison to previous year projects. The class is a lot of work because it feels like a programming class in addition to a theory of networking class (it is known as the 2nd hardest CMSC class). If you can keep yourself motivated and attend most lectures this is a very manageable class. Agrawala is a decent professor, but I feel he could be more interactive and give more examples/ real life problems. I would recommend him as a professor