- Home
- Search
- Adnan Darwiche
- All Reviews
Adnan Darwiche
AD
Based on 37 Users
TAKE HIS CLASS! Professor Darwiche is an absolute gem! I got into the class on a last-minute PTE after spring quarter went remote. He has to be one of the most well-adjusted professors out of all of UCLA's remote courses.
From day one, he has been prepared and well-versed with the Sketchbook app to use as a whiteboard (great handwriting too), rarely had tech problems, edited *ALL* of the recorded lectures to correct mistakes on screen and cut out any pauses/wait time. He divided the videos into 2 parts to upload, each 35-40 minutes long, which made it super easy for us to find things when rewatching. Even went to lengths to add his own intro music for the videos and sometimes draws a little daisy on the first slide :')
He always stuck around after lecture to answer students' questions and provided external resources (optional) if you were interested in reading more. He's very patient, used engaging and funny examples, and explained concepts SO well. This was not a class where I had to often re-watch lectures or read the textbook to catch up.
Exam was open book and pretty manageable, exactly what you'd expect based on lecture and homework material. TA's were also very knowledgeable and helpful in discussion (Shirley was great!) There's roughly one homework per week, usually takes less than 4 hours.
I already knew Darwiche was a beloved and highly-regarded professor before enrolling his class, but in contrast to how other professors are handling remote instruction, Darwiche is miles ahead and definitely went above and beyond to make sure students are getting the best out of this course. Really wish I can take another class with him some day!
This is a great CS elective - fairly easy to get an A in, but not trivially easy. It provided a great high-level overview of AI and its applications, but note that it never delved into the details. Taking this online during Spring 2020, I found that online lectures + piazza were actually more helpful than in person lectures, so I appreciate Darwiche's adjustment to unusual circumstances this quarter.
I recommend the CS 131 + CS 161 combo highly, the logic + Lisp learned initially in CS 161 (at a manageable pace) was really helpful for Prolog and Scheme in CS 131 (learned at a breakneck pace), considering Eggert barely teaches anything.
The projects take time, but nowhere near CS 131. Also, the specs are very specific and (mostly) clear, and the Piazza is helpful; hence, while the projects probably take 5-15 hours a week, it's usually closer to ~7, in contrast to the 20-40 hrs/week for CS 131 projects.
Exam advice: We had mostly MCQ questions and an online format for Spring 2020. So I can't really speak to that. But they weren't trivial, although we learned everything in the exams, unlike an Eggert exam.
Final thoughts: Great CS elective with Darwiche, makes sense why it fills up so fast. Learned Lisp, and basic principles in AI, but didn't learn a huge amount regarding ML / AI (aka, not as much as I had hoped). However, this is due to the workload not being too bad, which is good. 5/5 but don't expect a great intro the AI/ML in regards to knowledge; more of a class to pique interest in the field. But not a trivial amount of work, some of the projects take a decent amount of time.
His lectures were great. He would go into great detail for all the material to make sure we all understood what was going on.
First couple of weeks he taught Lisp. Then for a big chunk of the course, we learned about search algorithms (BFS, DFS, IDDFS) and heuristic algorithms (A*) among other types of algorithms. Last portion was about probabilities and Bayesian networks. All the homeworks built off of these topics. You end up coding most of these algorithms, which I think was a good experience.
The exams were fair. You could read the book, but usually just noting what he covers and emphasizes in class is sufficient.
Overall: good experience, would recommend.
This is the best CS class I have taken at UCLA. Professor Darwiche writes the entire lecture on the board rather than reading off slides, making it easy to pay attention. He is very passionate about the subject so that makes the lectures more enjoyable. The weekly HW aligns with what we learn in lectures so we get to test our understanding frequently. The exams were fair and allowed you to do well if you understood the concepts. I enjoyed this class so much that I want to do my master's at UCLA to take more classes with Professor Darwiche!
This class should have an asterisk on it, and indicate that it is a discrete math class. Darwiche is the nicest professor ever, as he extended assignment deadlines when the class collectively asked for it by citing some reason (like an upcoming hackathon, a long weekend, etc). He was also very accommodating for illnesses, and would provide extensions. Despite Darwiche being a great person, this class was extremely boring, and I've never been so sleepy in any other lecture. This class does not have lecture slides; Darwiche lectures by writing on a whiteboard the entire time. The midterm and final were entirely fact based, with mainly T/F and MCQ. There was only one free response question on the midterm. The final was entirely T/F and MCQ Make sure to write down EVERY SINGLE WORD Darwiche says to best prepare for the exams. The assignments were very easy, and only ever took less than 4 hours total. I usually started them 2 days before the deadline and was able to turn them in on time. Darwiche applies a curve to everyone's letter grade at the end of the class. Take this class if you want something easy, or enjoy discrete math.
I liked Darwiche a lot, he's a great guy and a nice professor, but this class is all over the place. Each week is like you're learning a whole new subject. It's not a bad class by any means but I feel like s few of the random concepts we learned could've been dropped.
Professor Adnan always explains everything very clear
I really liked the course and certainly learned a lot.
The lectures were clear and the homeworks and exams were fair.
CS 161 is a refreshing overview of AI that focuses primarily on non-machine learning approaches. The course content focuses on formulating problem solving as search, search techniques and optimizations, knowledge representation and reasoning, and Bayesian networks and probabilistic reasoning. There is a small section at the end covering decision trees and neural networks, although honestly the course would be better off without it (leave those to CS M146, where they can be explored in depth). If you enjoyed CS 180, and learning Lisp in CS 131, you will enjoy CS 161.
Most of the homework assignments include some coding portion in Lisp. If you've already taken CS 131, you will already know if you like Lisp or if you hate it (there seems to be no in-between). If you haven't yet, you may discover that functional programming is a refreshing new paradigm that inspires you to broaden your horizons and rediscover a language that drove AI research in the 1960s and 70s... or you may curse yourself for signing up for a 6 week crash course in Lisp and vow to never use a linked list or parentheses anywhere in your code again. The former camp will enjoy this course much more. Overall, the difficulty of the assignments is determined largely by your ability to solve problems in a functional style. If you can do that, the assignments are very easy, and you will probably think this course is easier than most CS electives. If you struggle to think using functional patterns, you may find the homework harder than you expected.
Professor Darwiche is a good lecturer. He explains concepts well, though he sometimes has a tendency to go on what seem like long tangents. It is unfortunate that he didn't post any course notes or written slides, because if you missed something in lecture it's impossible to find it again. The TA slides were somewhat helpful, but didn't always contain all the information from lecture. You should attend lectures live - do not plan on skipping them and still passing the course.
The exams were pretty straightforward, although they do test on practically everything mentioned in lecture. There's unfortunately very little practice material posted to help study for the exams, so it's hard to judge your readiness. The textbook reading is a lot, but it didn't seem like it was necessary to do.
Ultimately, one of the coolest aspects of the class was that Professor Darwiche lecturers on subjects that he researched himself. He doesn't mention it in class, but you can look up topics like d-DNNF circuits and find the research papers that originally proposed those topics, written by Professor Darwiche. It's an incredible opportunity to learn about those topics directly from the source himself, and you probably won't find them in any other undergraduate course at UCLA. That's what a research university should feel like.
This is a great CS elective, and I would definitely recommend CS 161 with Professor Darwiche. Overall, CS 161 focuses more on the conceptual, theoretical aspects of AI. You'll mainly be learning about various search algorithms and optimizations used in AI, as well as various forms of knowledge representation and reasoning that intelligent agents use. The material towards the later part of the course gets much more interesting, when you'll cover Bayesian networks, probabilistic reasoning, and neural networks (more ML type of stuff). Overall, Professor Darwiche was a very engaging lecturer, and took particular care to explain seemingly abstract concepts in a way that we students can easily understand.
Here is a more detailed breakdown of the grading policy:
Homeworks (30% of the final grade): Most of the written HW assignments are quite straightforward and take a few hours max. But some of the homeworks could be quite time consuming. One homework that stood out to me was creating an efficient SAT solver that could determine the satisfiability of boolean statements in CNF with more than 50 variables. The solution was definitely not obvious, and it took me more than 20 hours to eventually come up with an efficient implementation.
Exams: The midterm was worth 30% and final 40% of the course grade. Honestly, exams were more straightforward than I expected them to be, as the questions on them were all clearly related to some concept either in the lectures or in the homeworks. The most important part of doing well on his exams is to really focus on understanding the concepts and understanding them precisely. Just sort of knowing the material won't cut it, since Darwiche's true/false test questions are really detail-oriented and it's quite easy to get them wrong if you aren't careful. For reference, the final was 60 multiple choice and true/false questions and the average was around a 79. Questions on the final often look easier than they actually are.
The final grading was generous. I had an 88% raw score in this class and received A- as my final grade, so there was definitely some kind of curve for this quarter. Overall, highly recommend this class even if you're only slightly interested in AI and you are okay with a bit of theory.
TAKE HIS CLASS! Professor Darwiche is an absolute gem! I got into the class on a last-minute PTE after spring quarter went remote. He has to be one of the most well-adjusted professors out of all of UCLA's remote courses.
From day one, he has been prepared and well-versed with the Sketchbook app to use as a whiteboard (great handwriting too), rarely had tech problems, edited *ALL* of the recorded lectures to correct mistakes on screen and cut out any pauses/wait time. He divided the videos into 2 parts to upload, each 35-40 minutes long, which made it super easy for us to find things when rewatching. Even went to lengths to add his own intro music for the videos and sometimes draws a little daisy on the first slide :')
He always stuck around after lecture to answer students' questions and provided external resources (optional) if you were interested in reading more. He's very patient, used engaging and funny examples, and explained concepts SO well. This was not a class where I had to often re-watch lectures or read the textbook to catch up.
Exam was open book and pretty manageable, exactly what you'd expect based on lecture and homework material. TA's were also very knowledgeable and helpful in discussion (Shirley was great!) There's roughly one homework per week, usually takes less than 4 hours.
I already knew Darwiche was a beloved and highly-regarded professor before enrolling his class, but in contrast to how other professors are handling remote instruction, Darwiche is miles ahead and definitely went above and beyond to make sure students are getting the best out of this course. Really wish I can take another class with him some day!
This is a great CS elective - fairly easy to get an A in, but not trivially easy. It provided a great high-level overview of AI and its applications, but note that it never delved into the details. Taking this online during Spring 2020, I found that online lectures + piazza were actually more helpful than in person lectures, so I appreciate Darwiche's adjustment to unusual circumstances this quarter.
I recommend the CS 131 + CS 161 combo highly, the logic + Lisp learned initially in CS 161 (at a manageable pace) was really helpful for Prolog and Scheme in CS 131 (learned at a breakneck pace), considering Eggert barely teaches anything.
The projects take time, but nowhere near CS 131. Also, the specs are very specific and (mostly) clear, and the Piazza is helpful; hence, while the projects probably take 5-15 hours a week, it's usually closer to ~7, in contrast to the 20-40 hrs/week for CS 131 projects.
Exam advice: We had mostly MCQ questions and an online format for Spring 2020. So I can't really speak to that. But they weren't trivial, although we learned everything in the exams, unlike an Eggert exam.
Final thoughts: Great CS elective with Darwiche, makes sense why it fills up so fast. Learned Lisp, and basic principles in AI, but didn't learn a huge amount regarding ML / AI (aka, not as much as I had hoped). However, this is due to the workload not being too bad, which is good. 5/5 but don't expect a great intro the AI/ML in regards to knowledge; more of a class to pique interest in the field. But not a trivial amount of work, some of the projects take a decent amount of time.
His lectures were great. He would go into great detail for all the material to make sure we all understood what was going on.
First couple of weeks he taught Lisp. Then for a big chunk of the course, we learned about search algorithms (BFS, DFS, IDDFS) and heuristic algorithms (A*) among other types of algorithms. Last portion was about probabilities and Bayesian networks. All the homeworks built off of these topics. You end up coding most of these algorithms, which I think was a good experience.
The exams were fair. You could read the book, but usually just noting what he covers and emphasizes in class is sufficient.
Overall: good experience, would recommend.
This is the best CS class I have taken at UCLA. Professor Darwiche writes the entire lecture on the board rather than reading off slides, making it easy to pay attention. He is very passionate about the subject so that makes the lectures more enjoyable. The weekly HW aligns with what we learn in lectures so we get to test our understanding frequently. The exams were fair and allowed you to do well if you understood the concepts. I enjoyed this class so much that I want to do my master's at UCLA to take more classes with Professor Darwiche!
This class should have an asterisk on it, and indicate that it is a discrete math class. Darwiche is the nicest professor ever, as he extended assignment deadlines when the class collectively asked for it by citing some reason (like an upcoming hackathon, a long weekend, etc). He was also very accommodating for illnesses, and would provide extensions. Despite Darwiche being a great person, this class was extremely boring, and I've never been so sleepy in any other lecture. This class does not have lecture slides; Darwiche lectures by writing on a whiteboard the entire time. The midterm and final were entirely fact based, with mainly T/F and MCQ. There was only one free response question on the midterm. The final was entirely T/F and MCQ Make sure to write down EVERY SINGLE WORD Darwiche says to best prepare for the exams. The assignments were very easy, and only ever took less than 4 hours total. I usually started them 2 days before the deadline and was able to turn them in on time. Darwiche applies a curve to everyone's letter grade at the end of the class. Take this class if you want something easy, or enjoy discrete math.
I liked Darwiche a lot, he's a great guy and a nice professor, but this class is all over the place. Each week is like you're learning a whole new subject. It's not a bad class by any means but I feel like s few of the random concepts we learned could've been dropped.
CS 161 is a refreshing overview of AI that focuses primarily on non-machine learning approaches. The course content focuses on formulating problem solving as search, search techniques and optimizations, knowledge representation and reasoning, and Bayesian networks and probabilistic reasoning. There is a small section at the end covering decision trees and neural networks, although honestly the course would be better off without it (leave those to CS M146, where they can be explored in depth). If you enjoyed CS 180, and learning Lisp in CS 131, you will enjoy CS 161.
Most of the homework assignments include some coding portion in Lisp. If you've already taken CS 131, you will already know if you like Lisp or if you hate it (there seems to be no in-between). If you haven't yet, you may discover that functional programming is a refreshing new paradigm that inspires you to broaden your horizons and rediscover a language that drove AI research in the 1960s and 70s... or you may curse yourself for signing up for a 6 week crash course in Lisp and vow to never use a linked list or parentheses anywhere in your code again. The former camp will enjoy this course much more. Overall, the difficulty of the assignments is determined largely by your ability to solve problems in a functional style. If you can do that, the assignments are very easy, and you will probably think this course is easier than most CS electives. If you struggle to think using functional patterns, you may find the homework harder than you expected.
Professor Darwiche is a good lecturer. He explains concepts well, though he sometimes has a tendency to go on what seem like long tangents. It is unfortunate that he didn't post any course notes or written slides, because if you missed something in lecture it's impossible to find it again. The TA slides were somewhat helpful, but didn't always contain all the information from lecture. You should attend lectures live - do not plan on skipping them and still passing the course.
The exams were pretty straightforward, although they do test on practically everything mentioned in lecture. There's unfortunately very little practice material posted to help study for the exams, so it's hard to judge your readiness. The textbook reading is a lot, but it didn't seem like it was necessary to do.
Ultimately, one of the coolest aspects of the class was that Professor Darwiche lecturers on subjects that he researched himself. He doesn't mention it in class, but you can look up topics like d-DNNF circuits and find the research papers that originally proposed those topics, written by Professor Darwiche. It's an incredible opportunity to learn about those topics directly from the source himself, and you probably won't find them in any other undergraduate course at UCLA. That's what a research university should feel like.
This is a great CS elective, and I would definitely recommend CS 161 with Professor Darwiche. Overall, CS 161 focuses more on the conceptual, theoretical aspects of AI. You'll mainly be learning about various search algorithms and optimizations used in AI, as well as various forms of knowledge representation and reasoning that intelligent agents use. The material towards the later part of the course gets much more interesting, when you'll cover Bayesian networks, probabilistic reasoning, and neural networks (more ML type of stuff). Overall, Professor Darwiche was a very engaging lecturer, and took particular care to explain seemingly abstract concepts in a way that we students can easily understand.
Here is a more detailed breakdown of the grading policy:
Homeworks (30% of the final grade): Most of the written HW assignments are quite straightforward and take a few hours max. But some of the homeworks could be quite time consuming. One homework that stood out to me was creating an efficient SAT solver that could determine the satisfiability of boolean statements in CNF with more than 50 variables. The solution was definitely not obvious, and it took me more than 20 hours to eventually come up with an efficient implementation.
Exams: The midterm was worth 30% and final 40% of the course grade. Honestly, exams were more straightforward than I expected them to be, as the questions on them were all clearly related to some concept either in the lectures or in the homeworks. The most important part of doing well on his exams is to really focus on understanding the concepts and understanding them precisely. Just sort of knowing the material won't cut it, since Darwiche's true/false test questions are really detail-oriented and it's quite easy to get them wrong if you aren't careful. For reference, the final was 60 multiple choice and true/false questions and the average was around a 79. Questions on the final often look easier than they actually are.
The final grading was generous. I had an 88% raw score in this class and received A- as my final grade, so there was definitely some kind of curve for this quarter. Overall, highly recommend this class even if you're only slightly interested in AI and you are okay with a bit of theory.