Based on 42 Users
The class wasn't horrible, but it wasn't great either. The course was (mostly) well-organized, and the content is very comprehensive. The professor and TAs seem to genuinely care about the class. In particular, the professor was super active on Piazza, and he'd often reply to my questions in an hour or two. Needless to say, if you put in the effort, you'll learn a lot.
But if you're a CS major who doesn't give two quacks about hardware like me, I would recommend against taking this class. Prof. Srivastava covered material rather rapidly during lectures, and I sometimes found them difficult to keep up with. He was often rude to students (especially over Piazza), and for the first half the quarter he only gave a single 3-minute break during the 2-hour lectures. Also, the assignments were super unforgiving. A small error in your circuit could be the difference between 100% and a failing grade for a design assignment (the 2nd DA wasn't easy to test properly either). The quizzes were multiple choice and often poorly worded, so I got a lot of points off for stupid reasons. Like others have said, the class doesn't have a whole lot of work until the last two weeks, when you get hit with a design assignment and a week-long final.
To sum it up, if you're genuinely passionate about designing circuits, I think you'll be able to look past the flaws and enjoy this course. But if not, be prepared for frustration.
Avoid this professor for digital circuit design whatever you do. He will end up assigning a quarter's worth of work in the last two weeks before finals. I don't know whether I have had a professor that is so inconsiderate of other people's time and schedules. The first eight weeks of this class is relatively little work; so little work actually, that you will forget about this class' existence. His design assignments have very strict guidelines that will not allow you to solve things in a simple and intuitive manner. Also, you should wait a couple of days before starting the design assignment because his initial upload will be filled with errors that other students will patch up over time. On the other hand, he lives on Piazza and to some that might be a good thing. However when he replies to questions, he will NEVER give you a straight answer. In fact, you will end up more confused and lost than you were before. You are better off taking it with another professor. He is very knowledgable but the teaching part is just not his thing. He's a good guy but he thinks that his class is the main focus on our schedule: it isn't. The quizzes are difficult not because of the content, but because the timing. Do not listen to the reviews below because it is a major misrepresentation of the class due to the fact that it was when covid initially happened. It is a rare case.
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.
Avoid taking this class with this professor at all costs. There were only 2 HWs for the entire quarter and you would never guess when he's gonna release it. The quiz is very time-limited and he expect you to understand all the nitty-gritty details. He released the first design assignment during midterm week, which I think is very inconsiderate and the last 2/3 weeks of the quarter he basically expect you to do 2 design assignments. I would much prefer it if we have weekly hws and structured quizzes and design assignments. This class is all over the place. Don't take this class if you are taking more than 3 classes, avoid this professor!!
First 6 weeks very easy, virtually no hw(we had hw but it was very short and not worth much grade). Simple broad material easy to understand material.
Week 7-10, hell.
Lots of work, lots of material, and 90% of your grade is determined here. Two Projects, the latter being very very time consuming and difficult. Two Quizzes too, with averages around the 50% mark. You will be working on a 20-25 hour long project till the friday of week 10 my friend. Good luck focusing on your other classes
Then finals week, you have 5 days to finish final project. It is similar to second project but even harder. You probably won't have time to study for your other class's finals.
Projects are designed so that faster designs get better grades, making them unnecessarily competitive. If your design works but is "too slow" you will lose a decent chunk of points(maybe even get a 0? idk). You don't know how slow or fast your design is compared to others obviously so submit and hope for the best. Or maybe spend 10 hours making it 20% faster only to realize your original slow design was already fast enough. Could've used that time to study for my math final but oh well.
Median grade our quarter was B+. Average was a little lower, maybe a B i think.
Piazza was fine i thought, just pester your TA's tho if you want any real help.
Take it with another prof if you can. You won't be as "experienced" with sequential logic circuits with other profs offering this class,
but theres other courses that you're required later on to take anyways that will make you design complex sequential logic circuits, like COM SCI 152B.
This class is called COM SCI M51A or EC ENGR M16 depending on which department your in, they are the same class just with different names.
Most of the reviews for this class are under this professor's EC ENGR M16 page!
Absolutely awful. Worst class I’ve taken in college, despite having extremely interesting course content. It’s unfortunate that the material taught by this professor is so interesting yet so difficult to grasp with his format of teaching and his lecturing abilities. As mentioned in other reviews, you might forget you’re taking this class until week 5, when you get your first problem set. It’s only then that you start realizing that you might not be understanding all the material as well as you should. But by that point you’re already too far behind and need to seriously step it up to catch up in terms of your understanding of the material. Unfortunately, there are very few opportunities to test your understanding through practice problems. Your best chances are during discussion sections, so definitely go to them (you don’t have much of a choice tho cuz they’re mandatory). Overall, my main recommendation is to just wait and take this class with another profess (please please do so unless you have a previous foundation of logic in digital design) or if you end up taking this class, stay on top of the information taught in every lecture and solve problems at the end of each textbook chapter that supplements the lecture material.
I thought this course was fair. It's true that the projects were very long and can take hours and that the professor was a little degrading on Piazza. I feel like he got frustrated when students didn't come to or watch lectures and then asked questions online that were already addressed in the lectures. (During lecture he is much more receptive to students' questions.) I don't agree with his behavior but I can understand why he acted that way. However, the professor did provide opportunities for students to improve their grades. He allowed students to resubmit projects (including the final) for a chance to receive a better grade and gave everyone a week to do it even after spring quarter started. Additionally the late day policy with 8 free late days was much appreciated and helped lessen the workload for the projects. Going to discussion was also very helpful and helped me understand some of the content that I didn't quite get in lecture. It definitely helped me out on the quizzes. Overall, this course was difficult but can be done if you put in a lot of work.
Amazing class. Professor Srivastava made lectures highly interesting and provided us with a very solid foundation of digital logic. There is a lot of content, and while the course does start out slow, it picks up pace quickly in the second half after the transition to state machines and datapaths. The labs are tough yet very rewarding, and Professor Srivastava's lectures and advice will help approach them. Overall, Professor Srivastava and this class have piqued my interest in digital logic.