- Home
- Search
- Michael Tsiang
- All Reviews
Michael Tsiang
AD
Based on 248 Users
It has been a whole year since the last review, and there have been some changes since then. I hope this long review/guide will give you a better understanding of what this class will be like:
***1. Grading Structure (original scheme on the syllabus, see comment for adjustments and actual grading structure):
18% Homework, 20% MT 1, 20% MT 2, 30% Final, 12% Final Project, 1% Extra credit for Discussion Attendance, 0.5% Extra credit for Campuswire participation
- Mike made several adjustments during the quarter to alleviate stress for students, including: #1. Canceling the final project #2. Allocating 25 pts to the better MT score and 15 to the other. #3. Grading the homework on satisfactory completion, rather than correctness (although the graders will provide helpful comments if your code doesn’t pass certain cases). #4. Dropping the lowest homework (best 7 out of 8) and #5. Giving everyone the attendance credit
***2.Grade distributions:
MT1: Mean 62.67; Quartiles: 55, 61.67, 76.25
MT2: Mean 64.47; Quartiles: 51.67, 65, 76.67
Final: Mean 67.9; Quartiles: 55.56, 68.89, 80
Don’t get scared yet and read on. According to the professor, here is your rough letter grade break down (before the curve at the end of the quarter) if your performance is consistently:
In the lower 25% (x < Q1): B/B-
In the lower 25%-50% (Q1 < x < Q2): A-/B+/B
In the upper 25%-50% (Q2 < x < Q3): A/A-
In the upper 25% (x > Q3): A+/A
***3.General remarks:
--> On lectures: Professor Tsiang uploads lecture videos ahead of time, so the scheduled lecture times are really office hours. I recommend watching the lectures ahead of time and coming to OH with questions about concepts or HW. Although Mike follows his lecture notes closely in the videos, you should still watch the lectures instead of just reading the notes, since you see the process of building functions (plus the professor will mention some small examples and conceptual details that are not in the notes)
--> On homework: the homework assignments are graded on satisfactory completion so don’t panic if you are stuck on a question. Try to complete as many parts as you can and write out pseudocode/ thoughts on how the logic should go for the others that you are stuck on. There is also a 1 day grace period (meaning you can submit your homework up to 24 hours late without penalty). I don’t recommend stressing and working on the HW till the last minute of the grace period. It’s better to turn in parts that show effort than pushing for the complete solution and missing the deadline. The professor and the learning assistant are willing to discuss the homework with you after submission so you can always go back and finish the solution.
--> On getting help: You should definitely ask questions on Campuswire, which is pretty active (Mike responds quickly, and other students give advices as well). There are a few things to note: #1. Please search up if someone has already asked the question and has gotten an answer. Professor Tsiang and the TAs in this case will most likely just respond with a link to the old post. #2. Both Mike and the TAs do not like giving away too much of the answer and their hints may seem “cryptic”. Please be patient and know that this is the necessary struggle for you to figure something out slowly on your own. Feel free to follow up after you have made a little progress with that hint to get the next hint. My suggestion for you is to discuss your thought process with Mike at his OH, where he is more prone to give away a bit too much ;)
--> On this course’s reputation: Stats 20 seems to have a notorious reputation now mainly due to students’ past experiences with Jake. Here’s my thought and I implore you to read it through before judging. Jake is very knowledgeable in the course material and passionate about student learning. He is, however, not the most patient when students ask questions that have been answered before or do something in the code that is explicitly forbidden in the instructions. If you paid attention to the lectures, followed the rules, and asked a thoughtful question, he will most definitely try to give you a helpful response (subject to #2 from “On getting help”). Jake wants to challenge students to think about how could everything go wrong, which is why he focuses on edge cases; this is why I think him being a not-so-beginner-friendly TA for a very tough class really stresses out students and makes them feel like he is adding unnecessary difficulty. If you disagree with my thoughts, that is fine. I also agree that Jake can try to be more approachable to reduce unintentional tension in interactions with students. HOWEVER, I ask you to please voice your suggestions/frustrations in your course evaluations, not on Reddit. We have had enough posts that it has descended into a trend of hate bashing (I suspect that there are individuals who have not even take the course writing on the posts). I write my review here also so that it does not get drowned out immediately by mindless downvotes. I do not want this to become a hateful “urban legend” that scares off students who are interested in Stats and want to take this class. Anonymity allows lots of toxicity in the threads, and I urge you not to add more. For everyone who took Stats20 this fall, if you think I am BSing or doubt my identity, feel free to reach out and talk to me - R.B.
--> On difficulty and succeeding in this class: The class is very challenging but will cover many key concepts that will allow you to straight-up start working on some data analysis projects. You will need to devote lots of time to homework and should do some exploring on your own (playing with functions and see how they work together) to truly get a strong understanding. Mike will tell you many times to focus on the learning and let him take care of the grades. Please have some faith in his statement, even if you are struggling, because he does mean it. As you can see from the stats from the Grade distribution section, your numeric score doesn’t even come close to the letter grade you may associate it with. Mike spends a lot of time at the end of the quarter applying curves and assigning grades because he knows it is a hard class. Have faith in yourself. You most definitely will not come even close to failing if you’ve put in the effort. Lastly, if you need help - an HW extension or reschedule MT due to time zone - reach out to Mike; he cares about students’ mental being and is aware of the difficult times we live in. I am sure he will help you out as much as he can.
This review is particularlly for those who will or wish to take this class with Michael after summer of 2021. LOTS OF THINGS HAVE CHANGED, so this review might give you a kind of portrait of how this class looks like.
-
**If you have coding experience before, this class should be very easy for you. Just take this class with Michael if you are confident with you coding. You can get an A easily if you have medium to strong coding basis.
-
The lecture: Michael is an excellent lecturer, and with his notes posted on CCLE, he also makes his class understandable for those who have no coding experience before. The lectures are podcasted and posted on CCLE so it is possible not to go in person. Besides, the lectures are super clear and self-explanatory.
-
Grading distribution: 20% Midterm 1, 20% Midterm 2, 30% Final, 15% Homework, 10% Final project, 3% Discussion Participation, 2% Campuswire Participation (with 1% extra credit).
-
The grading is pretty nice. This class is not based on the absolute scale, which means this class is curved based on the class performance. Roughly, the top 25% of the class is in A+/A range, 25%-50% is in A/A- range, 50%-75% is in A-/B+/B range, 75%-100% is in B/B-/lower range. Just for your reference, about 40% of the class get an A/A+ at the end, so the A rate is roughly 35% - 40%. Michael eventually allocate 25% to the better midterm and 15% to the lower one, so final grade should be boosted.
-
The exams, especially midterm 2, are quite tough. If you have no coding experiences, you might have to work very hard to get yourself into the top 25%. The worst thing I think is that the total marks of each exam is very low, around 30 marks in total. So you cannot afford to lose many points. There are around 15 multiple choice questions and three free reponse questions for each midterm. If you fail to answer one single free response, then you are screwed. The final is around 15 multiple choice, 10 short answer, and 5 free response. Overall, you cannot afford to lose many points in the exam.
-
The homework: Homework tasks are assigned either weekly or biweekly, and they are graded based on completion. So as long as you attempted all the questions, you will get the full mark. However, these tasks are VERY VERY time consuming. If you are not CS major/not very famililar with coding, then spending more than 3 hours, probably average 5 hours on each hw is highly possible. Make sure you understand all the basic and intermediate questions in the hw to get yourself well prepared for the exams.
-
The project: Michael cancelled the project at the end of the quarter, which is very nice. So the final grades are calculated and divided by 90 in total.
-
Overall, this class is a major-like class, which means it is not easy at all. You will definitely learn lots of coding things of R language, but you do have to spend lots of time on this class. You should also prepare comprehensively for the exams to get a decent grade. Michael is one of the most professinal instructors and best lecturer I've ever met. His lectures are very clear and easy to follow. If you have extra coding experience or foundation, this class wont be that hard, and getting and A is definitely highly possible.
To start off my review, I want to say that any review before fall 2019 is completely unrepresentative of this class. For an introductory programming class, this is an extremely demanding and difficult course, especially if you have little to no programming experience before. While Mike is a very nice professor, he is really nothing more than a presenter for lectures. All he does is read off his notes, which makes going to lectures pretty useless. His notes are clear, but he has restructured the class in a way they are unhelpful. Mike pushed the chapter on loops to the beginning of the class (used to be the second to last chapter), but none of the notes until the LAST CHAPTER use loops, but all the homework do so you're left extremely confused on the very lengthy and time consuming homework assignments. The real problem with the class is TA Jake Kramer. He's responsible for the most difficult problems on the homework (ranked choice voting) and enforcing a general policy of being unhelpful for all other TA's and Mike too. He is also responsible for putting RIDICULOUS problems on the exams that over 90% of the class gets wrong and you will only get if you come across them by pure chance messing around in R. These questions don't even test general knowledge of R and with the 45 minutes you have for the exams its extremely difficult to even finish them. Jake and Mike might read these reviews and scoff at them, but when the averages are 58% and 53% on the midterms and a third of the class gets a 0% on one homework assignment because they have EVEN ONE syntax error in their answers, there is a clear problem with the class. Ironically, having Jake as your TA might be the best thing because then you can maybe pick up on what, type of edge-case problems he might throw in the exam.
Mike and Jake are very active on campuswire, which seems helpful at first , but only leave these cryptic answers that leave you more confused. Even if its a question with the instructions on their own problem, they won't even give you a simple yes or no.
In the end. I would say if you have to take this class, do not take this class with an already demanding and difficult schedule. But most importantly, IF YOU WANT TO SEE ANY CHANGE IN THIS CLASS, DO THE FACULTY EVALUATIONS, ESPECIALLY FOR YOUR TA'S
Jake took my lunch money and sacrificed my laptop on an altar dedicated to the creators of R. As I tried to stop him, he teleported behind me and quietly yelled into my ear “You used a colon operator instead of seq_len(), rookie. Prepare for a fate worse than death”. He then ran rm() on me to temporarily remove me from existence. When I came back, all I saw was my laptop, bloodied and mangled on the floor surrounded by a pentagram with the R logo in the middle, along with a note that said “Next time, make your code neat, kiddo. Otherwise, I won’t load() you back in.” I’ll never forget that day.
Midterm 1: 56/100 (average = 55)
Midterm 2: 25/100 (average = 48)
Final Exam: 37/100
Project: 58/100 (I did and answered everything, typed 500+ lines of code within week 10 and finals week, but the code 'was not up to standard'. Oh yeah, he released the final project in Week 10, wtf)
So I thought I was going to fail obviously and be on academic probation, losing all my scholarship funding. But then I got a B at the end. Although I appreciate this grade at the end, I have never felt so stressed before. In fact, I have never EVER cried/had dark thoughts about a class before. Take at your own risk. I was going to take this class for fun and I became depressed.
I took Michael Tsiang during the summer during 2018, with Jake Kramer as a TA.
I should have written a review earlier, but I was hesitant because I thought I was the only person who had a bad opinion of him and Jake Kramer. Apparently, that's not the case.
Why I didn't like Michael Tsiang and Jake Kramer:
1. HW assignments were not clear with instructions. I asked Michael Tsiang if he wanted us to use a specific function, but he said it's up to the grader. Funny thing is, professors are supposed to be in charge. Our grader, Jake Kramer, didn't tell us which function he is looking for but dings us off for inefficient codes. This is supposed to be a beginner-friendly class because there are many people learning how to code for their first time. Also, what's the point of being REALLY VAGUE on homework assignments and then taking off points for that even though many of us had the correct output? It's not even the students' fault at this point.
2. Lectures aren't really worth going to. Michael Tsiang just reads off his slides. You're better off ditching and just learning yourself, and then ask questions at another professor's office hour. Don't waste your time with Tsiang or Kramer's office hours.
3. Jake Kramer does irrelevant things in general and it seems like he's trying to "flex" his knowledge on his students. His practice midterms are questions on steroids that even most professors can't solve. It's really a waste of time on both ends if the exam is going to be totally different from the practice midterm.
4. The definition of acceptable does not mean full credit, according to Jake Kramer. He will say that some things are acceptable on Piazza, but then dings you off anyways because "acceptable does not mean full credit."
5. "Don't worry about your grade" is the biggest lie I've ever heard. I ended up with a B- in this class because of the outrageous difficulty with the homework assignments. Homework assignments are meant to buffer your grades from low exam scores, but my homework assignment grade definitely dragged me down.
I guess one good thing I can say about Tsiang and Kramer is that they care about our learning beyond classroom material.
If you're planning on taking this class, don't listen to these older reviews. They may have been more appropriate in Fall and Winter 2019, but Mike has really made this a very nice course to take. It's slightly tough(probably easier than 2019), but he's changed a lot about the class so that it doesn't kill you mentally. For one, he made homework grading based on satisfactory completion rather than accuracy. Second, he allowed 24 hour late submissions on each homework. So, he was generally really supportive of students and made sure to echo this belief in the occasional email he sent us. Exams were timed and while most questions were straightforward, some were slightly challenging. However, he curves and pretty generously at that(2/3rds of the class gets some form of an A IIRC, no one fails). Coming to his lectures, he puts up recordings of them with chapter notes, and hosts an Office Hours during lecture time, when you can just come around, ask doubts, hang out. His lectures are really nice - he is super clear, coherent, and makes everything easy to understand. The LAs and TA are also really knowledgeable and helpful!(Take advantage of their help if you can!) Overall, I would definitely take this class again, even if it wasn't the easiest. I've sat through so many lower divs thinking I never really learnt/retained much; However, this wasn't one of those classes. I had a genuinely nice and fun time solving these problems and learning the things I did. 10/10
NOTE - Can't tell if Mike won't change his class structure here and there for in-person classes. You should probably check with him then
Ok in all honesty, Prof. Tsiang was not nearly as bad as these reviews make him out to be. To be entirely fair, I did not have Jake as a TA, and I never interacted with Prof. Tsiang personally, so I can't comment on them as people.
But Prof. Tsiang was shockingly fair. I came in with very, very low expectations. First of all: the homework, at least when I took it, was based on effort. Not on correctness, which from the previous reviews, I assume is a new grading metric. It's INCREDIBLY nice. Yes, the homework takes an unbelievable amount of time, but you'll get 100% as long as you try. And yes, they answer questions with questions; they don't give the solutions away, which can be frustrating. But it honestly helped me improve over the quarter.
He also dropped the final project and chose to drop the lowest homework score. Midterms and finals were, as described, very difficult. Questions were extremely hard to answer within the time constraint. But, he curved the entire class. I got an 80 on the first midterm, 50 on the second, and 60 on the final, and ended with an A. That's some hella strong curving.
I won't say that the past reviews are invalid, but it does seem that he's changed the class quite a bit to adjust to this criticism. It's not bad at all anymore, and I found myself actually enjoying it as someone with no programming experience. :)
I took mike's stats 20 before, mike is very nice, especially on curving. I was glad that I took his 102A, but unfortunately we had a WORSE TA. In my session, 50% hw, 10% midterm, 10% midterm project, 15% final exam, 15% final project, 0.5% campus wire for extra credit.
I do not know why and how can one TA do so much stuff. If you have JAKE as TA, drop the class. JAKE is the WORSE TA I have ever met in UCLA. felt like JAKE made all the hw, and hw never matched the lecture, they were not on the same level, it just like prof. teach you how to calculate 1+1, and the hw ask you to take the partial derivative of the function. Midterm project, final project tough. The midterm was super TOUGH, within 50 mins, undoable questions. Final was better than midterm but still TIOUGH and not related to the lecture.
I felt sad that I did not hear JAKE before 102A, if I know he is this kind of person, I would drop the class immediately. TRUST ME.
The professor is clear since he posted his lecture note online. But the structure of the course is horrible!! Trust me and if you don't believe, just ask anyone who has taken fall 2019 stat20. The homework is unnecessarily difficult and all the TAs and professors won't give out the solutions or any hint ( sometimes even TAs don't understand what the homework question mean). As a stu with CS background, I lost point simply because the TA Jake's secret rubric : you're a new coder and this doesn't seem to be okay to me. And even they follow a strict rubric, they never post it so we won't realize the mistake until we get point deducted. The first homework average is 70 and midterm 1 exam average is 60 because he adds free-response question. Also, he adds a lot of homework. 3 hw due right before midterm 2. Although he encourages us to take care of health, but this kind of irrational amount of work and waste of time is not necessary. Would rather take more CS courses to gain insights and more reasonable logic and self study code. (they even don't allow to store variable name to another varible to save memory but this makes no sense for CS stu who takes CS33! cuz R is such a low-level and basic language. If you know CS, you would know a lot of things they post are nonsense). Also, I feel that for this class, you just memorize the syntax and that's it, which is so boring. I feel the stat dep change the structure of stat20 simply to weed out more people who intend to major in stat cuz it is hard to get stat courses and stat advisor is not good either.
It has been a whole year since the last review, and there have been some changes since then. I hope this long review/guide will give you a better understanding of what this class will be like:
***1. Grading Structure (original scheme on the syllabus, see comment for adjustments and actual grading structure):
18% Homework, 20% MT 1, 20% MT 2, 30% Final, 12% Final Project, 1% Extra credit for Discussion Attendance, 0.5% Extra credit for Campuswire participation
- Mike made several adjustments during the quarter to alleviate stress for students, including: #1. Canceling the final project #2. Allocating 25 pts to the better MT score and 15 to the other. #3. Grading the homework on satisfactory completion, rather than correctness (although the graders will provide helpful comments if your code doesn’t pass certain cases). #4. Dropping the lowest homework (best 7 out of 8) and #5. Giving everyone the attendance credit
***2.Grade distributions:
MT1: Mean 62.67; Quartiles: 55, 61.67, 76.25
MT2: Mean 64.47; Quartiles: 51.67, 65, 76.67
Final: Mean 67.9; Quartiles: 55.56, 68.89, 80
Don’t get scared yet and read on. According to the professor, here is your rough letter grade break down (before the curve at the end of the quarter) if your performance is consistently:
In the lower 25% (x < Q1): B/B-
In the lower 25%-50% (Q1 < x < Q2): A-/B+/B
In the upper 25%-50% (Q2 < x < Q3): A/A-
In the upper 25% (x > Q3): A+/A
***3.General remarks:
--> On lectures: Professor Tsiang uploads lecture videos ahead of time, so the scheduled lecture times are really office hours. I recommend watching the lectures ahead of time and coming to OH with questions about concepts or HW. Although Mike follows his lecture notes closely in the videos, you should still watch the lectures instead of just reading the notes, since you see the process of building functions (plus the professor will mention some small examples and conceptual details that are not in the notes)
--> On homework: the homework assignments are graded on satisfactory completion so don’t panic if you are stuck on a question. Try to complete as many parts as you can and write out pseudocode/ thoughts on how the logic should go for the others that you are stuck on. There is also a 1 day grace period (meaning you can submit your homework up to 24 hours late without penalty). I don’t recommend stressing and working on the HW till the last minute of the grace period. It’s better to turn in parts that show effort than pushing for the complete solution and missing the deadline. The professor and the learning assistant are willing to discuss the homework with you after submission so you can always go back and finish the solution.
--> On getting help: You should definitely ask questions on Campuswire, which is pretty active (Mike responds quickly, and other students give advices as well). There are a few things to note: #1. Please search up if someone has already asked the question and has gotten an answer. Professor Tsiang and the TAs in this case will most likely just respond with a link to the old post. #2. Both Mike and the TAs do not like giving away too much of the answer and their hints may seem “cryptic”. Please be patient and know that this is the necessary struggle for you to figure something out slowly on your own. Feel free to follow up after you have made a little progress with that hint to get the next hint. My suggestion for you is to discuss your thought process with Mike at his OH, where he is more prone to give away a bit too much ;)
--> On this course’s reputation: Stats 20 seems to have a notorious reputation now mainly due to students’ past experiences with Jake. Here’s my thought and I implore you to read it through before judging. Jake is very knowledgeable in the course material and passionate about student learning. He is, however, not the most patient when students ask questions that have been answered before or do something in the code that is explicitly forbidden in the instructions. If you paid attention to the lectures, followed the rules, and asked a thoughtful question, he will most definitely try to give you a helpful response (subject to #2 from “On getting help”). Jake wants to challenge students to think about how could everything go wrong, which is why he focuses on edge cases; this is why I think him being a not-so-beginner-friendly TA for a very tough class really stresses out students and makes them feel like he is adding unnecessary difficulty. If you disagree with my thoughts, that is fine. I also agree that Jake can try to be more approachable to reduce unintentional tension in interactions with students. HOWEVER, I ask you to please voice your suggestions/frustrations in your course evaluations, not on Reddit. We have had enough posts that it has descended into a trend of hate bashing (I suspect that there are individuals who have not even take the course writing on the posts). I write my review here also so that it does not get drowned out immediately by mindless downvotes. I do not want this to become a hateful “urban legend” that scares off students who are interested in Stats and want to take this class. Anonymity allows lots of toxicity in the threads, and I urge you not to add more. For everyone who took Stats20 this fall, if you think I am BSing or doubt my identity, feel free to reach out and talk to me - R.B.
--> On difficulty and succeeding in this class: The class is very challenging but will cover many key concepts that will allow you to straight-up start working on some data analysis projects. You will need to devote lots of time to homework and should do some exploring on your own (playing with functions and see how they work together) to truly get a strong understanding. Mike will tell you many times to focus on the learning and let him take care of the grades. Please have some faith in his statement, even if you are struggling, because he does mean it. As you can see from the stats from the Grade distribution section, your numeric score doesn’t even come close to the letter grade you may associate it with. Mike spends a lot of time at the end of the quarter applying curves and assigning grades because he knows it is a hard class. Have faith in yourself. You most definitely will not come even close to failing if you’ve put in the effort. Lastly, if you need help - an HW extension or reschedule MT due to time zone - reach out to Mike; he cares about students’ mental being and is aware of the difficult times we live in. I am sure he will help you out as much as he can.
This review is particularlly for those who will or wish to take this class with Michael after summer of 2021. LOTS OF THINGS HAVE CHANGED, so this review might give you a kind of portrait of how this class looks like.
-
**If you have coding experience before, this class should be very easy for you. Just take this class with Michael if you are confident with you coding. You can get an A easily if you have medium to strong coding basis.
-
The lecture: Michael is an excellent lecturer, and with his notes posted on CCLE, he also makes his class understandable for those who have no coding experience before. The lectures are podcasted and posted on CCLE so it is possible not to go in person. Besides, the lectures are super clear and self-explanatory.
-
Grading distribution: 20% Midterm 1, 20% Midterm 2, 30% Final, 15% Homework, 10% Final project, 3% Discussion Participation, 2% Campuswire Participation (with 1% extra credit).
-
The grading is pretty nice. This class is not based on the absolute scale, which means this class is curved based on the class performance. Roughly, the top 25% of the class is in A+/A range, 25%-50% is in A/A- range, 50%-75% is in A-/B+/B range, 75%-100% is in B/B-/lower range. Just for your reference, about 40% of the class get an A/A+ at the end, so the A rate is roughly 35% - 40%. Michael eventually allocate 25% to the better midterm and 15% to the lower one, so final grade should be boosted.
-
The exams, especially midterm 2, are quite tough. If you have no coding experiences, you might have to work very hard to get yourself into the top 25%. The worst thing I think is that the total marks of each exam is very low, around 30 marks in total. So you cannot afford to lose many points. There are around 15 multiple choice questions and three free reponse questions for each midterm. If you fail to answer one single free response, then you are screwed. The final is around 15 multiple choice, 10 short answer, and 5 free response. Overall, you cannot afford to lose many points in the exam.
-
The homework: Homework tasks are assigned either weekly or biweekly, and they are graded based on completion. So as long as you attempted all the questions, you will get the full mark. However, these tasks are VERY VERY time consuming. If you are not CS major/not very famililar with coding, then spending more than 3 hours, probably average 5 hours on each hw is highly possible. Make sure you understand all the basic and intermediate questions in the hw to get yourself well prepared for the exams.
-
The project: Michael cancelled the project at the end of the quarter, which is very nice. So the final grades are calculated and divided by 90 in total.
-
Overall, this class is a major-like class, which means it is not easy at all. You will definitely learn lots of coding things of R language, but you do have to spend lots of time on this class. You should also prepare comprehensively for the exams to get a decent grade. Michael is one of the most professinal instructors and best lecturer I've ever met. His lectures are very clear and easy to follow. If you have extra coding experience or foundation, this class wont be that hard, and getting and A is definitely highly possible.
To start off my review, I want to say that any review before fall 2019 is completely unrepresentative of this class. For an introductory programming class, this is an extremely demanding and difficult course, especially if you have little to no programming experience before. While Mike is a very nice professor, he is really nothing more than a presenter for lectures. All he does is read off his notes, which makes going to lectures pretty useless. His notes are clear, but he has restructured the class in a way they are unhelpful. Mike pushed the chapter on loops to the beginning of the class (used to be the second to last chapter), but none of the notes until the LAST CHAPTER use loops, but all the homework do so you're left extremely confused on the very lengthy and time consuming homework assignments. The real problem with the class is TA Jake Kramer. He's responsible for the most difficult problems on the homework (ranked choice voting) and enforcing a general policy of being unhelpful for all other TA's and Mike too. He is also responsible for putting RIDICULOUS problems on the exams that over 90% of the class gets wrong and you will only get if you come across them by pure chance messing around in R. These questions don't even test general knowledge of R and with the 45 minutes you have for the exams its extremely difficult to even finish them. Jake and Mike might read these reviews and scoff at them, but when the averages are 58% and 53% on the midterms and a third of the class gets a 0% on one homework assignment because they have EVEN ONE syntax error in their answers, there is a clear problem with the class. Ironically, having Jake as your TA might be the best thing because then you can maybe pick up on what, type of edge-case problems he might throw in the exam.
Mike and Jake are very active on campuswire, which seems helpful at first , but only leave these cryptic answers that leave you more confused. Even if its a question with the instructions on their own problem, they won't even give you a simple yes or no.
In the end. I would say if you have to take this class, do not take this class with an already demanding and difficult schedule. But most importantly, IF YOU WANT TO SEE ANY CHANGE IN THIS CLASS, DO THE FACULTY EVALUATIONS, ESPECIALLY FOR YOUR TA'S
Jake took my lunch money and sacrificed my laptop on an altar dedicated to the creators of R. As I tried to stop him, he teleported behind me and quietly yelled into my ear “You used a colon operator instead of seq_len(), rookie. Prepare for a fate worse than death”. He then ran rm() on me to temporarily remove me from existence. When I came back, all I saw was my laptop, bloodied and mangled on the floor surrounded by a pentagram with the R logo in the middle, along with a note that said “Next time, make your code neat, kiddo. Otherwise, I won’t load() you back in.” I’ll never forget that day.
Midterm 1: 56/100 (average = 55)
Midterm 2: 25/100 (average = 48)
Final Exam: 37/100
Project: 58/100 (I did and answered everything, typed 500+ lines of code within week 10 and finals week, but the code 'was not up to standard'. Oh yeah, he released the final project in Week 10, wtf)
So I thought I was going to fail obviously and be on academic probation, losing all my scholarship funding. But then I got a B at the end. Although I appreciate this grade at the end, I have never felt so stressed before. In fact, I have never EVER cried/had dark thoughts about a class before. Take at your own risk. I was going to take this class for fun and I became depressed.
I took Michael Tsiang during the summer during 2018, with Jake Kramer as a TA.
I should have written a review earlier, but I was hesitant because I thought I was the only person who had a bad opinion of him and Jake Kramer. Apparently, that's not the case.
Why I didn't like Michael Tsiang and Jake Kramer:
1. HW assignments were not clear with instructions. I asked Michael Tsiang if he wanted us to use a specific function, but he said it's up to the grader. Funny thing is, professors are supposed to be in charge. Our grader, Jake Kramer, didn't tell us which function he is looking for but dings us off for inefficient codes. This is supposed to be a beginner-friendly class because there are many people learning how to code for their first time. Also, what's the point of being REALLY VAGUE on homework assignments and then taking off points for that even though many of us had the correct output? It's not even the students' fault at this point.
2. Lectures aren't really worth going to. Michael Tsiang just reads off his slides. You're better off ditching and just learning yourself, and then ask questions at another professor's office hour. Don't waste your time with Tsiang or Kramer's office hours.
3. Jake Kramer does irrelevant things in general and it seems like he's trying to "flex" his knowledge on his students. His practice midterms are questions on steroids that even most professors can't solve. It's really a waste of time on both ends if the exam is going to be totally different from the practice midterm.
4. The definition of acceptable does not mean full credit, according to Jake Kramer. He will say that some things are acceptable on Piazza, but then dings you off anyways because "acceptable does not mean full credit."
5. "Don't worry about your grade" is the biggest lie I've ever heard. I ended up with a B- in this class because of the outrageous difficulty with the homework assignments. Homework assignments are meant to buffer your grades from low exam scores, but my homework assignment grade definitely dragged me down.
I guess one good thing I can say about Tsiang and Kramer is that they care about our learning beyond classroom material.
If you're planning on taking this class, don't listen to these older reviews. They may have been more appropriate in Fall and Winter 2019, but Mike has really made this a very nice course to take. It's slightly tough(probably easier than 2019), but he's changed a lot about the class so that it doesn't kill you mentally. For one, he made homework grading based on satisfactory completion rather than accuracy. Second, he allowed 24 hour late submissions on each homework. So, he was generally really supportive of students and made sure to echo this belief in the occasional email he sent us. Exams were timed and while most questions were straightforward, some were slightly challenging. However, he curves and pretty generously at that(2/3rds of the class gets some form of an A IIRC, no one fails). Coming to his lectures, he puts up recordings of them with chapter notes, and hosts an Office Hours during lecture time, when you can just come around, ask doubts, hang out. His lectures are really nice - he is super clear, coherent, and makes everything easy to understand. The LAs and TA are also really knowledgeable and helpful!(Take advantage of their help if you can!) Overall, I would definitely take this class again, even if it wasn't the easiest. I've sat through so many lower divs thinking I never really learnt/retained much; However, this wasn't one of those classes. I had a genuinely nice and fun time solving these problems and learning the things I did. 10/10
NOTE - Can't tell if Mike won't change his class structure here and there for in-person classes. You should probably check with him then
Ok in all honesty, Prof. Tsiang was not nearly as bad as these reviews make him out to be. To be entirely fair, I did not have Jake as a TA, and I never interacted with Prof. Tsiang personally, so I can't comment on them as people.
But Prof. Tsiang was shockingly fair. I came in with very, very low expectations. First of all: the homework, at least when I took it, was based on effort. Not on correctness, which from the previous reviews, I assume is a new grading metric. It's INCREDIBLY nice. Yes, the homework takes an unbelievable amount of time, but you'll get 100% as long as you try. And yes, they answer questions with questions; they don't give the solutions away, which can be frustrating. But it honestly helped me improve over the quarter.
He also dropped the final project and chose to drop the lowest homework score. Midterms and finals were, as described, very difficult. Questions were extremely hard to answer within the time constraint. But, he curved the entire class. I got an 80 on the first midterm, 50 on the second, and 60 on the final, and ended with an A. That's some hella strong curving.
I won't say that the past reviews are invalid, but it does seem that he's changed the class quite a bit to adjust to this criticism. It's not bad at all anymore, and I found myself actually enjoying it as someone with no programming experience. :)
I took mike's stats 20 before, mike is very nice, especially on curving. I was glad that I took his 102A, but unfortunately we had a WORSE TA. In my session, 50% hw, 10% midterm, 10% midterm project, 15% final exam, 15% final project, 0.5% campus wire for extra credit.
I do not know why and how can one TA do so much stuff. If you have JAKE as TA, drop the class. JAKE is the WORSE TA I have ever met in UCLA. felt like JAKE made all the hw, and hw never matched the lecture, they were not on the same level, it just like prof. teach you how to calculate 1+1, and the hw ask you to take the partial derivative of the function. Midterm project, final project tough. The midterm was super TOUGH, within 50 mins, undoable questions. Final was better than midterm but still TIOUGH and not related to the lecture.
I felt sad that I did not hear JAKE before 102A, if I know he is this kind of person, I would drop the class immediately. TRUST ME.
The professor is clear since he posted his lecture note online. But the structure of the course is horrible!! Trust me and if you don't believe, just ask anyone who has taken fall 2019 stat20. The homework is unnecessarily difficult and all the TAs and professors won't give out the solutions or any hint ( sometimes even TAs don't understand what the homework question mean). As a stu with CS background, I lost point simply because the TA Jake's secret rubric : you're a new coder and this doesn't seem to be okay to me. And even they follow a strict rubric, they never post it so we won't realize the mistake until we get point deducted. The first homework average is 70 and midterm 1 exam average is 60 because he adds free-response question. Also, he adds a lot of homework. 3 hw due right before midterm 2. Although he encourages us to take care of health, but this kind of irrational amount of work and waste of time is not necessary. Would rather take more CS courses to gain insights and more reasonable logic and self study code. (they even don't allow to store variable name to another varible to save memory but this makes no sense for CS stu who takes CS33! cuz R is such a low-level and basic language. If you know CS, you would know a lot of things they post are nonsense). Also, I feel that for this class, you just memorize the syntax and that's it, which is so boring. I feel the stat dep change the structure of stat20 simply to weed out more people who intend to major in stat cuz it is hard to get stat courses and stat advisor is not good either.