2.2
Quality4.3
Difficulty32%
Would Retake84
Reviews32%
Would Retake
84
Reviews
Rating DistributionOfficial
5
16
4
7
3
6
2
4
1
51
What Students Say
“Assignments lack any clear instruction”
CS320 - 1.0 rating“Taking this course with the professor has been the greatest mistake of my life”
CS320 - 1.0 ratingClass Info
Attendance Mandatory
35%
Textbook Required
64%
Grade Predictor
Your expected effort level
Predicted Grade
B+
Grade Distribution
Common Tags
Rating Trend
Improving
+0.67 avg changeRatings by Course
CS392
5.0
(1)CS520
2.7
(3)CS320
2.3
(44)CASCS320
2.3
(18)CS112
1.6
(16)Difficulty by Course
CS520
5.0
CS525
5.0
CASCS320
4.4
CS112
4.2
CS320
4.2
Reviews (84)
pretty much the worst professor ever. if you are forced to take a class with him i can only recommend doing 1 of 3 things: transferring schools, switching majors, or killing yourself. there is nobody worse than this guy. except, maybe, the TF.
Terrible. Just... Terrible
The professor has no clue as to how to explain topics or answer questions posed by students. The material is presented in a sparse outline form; lecture notes are verbatim from course site. Textbook is worthless, as Professor and TA offer no help. Frustration and confusion sum up the course.
Absolutely ridiculous. Pitiful class, useless course material, and a general waste of both your time and GPA. Avoid at all costs. His name is a roman numeral. 'nuff said.
Wow what a terrible class. He fails to clearly explain the material, and simply copies the textbook (which is also no help). Does not seem to curve exams even though the averages are C-. AVOID THIS GUY AT ALL COSTS, THE WORST PROFESSOR IVE EVER HAD.
This man can't teach and is very unhelpful. Tests and homeworks are very hard. Avoid at all costs.
The worst experience of my life. The worst professor, worst topics, worst TF, and now I have the worst GPA...the list goes on. And its a required course. Enjoy
His lecture style involves simply writing source code on the board without much of an attempt at explaining it. HW could be done by reading the book, but midterm was hard, and final was impossible (avg was 53/200). 90% of the final was on the last 10% of the course. Horrible, avoid if possible.
The other comments are all stupid. They didn't try. Do this: read the notes and book ahead of class; pay close attention in class; play with the sample code and get used to the language (we used SML); start the homework early; GO TO HIS/HIS TF'S OFFICE - they will help you. This course isn't easy to teach or learn, so try to stay a step ahead.
Was a tough course, but effort just had to be put in to do well. The exams are really hard, but as long as you do better than the class average, you should do fine in that part of the course. Start the HWs early and you'll be fine, since it gives you time to ask the TF if you need help. Xi was actually a nice guy, though.
Another useless required class at BU. And Xi is one of the worst professors I have ever had. He comes in 5 minutes late, leaves 5 minutes early and always runs in and out so you can talk to him. And even if you could, you wouldn't be able to understand a word he says. All he does all class is code, and never explains anything. STAY AWAY FROM HIM!
Course material is difficult, and is compounded by scattershot lectures, poor writing on the board, hard to understand English, bad use of assigned materials, lack of teaching fellow, and the use of a unproven, immature, pet programming language. In office hours, he is a very nice guy who seems to care. Avoid if possible.
Stay away from this case.
Stay away from him.
One of the worst professors I've had. Horrible at explaining concepts in class and his general answer to student's questions is "that is a good question...i do not actually know the answer..." Just throws code up on the power point and doesn't explain it. Spends at least half of every class coding and poorly.
The job of a teacher is to facilitate the diffusion of ideas to students. Xi does the opposite. A typical lecture consists of listening to incomprehensible jargon that Xi is often unable to clarify. If you value your time, money, GPA and mental well-being, Xi is a professor the you would not want to have.
Worst, professor, ever. Seriously, this is a CS112 course and he assumes you are a computer genius. I did OK in CS111 but could not understand ANYTHING during the first few weeks of class. More than half of the students dropped out. I dropped out too. If you must take this class, then for the love of God, take it later with another prof.
terrible!is patient when u go to office hours with a million questions but makes you feel stupid.Mentions many times that he isnt really good with Java...this is a java programming class! if u dont know java why are u teaching it?! half of the class dropped out, i regret not dropping it too.
I just finish his CS112 with an A. I gotta say sth fair.Brilliant guy,elegant code,high requirement.But it's true he's bad at teaching.Doesn't explain concept well.Exams are hard.avg is often 40s out of 100,no curve.1/2 class drop out.So if you just want an easy A,avoid him.If you wanna achieve a higher level and willing to study hard,go for him.
horrible at teaching. He def wants us to learn, and he is enthuastic about it, but doesnt know how to teach. hw are horrible!!! and most of them have nothing to do on what's being taught at class.
This class is impossible. I was an A student before and went to office hours every week and still couldn't finish assignments. The course description does not match this course. If you're like me, then you will take this as a challenge, but just don't
Xi teaches 320 with ATS, a language of his own invention. No one uses it, therefore there are no sources to help you other than his own sites. If not for the terrible language, the class wouldn't actually have been hard. However, the fact that he assigns things then adds code to help you a day before it's due is so useless.
Although I enjoyed the lectures and thought the professor was very knowledgeable in the field with many useful programming techniques to share with us, the language that he uses (ATS) is very difficult to understand, and he takes off points if it doesn't compile (which is difficult in a hard typed system). Overall a great experience though.
He is one of few professors who still writes A LOT OF code everyday. He invented his own programming language, it's hard to learn because of its complexity. But he definitely knows what he is doing. He is not good at conveying concepts, but if you keep asking questions, you will be quite inspired eventually. He is an expert in this area after all.
Course taught in his own language, but doesn't provide nearly sufficient assistance. No notes, only code written quickly and unclearly in lecture. Assignments lack any clear instruction. No syllabus, no real direction that the course goes in, he just does whatever he feels like each lecture. Avoid at all costs.
The material is pretty difficult Almost no docstrings, you need to go through the book & source code to understand Professor responds pretty fast, you'll get answer within 30 mins in general.
Horrible instructor. Not only is the language completely and utterly useless in any real-world setting (aside from his own ivory tower perhaps), the amount of homework. On top of that most problems lack clear explanations; one has to often sift through piazza answers to even piece together a clear instruction. Exams long and hard af.
I bet professor Xi is very good at programming. But he is not good at teaching. This class is so bad that 75 students drop out.
He's incredible knowledgeable. However, he makes the course many times harder than it needs to be. Assignments are sometimes very unclear. You'll be spending a lot of time on assignments just trying figure out what to do. Also, he teaches in his own language, ATS. Which is cool and all, but makes me very sad.
CS320 - absolutely a horrendous class. Entirely done in the professor's own programming language, so there are no online resources. "Textbook" also written by the professor, so he is your only resource. This class will eat up 95% of your working and free time. "Lectures" are just him coding live, no material taught. Avoid at all costs.
Taking this course with the professor has been the greatest mistake of my life. Learning the language he created/teaches in, ATS, is hard as is without his assignments that take centuries to complete. Exam questions are word riddles that make you wonder if Professor Xi is EVER satisfied when he orders Kungpao Chicken (fellow sufferers get it!).
AVOID! I actually don't think ATS is bad/difficult. However, CS320 itself is in fact quite bad/difficult. Xi does not really teach, he just codes randomly during lecture time. And the entire class consists of doing grueling programming problems in ATS which you are unprepared. Xi is a funny guy though, and very active on Piazza. Regardless, AVOID!
CS320 is not completely terrible. Lectures are useless as he just codes. Midterms are takehome, but some of the questions are too hard. However, the Xi will explain anything you ask. The hws are derived from example problems nd there is actually a lot of resources. You just have to look for it a bit. If programming is your thing you can survive.
This class isn't as hard as people make it out to be, however, Professor Xi is in fact as bad as people say. ATS is a pain in the ass but the homework assignment are only as hard as, say, CS111 if it were in a harder language than Python. To survive this class, you'll basically have to spam Piazza with debugging questions. If you do that, you're ok
Professor Xi is definitely not terrible, contrarily, he's really good in his field and he knows how to inspire students. People scold that ATS has no online materials and with no help from Google they feel bad. So they probably give low ratings here. But to be fair the class itself is in high quality. You'll learn a lot if u come to lectures.
A pretty good class for someone who wants to get into the subject and likes programming. ATS is a language pretty different from most languages people have seen, but will definitely help more in your general programming skills than other versions of this course. I enjoyed discussion sections as well, which were very helpful.
He came into class the first day telling us how he would go easy on us and not expect too much of us as he did with his previous classes but he lied. his assignments are ridiculously hard. quizzes on stuff we don't even do. expects you to know half of textbook by first day. told us not to come to him for help. changes pset testing as he pleases
Extremely poor teaching with unstructured lectures of the professor aimlessly coding, hard and irrelevant homework assignments, difficult pop quizzes with limited time. It's not just that the class is unreasonably difficult, it honestly seems like the course is poorly planned and students suffer as a result.
Any rating above 1 is being very generous, much more generous than this professor's grading.
Lectures are only of him haphazardly writing/explaining code. Homeworks with insane difficulty spikes. As for exams... it's not enough for you to do it in class. Half the questions are released AFTER class (which has mandatory attendance), meaning you better cancel your plans or you'll automatically lose more than half your score for the exam.
Exams and homework ridiculously harder than what is covered lecture. Get ready to study day and night trying to learn the syntax of a language you'll never use again and understanding ambiguous functions written by the professor to still fail every problem set and quiz.
Take this class if you want to ruin your gpa
This class is grade deflation with midterms, quizzes, and homework intentionally designed for half the kids to fail.
First midterm had an in-class section and a take-home section, and students complained that the take-home section took them the entire rest of the day. Professor responds by squeezing both sections of the next midterm into the in-class period lmao
He likes to lecture a lot and gives extra credit on assignments. Second midterm was made easier than the first.
Professor Xi provides lots of help on the homeworks through Piazza.
I think that Xi gets a bad reputation only because his class is difficult, but I think he is an amazing professor who cares deeply about his students and just wants them to really learn. His class is hard, but he teaches students how to tackle difficult problems in CS, which is good preparation for the real world. I love him
Xi gets a bad rating just because students are upset that his class is hard. He is someone who cares deeply about his students & puts in the most effort to make sure his students are learning & growing from his class. His class is hard because it teaches you how to solve complex problems in CS. Professor Xi prepared me the most for real world CS.
By far the worst professor I have had in BU. All he does is code in class (which apparently has been his way of teaching for the past 6 years), using a language that majority of us will never use again after this course under the assumption that it's easier to learn functional programming with it. No lecture notes or anything, just pieces of code.
Professor Xi is a good teacher but his class is very demanding with many homeworks and quizzes. Exams are generally hard especially the final. There is no pdfs in class, you need to attend and listen him carefully. If you arent planning to spend couple of days in each week, dont take this course. Concepts he thought are very good and beneficial.
It is a hard class, but Professor Xi tries to help the students as best he can. He is very responsive and communicative on Piazza, transparent and forgiving about grading, and gives extra credit. Good professor.
The class itself is useful and can teach you important programming concepts, but Xi only does live coding as his lectures and chose an obscure language which makes it hard to find outside resources to understand the concepts. I regret taking this class because of the constant stress and uncertainty with my grade even though I ended up with an A-.
In general the class was just a bit too unstructured and just needs to be revamped and updated. A clear schedule of topics would help. Prof should have lecture slides tbh. Also, gaps from lecture to hw are a bit too big, again, things like ppts plus hws that help students ease into and build up conceptual knowledge would help.
Excellent professor! Very fair grader, helpful and responsive on Piazza and email.
Well structured class, will teach you a lot about programming. Would definitely take again!
he himself is absolutely a great teacher but the lecture is way too heavy and really need time outside of classroom to comprehend materials. really responsive on piazza and gives great feedback on hws if you ask for questions. should be ready to spend a lot of time on this class if you want a good grade
He is very nice and helpful, cares about his students a lot
hard class
I respect that this Professor Xi is a very knowledgeable in his field, this does not translate into his teaching. Not only are his lectures hard to follow, he just live codes, but he is not consistent in his grading criteria, introduces new grading scales (randomly removing a policy that allowed for late quiz submissions, without telling anyone).
One of the best in the CS department, Professor Xi is the GOAT!
Professor Xi purposely obscures parts of the homework at times just to give you a tougher time of figuring out what you should be doing. On top of this, his lectures often have him livecoding, something that no other professor does with good reason. Quizzes are also very different to the material taught. Xi is smart but absolutely cannot teach.
Don't take this class. He's just coding and seldomly do some explanation. The (online) textbook did a better job in explaining concepts then his lecture. I don't even know what he's trying to let us do for HW. He doesn't give examples or so. OHs are for those who has trouble doing HW, not for making the HW problem clear.
Don't take CS320 with Professor Xi. He lacks clear communication and will randomly change requirements for assignments on Piazza. His lectures consist of him writing code without clear explanations. The class is super disorganized.
Extremely inconsistent class with often arbitrarily difficult assignments where key parts of the programming language (OCaml) are outlawed. No inbuilt functions are allowed, only a library built by the professor himself. Makes learning the language and the concepts very obtuse.
No partial credit, students' tears flow. ATS coding, a challenge we all know. Late for exams, tough problems are the norm. Recursion for loops, straying from form. Yet in challenges, our strength does show. Unique methods, yet we continue to grow.
Oh, Professor Xi, so fine, With no partial credit, that's your line. Recursion is the rule, no loops for you, Live coding lectures, a student's dream come true! Late to exams, and no built-in library, Learning with you is pure hilarity!
Did Prof. Xi paraphrase the Matrix, or are the Wachowskis who found inspiration in Prof. Xi's worldview? We will never know.
Very funny lecturer. Show up to lectures for free Panda Express.
Just dont
Genuinely the most disorganized and unsatisfying CS class I've ever taken at BU. No lecture slides, no clear lesson plan, and homeworks are incredibly difficult and have minimal guidance.
What a guy - do not take any class with this professor if you want your mental health to be intact. I think I'm going to be having nightmares about converting list_foldleft to string_foldleft for the next month.
This is THE worst class I have EVER taken. Professor Xi is rude, unorganized, and does not care about students. Instead of teaching subjects he would live code during lecture which provided no help in understanding the concepts at hand. He also is incredibly rude and has a massive ego. His piazza responses are laughable and dismisses any criticism
Ignores questions during lecture. Puts down other professor's slides which he copies from because he is too lazy to make his own. Does useless code during lecture that yields 0 benefit. Yaps about irrelevant topics. Avoid.
He deviates from the established coursework, criticizes the intended learning content, live codes in python even though the class is taught in java, lacks communication regarding learning objectives, and exhibits no organization or structure in lectures. I can tell he's smart, but don't feel he cares about students learning at all.
Generally a solid prof. I get the other reviews for CS112, but in general, you just have to keep up with the content. He took over much later in the semester (when we had 3 profs for the course) and much of the content wasn't too different in terms of data structures. Nothing new. Not easy, not hard class.
Absolutely horrible. Didn't teach a lot of the content, and even when he did it was super rushed. He critiqued the course content and was super super difficult to understand. Unless u already have previous knowledge on data structures, it's SO difficult to learn anything. I would not recommend to anyone.
I second a previous review. None of the material he taught was new; we learned about data structures before he took over the course (3 professors this sem). Much of the material was just add-ons of what we had learned prior. Ex. we learned linked lists then binary trees. Not a bad professor. Maybe goes a little too fast, but in sum thorough prof.
Taken Spring '24. I honestly cannot name a single worse professor at Boston University. After a few lectures, only about 30 people came to each lecture, so he decided to change his attendance policy with no warning. Hates Java and actively says he doesn't want to teach it. Avoid at all costs if possible - he can't teach. PS. good comments are jokes
He needs to go blud. Him and Papadakis are like the Menendez Brothers because they both deserve jail time.
i usually can't find it in myself to write a review on a professor until now. lecture is such a waste of time. it's clear he has possibly never seen these slides IF HE'S EVEN TALKING ABOUT THEM because usually he's on a 20 minute tangent about something completely unrelated. i have taught myself everything using past professors' lectures + slides.
Co-taught with CPK and he used her slides but would skip most of the material on them. Very incomprehensible lectures it's not even worth attending. He is a smart man but a horrible teacher.
Ever since he was a jit, he was legit.
oh my god. if u think cpk is bad get ready. his lectures are not relevant to the material covered. just don't go and teach yourself. definitely a VERY smart guy, but an awful prof. just watch youtube videos ab the data structures and practice on ur own. it's not that bad, go to OH!!
Very chill professor who gives interesting problems for each section of the class. Easy grader and very accessible outside of class. If you don't understand the material or the homework, just go to office hours and read the textbook ahead of time. Don't wait until the last minute for the tests & hw—you'll definitely pass with an easy A.
Class Info
Attendance Mandatory
35%
Textbook Required
64%
Grade Predictor
Your expected effort level
Predicted Grade
B+
Grade Distribution
Common Tags
Rating Trend
Improving
+0.67 avg changeRatings by Course
CS392
5.0
(1)CS520
2.7
(3)CS320
2.3
(44)CASCS320
2.3
(18)CS112
1.6
(16)Difficulty by Course
CS520
5.0
CS525
5.0
CASCS320
4.4
CS112
4.2
CS320
4.2