EC ENGR M116C
Computer Systems Architecture
Description: (Same as Computer Science M151B.) Lecture, four hours; discussion, two hours; outside study, six hours. Enforced requisites: course M16 or Computer Science M51A, Computer Science 33. Recommended: course M116L or Computer Science M152A, Computer Science 111. Computer system organization and design, implementation of CPU datapath and control, instruction set design, memory hierarchy (caches, main memory, virtual memory) organization and management, input/output subsystems (bus structures, interrupts, DMA), performance evaluation, pipelined processors. Letter grading.
Units: 4.0
Units: 4.0
Most Helpful Review
Lectures are horrible. He's extremely talented at putting people to sleep. Lectures follow the textbook pretty closely, but quizzes and tests seem to have next to nothing to do with anything. They cover the topics covered in class, but the questions themselves are often something obscure and never mentioned. By week 5 or so, only half the class show up to lectures. Take at your own risk.
Lectures are horrible. He's extremely talented at putting people to sleep. Lectures follow the textbook pretty closely, but quizzes and tests seem to have next to nothing to do with anything. They cover the topics covered in class, but the questions themselves are often something obscure and never mentioned. By week 5 or so, only half the class show up to lectures. Take at your own risk.
AD
Most Helpful Review
Winter 2019 - I know Lei He doesn't get a good rep on BruinWalk, but I have to back up my boy here. Although I was a computer science major (graduated last year), Lei He's classes were two of my favorites at UCLA (M16 + M116C). He explains things in a shockingly great way, you just have to get past the accent (which most UCLA professor have, anyways he's trying his best). Honestly he does an amazing job and as someone who went through the gauntlet of the 'toughest' classes at UCLA I can tell you this is nothing to worry about.
Winter 2019 - I know Lei He doesn't get a good rep on BruinWalk, but I have to back up my boy here. Although I was a computer science major (graduated last year), Lei He's classes were two of my favorites at UCLA (M16 + M116C). He explains things in a shockingly great way, you just have to get past the accent (which most UCLA professor have, anyways he's trying his best). Honestly he does an amazing job and as someone who went through the gauntlet of the 'toughest' classes at UCLA I can tell you this is nothing to worry about.
Most Helpful Review
Fall 2021 - This was by far the best class with the best professor I’ve taken at UCLA so far! Professor Nader assigned a lot of work, but he gave the majority good grades. I felt I was able to learn a lot without worrying too much about grades. This class felt like the gold standard of what all classes should be like. - CLASS STRUCTURE: The class includes topics like ISAs, pipelining, out-of-order execution, memory design, and multicore systems. Each topic builds on the previous topic & the homework/projects directly supplement what is taught. The assignments were pretty well spread out, so I did not feel that I was under a lot of stress (although material and workload did get a little heavier toward the end of the quarter). We used Campuswire in this class to ask questions & contact the professor/TAs. - PROFESSOR: Professor Sehat was an amazing professor. He was good at communicating with the students (via Campuswire) and was super accommodating to student needs. He also had a generous grading scale & gave out a lot of extra credit. He made sure that students can learn effectively without making it too stressful. - LECTURES: The lectures are all recorded. He tends to read off the slides directly, but that is not that big of an issue since his slides were very good (he also puts memes in them). He also provides a lot of examples that relate directly with the homework and quizzes. - DISCUSSIONS: Both TAs for this class were great. I had Louis Delhez, who was awesome at summarizing what we learned in the past week. He also gave pretty good examples and was very helpful for the homeworks/project. This is one of the classes where it is absolutely worth going to discussions for. The other TA Justin Feng was also very nice and helpful on Piazza. - PROJECTS (35%): We had 2 projects (although 3 were planned). Project 1 was about building a pipelined processor. Project 2 was about implementing various types of caches. You can use either C or C++ for both projects. Even though starter code and traces were given, I suggest that you start the projects early because they can take quite a long time. However, they are not difficult and correspond with the lectures very well. - HOMEWORK (30%): Fairly straightforward, but can take quite a bit of time. He drops your lowest homework if you get above 50%. - QUIZZES (35%): We did not have any midterms or finals in that class, but we did have 4 quizzes. The first quiz was pretty hard, but the other 3 were not that bad (he also made the last 2 quizzes open-note, which was really helpful). He drops your lowest quiz that is above 50% as well.
Fall 2021 - This was by far the best class with the best professor I’ve taken at UCLA so far! Professor Nader assigned a lot of work, but he gave the majority good grades. I felt I was able to learn a lot without worrying too much about grades. This class felt like the gold standard of what all classes should be like. - CLASS STRUCTURE: The class includes topics like ISAs, pipelining, out-of-order execution, memory design, and multicore systems. Each topic builds on the previous topic & the homework/projects directly supplement what is taught. The assignments were pretty well spread out, so I did not feel that I was under a lot of stress (although material and workload did get a little heavier toward the end of the quarter). We used Campuswire in this class to ask questions & contact the professor/TAs. - PROFESSOR: Professor Sehat was an amazing professor. He was good at communicating with the students (via Campuswire) and was super accommodating to student needs. He also had a generous grading scale & gave out a lot of extra credit. He made sure that students can learn effectively without making it too stressful. - LECTURES: The lectures are all recorded. He tends to read off the slides directly, but that is not that big of an issue since his slides were very good (he also puts memes in them). He also provides a lot of examples that relate directly with the homework and quizzes. - DISCUSSIONS: Both TAs for this class were great. I had Louis Delhez, who was awesome at summarizing what we learned in the past week. He also gave pretty good examples and was very helpful for the homeworks/project. This is one of the classes where it is absolutely worth going to discussions for. The other TA Justin Feng was also very nice and helpful on Piazza. - PROJECTS (35%): We had 2 projects (although 3 were planned). Project 1 was about building a pipelined processor. Project 2 was about implementing various types of caches. You can use either C or C++ for both projects. Even though starter code and traces were given, I suggest that you start the projects early because they can take quite a long time. However, they are not difficult and correspond with the lectures very well. - HOMEWORK (30%): Fairly straightforward, but can take quite a bit of time. He drops your lowest homework if you get above 50%. - QUIZZES (35%): We did not have any midterms or finals in that class, but we did have 4 quizzes. The first quiz was pretty hard, but the other 3 were not that bad (he also made the last 2 quizzes open-note, which was really helpful). He drops your lowest quiz that is above 50% as well.