Harry Xu
AD
Based on 38 Users
Read 5 papers/week and a written couple of paragraphs for each. One main project. One paper presentation. Very time consuming. Learn a lot through reading and discussions.
I will separate my review into several parts: Lecture, Labs/Discussion, and Exams.
Lecture: Hairy Shoe's lecture is basically just him reading off of the slides he prepared. I don't think most people knows what he is doing during lecture. When people ask him questions, he usually answers in a way that doesn't answer the question. So imagine asking him, "Do you like apples?" He would answer something like, "Apples are red, RiGhT?" Hairy talks in an aggressive tone whenever he is talking about something he assumes we should all know (maybe it is because the amount of "RiGhT?!"s he uses in lecture). I will give him credit that the things he mentioned in the reviews are very likely to be on the exams. But beware, even if he tells you what he'll put on the test, the test is still hard lol.
Labs/Discussion: Sicheng is literally godsend. I cannot survive this class without Sicheng's slides and discussion. His slides are amazing (sometimes giving you the answers directly) and he is x1000 clearer at explaining things than Hairy Shoe. He only needs 2 minutes to explain something clearly whereas Hairy takes the whole lecture and no one understands. Anyways, the labs are easy. Which is the only good thing about this class. I honestly don't think Hairy even knows what we are doing for the labs cuz we aren't tested on them.
Exams: Slightly better than Eggert but still hard. For the midterm, he tested us on several scheduling algorithms and replacement policies. We had to write down each step for each scheduling algorithm/replacement policies (CFS, clock, LRU...), so be sure to know how to do that. Also know how to do page translations... Hairy seems to be pretty lazy about the practice problems before the exams. He uses practice problems from UT and Jon's past midterm exams. He doesn't even filter the questions because there are several questions that are out of scope. I really question if he even checked the questions before posting it... My suggestion is to know all the stuff on his review slides and copy the examples he mentioned in lecture because he might just copy-paste them to the exam (if he allows cheat sheets).
Overall, I didn't enjoy this class but I still think I learned something important. Also Hairy doesn't curve so be sure to do well for the labs :)))
This class was a lot of work. There are four labs plus an intro lab that all require quite a lot of time, and there's not a lot of overlap between the labs and class material. The TAs were mainly responsible for explaining and helping with the labs. Professor Xu is an ok lecturer, but he was very accommodating and tried his best to make the class more manageable for students. The midterm and final were difficult, but the professor did provide practice problems for the final, which helped.
I honestly don't know why everyone is complaining about this professor. I thought that this was an excellent, engaging class and really enjoyed lectures. The difficulty of this class did not live up to its reputation as the second hardest CS class at UCLA; labs compared to 35L were very easy (taking max 6 hours each, probably less for some of them), and the TA's discussions made it very clear as to what needed to be done. Although the professor did use slides from other universities, I thought he knew he was talking about and could convey the information in an interesting and knowledgeable way. When people were confused, he took the time to go over the material more thoroughly and answer any questions they had; he was also willing to stay after class a lot to answer any questions (sometimes staying for almost half an hour after class). Also, he was very eager to accommodate student requests, such as more practice problems (though admittedly these weren't always reflective of the types of problems he would ask on exams), COVID accommodations (lectures were both live and on zoom, and he also held an online final for those quarantining), etc.
I also thought it was great how he explained everything from the ground up. Although Bruinwalk seemed to think that Professor Reinman for CS33 was a great professor, I personally found him really confusing (and consequently the class really hard) because he would never explain some of the technical terms that he would use. In contrast to this, Professor Xu would define his terms when he could, and when it was too inconvenient, he acknowledged that sometimes he would use a term before defining it, making it clear what he expected you to know and not know at particular points in time. Thus, I found this class to be of similar difficulty to CS33 even though it was supposed to be much harder.
While Professor Xu's exams were tough, I thought they were fair. The midterm was definitely a time crunch -- I didn't complete a lot of it and ended up getting a D- on it. However, with a little bit of consistent study and practice problems, I managed to get an A- on the final. While the problems on the midterm/final are more hands-on than you would expect (page tables drove me crazy), I thought that they were an extension of what was taught in class. For some of the problems on the midterm/final, the professor spent a lot of time in lectures going over similar problems, and sometimes straight up told the class that a certain type of problem would be on the midterm/final; for others, you needed to do a few practice problems on your own so that you knew the different ways those problems could be asked. Extra studying for midterm/final problems is definitely needed, but if you do that then you should be in a good position for the exams.
I will say that there was a lot of contention about the grading/answers of the midterm (there were some typos/expectations not clearly conveyed/randomly changed definitions of stuff), but the TAs and the professor made sure to give points for each way a question could be interpreted.
Professor Xu also said at the beginning of the quarter that he decided not to curve the class. I think I saw some other reviews complaining that there was no curve, but they also neglected to mention that the professor had a very generous grading scale (95+ = A+, 90 - 95 = A, 85 - 90 = A-, 80 - 85 = B+, etc.). This grading scale probably helped more than a curve because I believe people did very well on labs and didn't do too badly on exams (which I think had an avg of 72 and 77 or something).
As others mentioned, Sicheng was great. Highly recommend him.
TDLR: professor was great, I had a lot of fun and this class wasn't too much work (no 20 hour projects!) and definitely was not the second hardest CS class (I thought 35L was much worse). But don't expect it to be too easy.
Honestly CS 111 is never a very easy class, but taking it with Prof. Xu makes it a little better, since the exams are not that hard. But one thing worth notice is that Harry reused his old midterms (which are actually available in the test bank), making the exams in some degree unfair and many students having crazy high scores in the midterm. Projects are A LOT OF WORK- basically no weekend. Just pray you get a helpful TA... And for the pace of the class, yes, that's a big problem. Harry fall behind his schedule 2 weeks or so, so when the quarter approaches the end, ummm..., things went fast.
I actually really liked this class, certainly better than any Eggert-taught class I've taken (though I think that's more of a personal preference). Sure, the projects were a lot of work, but that's what you expect from CS 111. I really appreciated how the lectures were generally pretty easy to follow and to understand - him posting his slides certainly helped. The only problem with this class that I have is the down curving. I got a 94.78% and got an A-. Apparently the cut-off was 95% and there was no rounding. Ah well.
Also, the textbook is phenomenal! Highly recommend you read it, especially since it's available for free online.
I will separate my review into several parts: Lecture, Labs/Discussion, and Exams.
Lecture: Hairy Shoe's lecture is basically just him reading off of the slides he prepared. I don't think most people knows what he is doing during lecture. When people ask him questions, he usually answers in a way that doesn't answer the question. So imagine asking him, "Do you like apples?" He would answer something like, "Apples are red, RiGhT?" Hairy talks in an aggressive tone whenever he is talking about something he assumes we should all know (maybe it is because the amount of "RiGhT?!"s he uses in lecture). I will give him credit that the things he mentioned in the reviews are very likely to be on the exams. But beware, even if he tells you what he'll put on the test, the test is still hard lol.
Labs/Discussion: Sicheng is literally godsend. I cannot survive this class without Sicheng's slides and discussion. His slides are amazing (sometimes giving you the answers directly) and he is x1000 clearer at explaining things than Hairy Shoe. He only needs 2 minutes to explain something clearly whereas Hairy takes the whole lecture and no one understands. Anyways, the labs are easy. Which is the only good thing about this class. I honestly don't think Hairy even knows what we are doing for the labs cuz we aren't tested on them.
Exams: Slightly better than Eggert but still hard. For the midterm, he tested us on several scheduling algorithms and replacement policies. We had to write down each step for each scheduling algorithm/replacement policies (CFS, clock, LRU...), so be sure to know how to do that. Also know how to do page translations... Hairy seems to be pretty lazy about the practice problems before the exams. He uses practice problems from UT and Jon's past midterm exams. He doesn't even filter the questions because there are several questions that are out of scope. I really question if he even checked the questions before posting it... My suggestion is to know all the stuff on his review slides and copy the examples he mentioned in lecture because he might just copy-paste them to the exam (if he allows cheat sheets).
Overall, I didn't enjoy this class but I still think I learned something important. Also Hairy doesn't curve so be sure to do well for the labs :)))
This class was a lot of work. There are four labs plus an intro lab that all require quite a lot of time, and there's not a lot of overlap between the labs and class material. The TAs were mainly responsible for explaining and helping with the labs. Professor Xu is an ok lecturer, but he was very accommodating and tried his best to make the class more manageable for students. The midterm and final were difficult, but the professor did provide practice problems for the final, which helped.
I honestly don't know why everyone is complaining about this professor. I thought that this was an excellent, engaging class and really enjoyed lectures. The difficulty of this class did not live up to its reputation as the second hardest CS class at UCLA; labs compared to 35L were very easy (taking max 6 hours each, probably less for some of them), and the TA's discussions made it very clear as to what needed to be done. Although the professor did use slides from other universities, I thought he knew he was talking about and could convey the information in an interesting and knowledgeable way. When people were confused, he took the time to go over the material more thoroughly and answer any questions they had; he was also willing to stay after class a lot to answer any questions (sometimes staying for almost half an hour after class). Also, he was very eager to accommodate student requests, such as more practice problems (though admittedly these weren't always reflective of the types of problems he would ask on exams), COVID accommodations (lectures were both live and on zoom, and he also held an online final for those quarantining), etc.
I also thought it was great how he explained everything from the ground up. Although Bruinwalk seemed to think that Professor Reinman for CS33 was a great professor, I personally found him really confusing (and consequently the class really hard) because he would never explain some of the technical terms that he would use. In contrast to this, Professor Xu would define his terms when he could, and when it was too inconvenient, he acknowledged that sometimes he would use a term before defining it, making it clear what he expected you to know and not know at particular points in time. Thus, I found this class to be of similar difficulty to CS33 even though it was supposed to be much harder.
While Professor Xu's exams were tough, I thought they were fair. The midterm was definitely a time crunch -- I didn't complete a lot of it and ended up getting a D- on it. However, with a little bit of consistent study and practice problems, I managed to get an A- on the final. While the problems on the midterm/final are more hands-on than you would expect (page tables drove me crazy), I thought that they were an extension of what was taught in class. For some of the problems on the midterm/final, the professor spent a lot of time in lectures going over similar problems, and sometimes straight up told the class that a certain type of problem would be on the midterm/final; for others, you needed to do a few practice problems on your own so that you knew the different ways those problems could be asked. Extra studying for midterm/final problems is definitely needed, but if you do that then you should be in a good position for the exams.
I will say that there was a lot of contention about the grading/answers of the midterm (there were some typos/expectations not clearly conveyed/randomly changed definitions of stuff), but the TAs and the professor made sure to give points for each way a question could be interpreted.
Professor Xu also said at the beginning of the quarter that he decided not to curve the class. I think I saw some other reviews complaining that there was no curve, but they also neglected to mention that the professor had a very generous grading scale (95+ = A+, 90 - 95 = A, 85 - 90 = A-, 80 - 85 = B+, etc.). This grading scale probably helped more than a curve because I believe people did very well on labs and didn't do too badly on exams (which I think had an avg of 72 and 77 or something).
As others mentioned, Sicheng was great. Highly recommend him.
TDLR: professor was great, I had a lot of fun and this class wasn't too much work (no 20 hour projects!) and definitely was not the second hardest CS class (I thought 35L was much worse). But don't expect it to be too easy.
Honestly CS 111 is never a very easy class, but taking it with Prof. Xu makes it a little better, since the exams are not that hard. But one thing worth notice is that Harry reused his old midterms (which are actually available in the test bank), making the exams in some degree unfair and many students having crazy high scores in the midterm. Projects are A LOT OF WORK- basically no weekend. Just pray you get a helpful TA... And for the pace of the class, yes, that's a big problem. Harry fall behind his schedule 2 weeks or so, so when the quarter approaches the end, ummm..., things went fast.
I actually really liked this class, certainly better than any Eggert-taught class I've taken (though I think that's more of a personal preference). Sure, the projects were a lot of work, but that's what you expect from CS 111. I really appreciated how the lectures were generally pretty easy to follow and to understand - him posting his slides certainly helped. The only problem with this class that I have is the down curving. I got a 94.78% and got an A-. Apparently the cut-off was 95% and there was no rounding. Ah well.
Also, the textbook is phenomenal! Highly recommend you read it, especially since it's available for free online.