HKUST Courses Review
I have graduated from UST’s BEng program with a major in Computer Engineering (CPEG). Here I want to leave some thoughts on the lecturers and courses that I liked and didn’t like. Needless to say, these thoughts are subjective and not everyone will agree with them. But I hope they would still be helpful to some people.
A+ Lecturers (and the courses I took with them)
Here are my favorite lecturers. Knowledgeable in their fields. Passionate about teaching. Genuinely care about students. Basically they are so good I am confident recommending ANY course taught by them.
Prof Shenghui Song (ELEC1100)
In ELEC1100, we learnt about the fundamentals of electric circuits and Boolean logic. Everything we learnt was for a single goal— building a self-driving robot car. At the end, it was super satisfying because we felt what we learnt was tangible.
Prof Song teaches well and is really passionate about anything technology related. Also, he recognizes students years after they have taken his course. And he sends them birthday wishes on Facebook. I mean, what more can you ask for.
Prof Desmond Tsoi (COMP2012)
There’s nothing much to say about COMP2012 since everyone in CPEG or CS has to take them anyways.
Prof Tsoi video-records every lecture he gives. Also, he gives a ton of extra lectures because he wants everything to be explained 200% clear (sometimes that means falling behind schedule). Then, he does an extra lecture for the extra lecture because the first extra lecture was not recorded properly. We all worry he is overworking himself. Every CS student worships him.
Prof Sunil Arya (COMP2711H, COMP5712)
Prof Arya’s courses focus on algorithms and their related maths. He makes complicated theorems fun by occasionally sprinkling in a few history lessons regarding the lecture content. His teaching is very clear and methodological. Doing well in his class requires a deep understanding (*cough* memorization) of all topics taught. Also, his assignments and exams are pretty difficult. Would recommend his courses to anyone interested in algorithms and their related maths.
Prof Raymond Wong (UROP1100P, UROP2100V, COMP5331)
Prof Wong’s courses are mostly about data mining. He explains concepts very clearly. His course materials and slides are also very well prepared and easy to follow. He gives out a coupon to every student who answers a question in class, which can be used to waive one question in an assignment. Cute!
Working under his supervision in UROP is also a pleasure. He cares about your progress and gives constructive feedback. He also cares about you in general, and often asks about your studies and life during the meetings. Sometimes these meetings turn into hour-long chats about random things. Super nice and friendly professor.
Prof Kam Ming Yip (HUMA1001A)
HUMA1001A was a course on logic and rhetoric taught in Cantonese. Content included all the good stuffs like syllogism, logical fallacies, paradoxes, and a brief introduction to Chinese (Mencius) and Western (Aristotle) philosophy. In addition, there were optional tutorial sections that discussed other topics in philosophy, such as “what is happiness” and “what is god”, which I really enjoyed as well.
Prof Yip’s lectures are clear and well thought-out. She is very patient in answering students’ questions. She is also not afraid to talk about controversial issues in class. Unfortunately (fortunately for me), the semester I took HUMA1001A was the last semester they offered the course. But I do urge you to look for any other courses that Prof Yip may offer in the future, I am sure they will be just as good.
“Great content, but bad teaching” seems to be a recurring theme in UST courses. So here are the courses I liked, despite having mediocre teaching, lecture organization and TAs. Getting the most out of these courses require a bit more self-discipline and motivation.
MATH2131 — Honors Linear Algebra (with Prof Allen Moy)
This course was about abstract algebra. Absolutely the hardest course I’ve taken. Lectures went at the speed of light. TA was not helpful at all. Half of the time I did not know what was going on. So I had to do a lot of catching up after class in the library. However, studying abstract algebra was one of the most intellectually enlightening moments I’ve had. It was like taking the back lid off a clock, peeking into its internals, and studying how it works. In the same way, we studied how “maths” work. In the class we started with a set of axioms. Then we derived theorems and theorems on top of them, until we have a set of useful tools that allow us to do maths. Basically, we built maths from scratch.
ELEC3300 —Introduction to Embedded Systems
I’ve always hated my other ELEC courses (ELEC2200, ELEC2400). I hated how little hands-on projects we had. I also hated how the things taught in class were so disconnected from the labs. At the end, all it mattered was if you attended the tutorial sections by Fox and Ricky.
ELEC3300 was the only reason I’m glad I majored in CPEG instead of CS. In ELEC3300, we were given one semester and full autonomy on what we wanted to build. Oh boy, do you see cool things when you just let students do what they want to do. In my semester, people built things like drones, motion-controlled cars, AR glasses, printers and claw machines. It was the first time in 3 years that we built something we could call our own. I don’t care if the lectures and labs are bad, the project alone made ELEC3300 worthwhile.
F Courses: Avoid at all costs
Here are the most miserable experiences I had at UST.
MECH1906 with Prof Moses Ng
I don’t have much to say since there’re plenty of reviews on UST Space already.
COMP3511 with Prof Bo Li
You learn nothing in this course. Take it on exchange if you can. Seriously.
FYP with Prof Shing-Chi Cheung
My friends and I worked on a multiplayer AR mobile game under him. He would tell us to go to Stack Overflow whenever we asked him anything. He would forget about our meeting appointments. He didn’t even show up at our final presentation. Moreover, he had pretty limited knowledge in the field of game / AR development. Not only did he not give us much information during the year, he sometimes gave us misinformation. For example, at one point he told us we could not claim back the money we spent on purchasing a piece of software, because unlike hardware devices, we cannot give what we bought back to UST. However, later we found out that as long as we gave the login credentials of the software back to UST, we could claim the money spent purchasing any software. Just a very unpleasant experience overall.
So these are the courses that stood out the most. I would like to thank all the good professors who put so much effort into teaching. I know most professors would rather just go back to writing papers, but good teachers do really change the lives of students.
On the other hand, I am calling out bad courses so other students know to avoid them. Gosh, people were ranting about these exact same courses when I first got into UST. Just makes you wonder if SFQ works or not.
But to be honest, at the end of the day it was my responsibility to learn. Towards the end of my time at UST, I tried to stop measuring my achievements by grades, instead I tried to look at how much I’ve learnt and grown. That meant I should be perfectly happy getting a C in HUMA1001A, and I should be just as pissed getting an A+ in COMP3511. I know. Hard to do when the whole system is designed to have you fixate on your GPA.
Anyways, I hope you enjoy your time at UST!