Winter 2022 - Look, when I was enrolling, I read the reviews for this professor, and I said "Eh, they're probably exaggerating" and I took the class anyway because I really wanted to get it out of the way. In case it's not clear from the essay this review turned out to be, the reviews were NOT exaggerating. If you want to save yourself some time, the gist of this review is: Do. Not. Take. This. Class. Just don't. If you're interested in the nitty gritty details, keep reading. This had to be the worst class I've taken at UCLA thus far, hands down. From about week 9 on, we had a large problem set, the second design assignment (which took me ~20-30 hours), a quiz (which was essentially just a test), and the final design assignment (which was incredibly laborious and left me with very little time to study for my other finals). Pre-week 8/9, we had one problem set, one quiz, and one design assignment. I probably spent an average of 4-6 hours a day on this class every day for the last 2-3 weeks of the quarter, if not more. The quizzes were quite long and there was definitely a time crunch. Most parts of the quiz had no partial credit and the questions were ambiguously worded, so for both quizzes the mean was below 50%. The first design assignment wasn't so bad, but the second and final design assignments wrecked my life. They were difficult, tedious, and time consuming, and small mistakes were penalized very heavily, so you're only hope to get a decent grade on them was to do everything perfectly. I don't feel the material in lecture properly prepared us to do well on the design assignments and they were definitely the type of assignment where you do well if you are clever and poorly if you're not. They didn't feel like a fair assessment of our ability to understand the content of the class. A small caveat, had they not been so time consuming and had there not been so much pressure to do them perfectly in order to get a good grade, I would have enjoyed the challenge of them. I definitely feel like I learned a lot from them, but I don't think that's necessarily reflected in the grade I received, nor do I think that what I learned is going to be something I need to apply in the future (this class works at the level of logic gates and flip-flops, and hardly anyone works that low-level anymore, especially without some sort of software assistance). Overall, what I got out of this class was not in any way worth the amount of time and effort I put into it, and the amount of time I had to put into this class during week 10 and finals weeks kept me from properly studying for my other classes. At the risk of making this review too long, I feel it's also important to speak on the professor, his behavior, and his policies. Professor Srivastava is incredibly smart and knowledgeable, and this is apparent from the first lecture. He also does care about the material he covers in class. That said, he is not a good professor. He is not a good lecturer and he is not a good teacher. His lectures were long and rambling and he gave zero breaks during a 2 hour lecture that took place between 6 and 8 pm. He had a strict no collaboration policy that you could get around if you were truly only collaborating and not copying, but I still find it wrong on principle and it worries me that someone in a teaching profession feels this way. Collaboration is an essential skill in the workplace and, not only that, but it furthers learning rather than stifling it. I don't really understand why Professor Srivastava was so strict about this but I whole-heartedly believe it is a disadvantage to students' learning to disallow collaboration. Finally, in answering questions both in person and on Piazza, Professor Srivastava ranged from mildly disrespectful to downright rude. His answers to genuine student questions could be sarcastic and gave off the air of "this is a stupid question". Aside from rudeness being a generally bad trait for a professor (or anyone for that matter), what I found particularly odd about this was that Professor Srivastava really valued participation and explicitly encouraged it often, especially during lectures, yet his actions made students hesitant to ask questions lest they be mocked for doing so. Many other people have mentioned that he was incredibly active on Piazza, and this is true, but I found that a large majority of his answers were not very helpful, especially when asking for clarification on a problem statement or design spec. With an insane amount of time and effort, this class is doable, but I do not think it's worth taking with Srivastava. Though he genuinely cares, the assignments are unfair and his behavior towards students is rude and did not really encourage me to want to do well in his class. My recommendation, and what I wish I had done, is to wait another quarter and take this class with another professor.
One of the most difficult, badly designed and worse courses at UCLA EE for undergraduates to take. Take this class only if you have no life and plan to do nothing for 3 months other than to work on badly designed labs, code in Python and listen to bland lectures which have nothing to do with the course whatsoever. Be prepared to spend the nights in the lab while working like a slave to finish an impossible to finish project in a course of 2 weeks. The course description says that the class is held on two days, but in actuality you will be in the classroom four days out of seven. After taking this class I realized that I learned absolutely nothing about robotics. Totally worthless experience. The TA was nice though and genuinely wanted to help.