###### AD

**Overall Rating**

Based on 15 Users

*/ 5*How easy the class is,

**1**being extremely difficult and

**5**being easy peasy.

*/ 5*How clear the class is,

**1**being extremely unclear and

**5**being very clear.

*/ 5*How much workload the class is,

**1**being extremely heavy and

**5**being extremely light.

*/ 5*How helpful the class is,

**1**being not helpful at all and

**5**being extremely helpful.

#### TOP TAGS

There are no relevant tags for this professor yet.

Grade distributions are collected using data from the UCLA Registrar’s Office.

Grade distributions are collected using data from the UCLA Registrar’s Office.

Grade distributions are collected using data from the UCLA Registrar’s Office.

Sorry, no enrollment data is available.

###### AD

For a computer science class, this class doesn't do a lot of coding. The lectures are all math/concept-based, with the first half of the course primarily involving matrices, and the second half involving algebra and just knowing the concepts. Lectures are fairly engaging and he uses slides but they don't cover everything and he usually writes most things on whiteboard.

Discussion sessions are where all of the coding happens... except the TAs aren't really the best at explaining the code, since it's from an obscure JavaScript library made solely for this course, therefore there's not much outside help. I didn't know JavaScript before this class, and there was only a small effort to teach the basics, so I had to self-learn quite a bit. Like I mentioned, TAs don't explain the code that well and usually just show screenshots of code from slides and a few demos.

There's also a group project which involves 3 people and you can make anything as long as it has an advanced graphical feature. As for the tests, the midterm was fair, but the final was really hard and ended up tanking my grade to a B+. Major time crunch too. But overall the workload is doable, with only 3 graded assignments, two exams, and a group project. I'd recommend this course if you know javascript and matrices pretty well and need a course with an easy workload.

Professor Law is a very kind and passionate individual! Overall this class was fun but exams were difficult; linear algebra isn’t a prerequisite for this course and would definitely recommend you only take this class if you have taken linear algebra before, as the professor automatically assumes everyone has. There is also little to no practice material, so you really don’t know what to expect in the midterm or final. We were never tested on code but rather arcane mathematical calculations that you can’t find practice problems anywhere online nor in the book, so you really have to study all the equations he gives out during lecture on your own and in-depth, as they’re not straightforward. Grade distribution for this class was:

15% Assignments — 3 coding projects in OpenGL & Javascript. I would say it takes a whole day or two to complete them, and would recommend going to office hours for clarity since lecture doesn’t help (lectures tend to be conceptual and mathematical, covering no code at all)

20% Midterm — Involves mainly mathematical calculations & a few conceptual questions. Grade statistics were high (oddly enough) so there is no curve.

35% Final — Same as Midterm

30% Team Project — SUPER fun! You basically create a game or animation with 3-4 teammates whom you choose at the beginning of the quarter. There is a midway demo & final demo, and grading criteria is based on how many advanced computer graphics features you implement. It definitely is time consuming and hard to start, since it’s a blank canvas, but I found it really fun so I didn’t mind. I would also recommend going to TA office hours and looking back at assignments for help since we’re really not taught any code in lecture.

I thought this course provided a good introduction to computer graphics, though it was quite heavy on the conceptual side and less "practical" (don't expect to be working with modern graphical frameworks -- for the projects in the course, we had to use a simplified version of WebGL called tiny graphics for learning purposes). The projects were also cool but I ultimately didn't feel like I got a realistic sense of modern graphical programming.

For course content, the first half involves reviewing basic linear algebra matrix transformations and an introduction to each step of the graphics rendering pipeline (how a 3D scene gets rendered to a 2D image). The early projects are really simple and can be done in a few hours, especially if you attend the discussion sections where the TAs basically give a mini walkthrough of each assignment. The second half covers a wide array of topics like object lighting, texture mapping, and ray tracing, which made me really appreciate the complexity of the work involved in this field.

The professor is quite good at explaining the concepts in an easy to understand manner, and I was able to follow along his mathematical derivations without trouble even though I do not consider myself a math person by any means. It's clear he has had years of experience teaching this material because concepts are made intuitive through his explanations. Sometimes though he would go a bit fast (especially when we would start to fall behind) so the lecture recordings were great for those times.

What's strange about this class is that the exams involve a lot of math computations (they're simple, but still there's a lot to remember) but there's little to no practice material made available. So you should definitely try to get a copy of the older exams to practice as the professor likes to reuse questions. Also, a large part of your grade and the work in the class is your group project, which is graded based on features and creativity, so make sure to choose teams wisely and spend time on it.

Overall, not a bad class to take if you have any interest/curiosity in computer graphics. I can't speak for other professors in this course, but I definitely would recommend you taking it with Professor Law.

Lectures: Engaging lecturer, paying attention will help you a lot on exams. Course pace can be dense and slow at times especially around the linear algebra parts, but is otherwise okay. He also raises his volume drastically every so often so it will jolt you with adrenaline to keep you awake

Assignments: Doable in 1 day or less

Midterm: The exam was all math calculations (matrices, normals etc.) except for one conceptual problem. Definitely try to get your grubby hands on some past exams if you want practice. TA slides also have examples.

Final: More recent exams (2022 onward) are more difficult than the older ones (pre-2020), so focus on practicing those. I definitely think there are also more bases to cover conceptually and mathematically, so pay attention in lecture and study equations carefully.

Final project: Try to find some friends to work with before enrolling for the class. Otherwise, you’ll have to try your luck with strangers.

I would not recommend this class. Overall, the lectures were very boring and it was hard to pay attention to, and the tests were on obscure equations that I instantly forgot after taking the exams. It felt like 2 separate classes: one part was coding in WebGL to create cool graphics, and the other part was random math equations for the exams.

Exams: There was a midterm and a final that are closed notes. He doesn't release the test questions or solutions because he reuses questions from previous exams. I found the exams extremely stupid because we had to memorize random equations and procedures on how to answer certain types of questions. If you want to do well, find previous exams.

Assignments: We had 4 assignments (the first was worth 0 points and just setting up your environment). They're coding assignments where you modify their starter code. They're reused every year and aren't too challenging. Some parts are confusing, but the TAs were very helpful during discussions and gave tips.

Group project: You code a graphics project with WebGL which is graded by the TAs (they're great). My group got 100% which definitely carried my grade. It's the best part of the class if you choose a good team and a fun project.

Projects and assignments are fun but the exams were stupid. We didn't have enough materials for the exams and the answers for study guide are hard to find (because no one wants to buy expensive textbook). The materials weren't that interesting to me and lectures are very dry

Assignments-- the T.A.'s will basically do the assignments step by step during discussion sessions, some however didn't although you could just watch the recordings of the other sessions.

Group project-- as long as you have a good group, it should be doable (time consuming however)

Tests-- averages are high so no curve, they were not extremely difficult but not super easy either; test are live and proctored in the sense of having your zoom camera on

Professor Law is really understanding and always asks for the class's feedback on what exam time would be best for everyone. He is pretty clear and his slides are very useful for the exams. If you listen to the lectures and take notes on the slides, you will do well on the midterm and final. There is a lot of math involved, but he reviews all of the matrix computations in class and it actually made a lot of sense after applying matrices to computer graphics. The discussions are pretty helpful and go over code that you will need for the projects which are all doable in a day(take this from someone who sucks at coding). Pay attention to the examples that the TAs go over before the test because they always end up appear on the test. I would definitely take a class with Law again and I really enjoyed learning about computer graphics with him.

For a computer science class, this class doesn't do a lot of coding. The lectures are all math/concept-based, with the first half of the course primarily involving matrices, and the second half involving algebra and just knowing the concepts. Lectures are fairly engaging and he uses slides but they don't cover everything and he usually writes most things on whiteboard.

Discussion sessions are where all of the coding happens... except the TAs aren't really the best at explaining the code, since it's from an obscure JavaScript library made solely for this course, therefore there's not much outside help. I didn't know JavaScript before this class, and there was only a small effort to teach the basics, so I had to self-learn quite a bit. Like I mentioned, TAs don't explain the code that well and usually just show screenshots of code from slides and a few demos.

There's also a group project which involves 3 people and you can make anything as long as it has an advanced graphical feature. As for the tests, the midterm was fair, but the final was really hard and ended up tanking my grade to a B+. Major time crunch too. But overall the workload is doable, with only 3 graded assignments, two exams, and a group project. I'd recommend this course if you know javascript and matrices pretty well and need a course with an easy workload.

Professor Law is a very kind and passionate individual! Overall this class was fun but exams were difficult; linear algebra isn’t a prerequisite for this course and would definitely recommend you only take this class if you have taken linear algebra before, as the professor automatically assumes everyone has. There is also little to no practice material, so you really don’t know what to expect in the midterm or final. We were never tested on code but rather arcane mathematical calculations that you can’t find practice problems anywhere online nor in the book, so you really have to study all the equations he gives out during lecture on your own and in-depth, as they’re not straightforward. Grade distribution for this class was:

15% Assignments — 3 coding projects in OpenGL & Javascript. I would say it takes a whole day or two to complete them, and would recommend going to office hours for clarity since lecture doesn’t help (lectures tend to be conceptual and mathematical, covering no code at all)

20% Midterm — Involves mainly mathematical calculations & a few conceptual questions. Grade statistics were high (oddly enough) so there is no curve.

35% Final — Same as Midterm

30% Team Project — SUPER fun! You basically create a game or animation with 3-4 teammates whom you choose at the beginning of the quarter. There is a midway demo & final demo, and grading criteria is based on how many advanced computer graphics features you implement. It definitely is time consuming and hard to start, since it’s a blank canvas, but I found it really fun so I didn’t mind. I would also recommend going to TA office hours and looking back at assignments for help since we’re really not taught any code in lecture.

I thought this course provided a good introduction to computer graphics, though it was quite heavy on the conceptual side and less "practical" (don't expect to be working with modern graphical frameworks -- for the projects in the course, we had to use a simplified version of WebGL called tiny graphics for learning purposes). The projects were also cool but I ultimately didn't feel like I got a realistic sense of modern graphical programming.

For course content, the first half involves reviewing basic linear algebra matrix transformations and an introduction to each step of the graphics rendering pipeline (how a 3D scene gets rendered to a 2D image). The early projects are really simple and can be done in a few hours, especially if you attend the discussion sections where the TAs basically give a mini walkthrough of each assignment. The second half covers a wide array of topics like object lighting, texture mapping, and ray tracing, which made me really appreciate the complexity of the work involved in this field.

The professor is quite good at explaining the concepts in an easy to understand manner, and I was able to follow along his mathematical derivations without trouble even though I do not consider myself a math person by any means. It's clear he has had years of experience teaching this material because concepts are made intuitive through his explanations. Sometimes though he would go a bit fast (especially when we would start to fall behind) so the lecture recordings were great for those times.

What's strange about this class is that the exams involve a lot of math computations (they're simple, but still there's a lot to remember) but there's little to no practice material made available. So you should definitely try to get a copy of the older exams to practice as the professor likes to reuse questions. Also, a large part of your grade and the work in the class is your group project, which is graded based on features and creativity, so make sure to choose teams wisely and spend time on it.

Overall, not a bad class to take if you have any interest/curiosity in computer graphics. I can't speak for other professors in this course, but I definitely would recommend you taking it with Professor Law.

Lectures: Engaging lecturer, paying attention will help you a lot on exams. Course pace can be dense and slow at times especially around the linear algebra parts, but is otherwise okay. He also raises his volume drastically every so often so it will jolt you with adrenaline to keep you awake

Assignments: Doable in 1 day or less

Midterm: The exam was all math calculations (matrices, normals etc.) except for one conceptual problem. Definitely try to get your grubby hands on some past exams if you want practice. TA slides also have examples.

Final: More recent exams (2022 onward) are more difficult than the older ones (pre-2020), so focus on practicing those. I definitely think there are also more bases to cover conceptually and mathematically, so pay attention in lecture and study equations carefully.

Final project: Try to find some friends to work with before enrolling for the class. Otherwise, you’ll have to try your luck with strangers.

I would not recommend this class. Overall, the lectures were very boring and it was hard to pay attention to, and the tests were on obscure equations that I instantly forgot after taking the exams. It felt like 2 separate classes: one part was coding in WebGL to create cool graphics, and the other part was random math equations for the exams.

Exams: There was a midterm and a final that are closed notes. He doesn't release the test questions or solutions because he reuses questions from previous exams. I found the exams extremely stupid because we had to memorize random equations and procedures on how to answer certain types of questions. If you want to do well, find previous exams.

Assignments: We had 4 assignments (the first was worth 0 points and just setting up your environment). They're coding assignments where you modify their starter code. They're reused every year and aren't too challenging. Some parts are confusing, but the TAs were very helpful during discussions and gave tips.

Group project: You code a graphics project with WebGL which is graded by the TAs (they're great). My group got 100% which definitely carried my grade. It's the best part of the class if you choose a good team and a fun project.

Projects and assignments are fun but the exams were stupid. We didn't have enough materials for the exams and the answers for study guide are hard to find (because no one wants to buy expensive textbook). The materials weren't that interesting to me and lectures are very dry

Assignments-- the T.A.'s will basically do the assignments step by step during discussion sessions, some however didn't although you could just watch the recordings of the other sessions.

Group project-- as long as you have a good group, it should be doable (time consuming however)

Tests-- averages are high so no curve, they were not extremely difficult but not super easy either; test are live and proctored in the sense of having your zoom camera on

Professor Law is really understanding and always asks for the class's feedback on what exam time would be best for everyone. He is pretty clear and his slides are very useful for the exams. If you listen to the lectures and take notes on the slides, you will do well on the midterm and final. There is a lot of math involved, but he reviews all of the matrix computations in class and it actually made a lot of sense after applying matrices to computer graphics. The discussions are pretty helpful and go over code that you will need for the projects which are all doable in a day(take this from someone who sucks at coding). Pay attention to the examples that the TAs go over before the test because they always end up appear on the test. I would definitely take a class with Law again and I really enjoyed learning about computer graphics with him.

**Overall Rating**

Based on 15 Users

*/ 5*How easy the class is,

**1**being extremely difficult and

**5**being easy peasy.

*/ 5*How clear the class is,

**1**being extremely unclear and

**5**being very clear.

*/ 5*How much workload the class is,

**1**being extremely heavy and

**5**being extremely light.

*/ 5*How helpful the class is,

**1**being not helpful at all and

**5**being extremely helpful.

#### TOP TAGS

There are no relevant tags for this professor yet.