Professor
Bao Wang
Most Helpful Review
Fall 2019 - I took AP Computer Science A in high school, so I considered this class a relatively easy refresher, especially at the beginning, but I can honestly say that Prof. Wang is one of the worst teachers I have ever had. He makes decent slide show presentations, but that is about the extent of his "teaching" skills, as he spends the few lectures he bothers to show up to reading directly off the slides and is rarely able to answer student questions when they come up. His homework assignments are exceptionally easy for anyone with previous programming experience, and I considered his midterm relatively straightforward as well, but the class average was 57%, and based on what I heard from other students, much of the work was nearly impossible for those who had never coded before. Overall, I would take Prof. Wang for an easy A if you have a decent amount of programming experience, but otherwise, take this class with another professor.
Fall 2019 - I took AP Computer Science A in high school, so I considered this class a relatively easy refresher, especially at the beginning, but I can honestly say that Prof. Wang is one of the worst teachers I have ever had. He makes decent slide show presentations, but that is about the extent of his "teaching" skills, as he spends the few lectures he bothers to show up to reading directly off the slides and is rarely able to answer student questions when they come up. His homework assignments are exceptionally easy for anyone with previous programming experience, and I considered his midterm relatively straightforward as well, but the class average was 57%, and based on what I heard from other students, much of the work was nearly impossible for those who had never coded before. Overall, I would take Prof. Wang for an easy A if you have a decent amount of programming experience, but otherwise, take this class with another professor.
Most Helpful Review
Winter 2019 - TLDR: This guy sucks in every way possible. DO NOT take him. For the record, this is the first time I wrote a review this long because I feel the need to share how much this professor annoyed me throughout the quarter. I will just list out some facts about this professor, unbiased. FACTS: 1. His English has a strong accent, and his wordings show the exact opposite of proficiency in terms of explaining any of the stuff. 2. His slides are basically a copy either from cplusplus.com/doc/tutorial/ or something from stackoverflow; he rarely puts the effort in making a proper slide. 3. Aside from being a copy, his slides are usually just a bunch of white background with tons of words on them. 4. In the so-called "Lectures", he mostly just read whatever is on his slides out loud, with minimal explanations sometimes to the easy parts of the concepts, and the hard parts are often ignored. (FYI, this means his lectures are basically book-reading sessions with whatever he copied from elsewhere) 5. He does not emphasize on important stuff, but would spend 15 minutes talking about trifle matters at the start of the class, like how many people submitted the homework late or how he will not tolerate that in the next time, and the same speech again the next time a homework is due (FYI, it is a 50 minute class). 6. His class is the least engaging (which you probably guessed from earlier), but it seems that he does not even make attempts to make it slightly more engaging. 7. His code-writing demo often does not work, sometimes even when he was doing copy and paste from other's working codes for mysterious reasons. 8. He copies homework problems from the Internet, mostly from leetcode. 9. His homework questions are really unclear, the harder part would be trying to figure out what he wants (I will provide an example later), and when you inquire about the homework questions, his standard explanation for every question is simply "whatever you want" with/without the extension of "as long as it works." Example for #9: He wanted us to write a void function reverse(string str1) to reverse the order of characters of str1, and return a string str2, consisting of the reversed string. For those who have no idea what I am talking about: a void function is not supposed to return anything, so this is contradictory. And when inquired, the professor replied "whatever you want", leaving the class in confusion. 10. Aside from unclear homework requirements, his homework can also have changing requirements. (Example below as well) Example for #10: On the first class, he published the homework that required us to program a non-interactive tic-tac-toe game (one with 2 human players, without an AI), and two days later, he wants an interactive version (one with AI and just 1 human player), which caused a widespread panic among the class, and just when everybody has either completed the job or half-way through, he says the homework only ask for a non-interactive one. Aside from that, when he is inquired about what he wants the day before deadline, and he used the standard explanation as above "whatever you want," and in the end many people got a bad score because the grader find their works having not passed all test(while some were intended for god-knows-which version) 11. He can be very obvious when he favors a student or dislikes one. 12. He refuses helping students debug, not even a short glimpse in most cases. 13. His tests are not absurdly hard, but be advised that he may include stuff that is barely went through or never thoroughly explained and put a somewhat heavier emphasis on them. 14. He can take points off from an answer that would compile and would fulfill everything required in the question when the answer is not identical with what he planned in mind. 15. He can refuse regrading a test paper while it is obviously graded wrongly 16. He can refuse explaining something on the test that is not necessarily explained previously, and tell the student to "google it" (and I quote "google it" from his office hour) 17. I was once in his office hour and another student asks for a regrade on a specific question on the final, and he not only refused to look at it, but also said that he will take more points off from the student if the student insisted him to take a look at the answer and the answer is wrong. He explicitly said to that student that "This is a gamble." (which is absurd because a). how is it reasonable to take more point off for a regrade request? and b). This whole "gamble" thing just scares me because this implies that there is no formal rubric for the partial credits and the grading of the final)
Winter 2019 - TLDR: This guy sucks in every way possible. DO NOT take him. For the record, this is the first time I wrote a review this long because I feel the need to share how much this professor annoyed me throughout the quarter. I will just list out some facts about this professor, unbiased. FACTS: 1. His English has a strong accent, and his wordings show the exact opposite of proficiency in terms of explaining any of the stuff. 2. His slides are basically a copy either from cplusplus.com/doc/tutorial/ or something from stackoverflow; he rarely puts the effort in making a proper slide. 3. Aside from being a copy, his slides are usually just a bunch of white background with tons of words on them. 4. In the so-called "Lectures", he mostly just read whatever is on his slides out loud, with minimal explanations sometimes to the easy parts of the concepts, and the hard parts are often ignored. (FYI, this means his lectures are basically book-reading sessions with whatever he copied from elsewhere) 5. He does not emphasize on important stuff, but would spend 15 minutes talking about trifle matters at the start of the class, like how many people submitted the homework late or how he will not tolerate that in the next time, and the same speech again the next time a homework is due (FYI, it is a 50 minute class). 6. His class is the least engaging (which you probably guessed from earlier), but it seems that he does not even make attempts to make it slightly more engaging. 7. His code-writing demo often does not work, sometimes even when he was doing copy and paste from other's working codes for mysterious reasons. 8. He copies homework problems from the Internet, mostly from leetcode. 9. His homework questions are really unclear, the harder part would be trying to figure out what he wants (I will provide an example later), and when you inquire about the homework questions, his standard explanation for every question is simply "whatever you want" with/without the extension of "as long as it works." Example for #9: He wanted us to write a void function reverse(string str1) to reverse the order of characters of str1, and return a string str2, consisting of the reversed string. For those who have no idea what I am talking about: a void function is not supposed to return anything, so this is contradictory. And when inquired, the professor replied "whatever you want", leaving the class in confusion. 10. Aside from unclear homework requirements, his homework can also have changing requirements. (Example below as well) Example for #10: On the first class, he published the homework that required us to program a non-interactive tic-tac-toe game (one with 2 human players, without an AI), and two days later, he wants an interactive version (one with AI and just 1 human player), which caused a widespread panic among the class, and just when everybody has either completed the job or half-way through, he says the homework only ask for a non-interactive one. Aside from that, when he is inquired about what he wants the day before deadline, and he used the standard explanation as above "whatever you want," and in the end many people got a bad score because the grader find their works having not passed all test(while some were intended for god-knows-which version) 11. He can be very obvious when he favors a student or dislikes one. 12. He refuses helping students debug, not even a short glimpse in most cases. 13. His tests are not absurdly hard, but be advised that he may include stuff that is barely went through or never thoroughly explained and put a somewhat heavier emphasis on them. 14. He can take points off from an answer that would compile and would fulfill everything required in the question when the answer is not identical with what he planned in mind. 15. He can refuse regrading a test paper while it is obviously graded wrongly 16. He can refuse explaining something on the test that is not necessarily explained previously, and tell the student to "google it" (and I quote "google it" from his office hour) 17. I was once in his office hour and another student asks for a regrade on a specific question on the final, and he not only refused to look at it, but also said that he will take more points off from the student if the student insisted him to take a look at the answer and the answer is wrong. He explicitly said to that student that "This is a gamble." (which is absurd because a). how is it reasonable to take more point off for a regrade request? and b). This whole "gamble" thing just scares me because this implies that there is no formal rubric for the partial credits and the grading of the final)