2.5
Quality3.4
Difficulty24%
Would Retake253
Reviews24%
Would Retake
253
Reviews
Rating DistributionOfficial
5
50
4
34
3
31
2
41
1
97
What Students Say
“Avoid this professor at all cost”
CPSC203 - 1.0 rating“Worst class I have ever attended”
CPSC203 - 2.0 ratingClass Info
Online Classes
100%
Attendance Mandatory
23%
Textbook Required
60%
Grade Predictor
Your expected effort level
Predicted Grade
B+
Grade Distribution
Common Tags
Rating Trend
Declining
-1.32 avg changeRatings by Course
CPSC
5.0
(2)CPSC231
3.8
(49)COMP231
3.3
(3)CPSC231233
3.0
(2)CPSC481
2.9
(7)Difficulty by Course
CS219
5.0
CPSC219
4.1
219
4.0
235
4.0
COMP231
4.0
Reviews (253)
No Comments
No Comments
No Comments
No Comments
Great Helpful teacher that makes CPSC easier for student!
Teaches like the students are 10 year olds.
If you are fluent with computers, DO NOT take his class.. otherwise he's good.
Explains well. Moves slowly, but still seems to cover everything. Amusing in a little-kid kinda way, but it helps you stay awake first thing in the morning. WAY better than Becker.
No Comments
great prof. he was taught by deur so he knows what NOT be like (for anyone whose been in deur's class you know it's hell). Tam teaches a bit slow but without a doubt very clear and not quite hard. He's really nice too.
Tam is a great guy. He's humble and tells the corniest jokes (it's funny as hell, really). Very fun prof to have and great guy to talk to. This man loves his work and he'll take care of you if you do your work. Get Tam if you can.
When you have Deur for Cpsc 231, Tam revives your love of computers. His notes where great, he was easy to talk to and ask question. His final realted to the course, which is more than I can say for another prof. Just a great guy Loves what he does if you get him Enjoy. Lol really funny aswell
Very easy class, the textbook is basically all you need if you have a basic understanding of computers. The courses goes very slowly for the first few weeks but gets exponentially harder, so stay ahead. His jokes and style will get annoying after a while. Don't worry about missing class, you can still get an A if you skip the last 2/3rds.
No Comments
Nice guy, but this course is seriously flawed. I hate the way they assign letter grades to your percentage marks because this method lacks precision. If I get 83.5 on an exam, I still get the same mark in the end as someone who has 77 on the same exam... Also, break up the chunks! 70% of the weight is on exams.. at least give us quizzes!
Assignments start off really easy, and you think this course is going to be slack. Then when you hit the last 4 assignments you spend days and days and days working on them, only for a small percentage of marks. Expects way too much out of his students.
Terrible teacher and very unhelpful. If you say something wrong, he will look at you like your the stupidest person in the world. He is only concerned with his own agenda, and not in the education of his students. Look elsewhere for help. Do not go to him.
Too many assignments. Absolutely brutal final exam. Why wouldn't he make the exam himself instead of relying on Deur?!
It says a lot when 5-6% of your students get an A in the class. A 90% cut off is way too high. Also spent way too much time on the first half of the course (the easy stuff) and was very unhelpful for the last part of the course which was really hard! Also decided to take on 2 other courses and seemed too rush with the 231's.
Tam's an excellent teacher. The course material is difficult, but Tam has good examples and explains the concepts clearly. He's full of corny jokes and makes the course interesting. Those who complain about him should try taking a class with someone like Deur.
No Comments
Decent class. Just a warning, though: They teach you Pascal in it, a language which not only is ugly as hell syntax-wise but also hasn't been used since the early nineties. Don't take it if you want to learn something practical.
No Comments
No Comments
Probably the most helpful prof I've had. This guy goes a long way to help his students. He'll help you with your programs, but not by telling you what the errors are, he'll tell you how to find the errors yourself. Dr. Tam is probably the best prof I've had so far.
No Comments
This class was stupidly hard. Anybody who had no programmable knowledge would have a hard time even if it was taught to you in this class, they assume no programming background.One assignment took me 27 hours to do! He was a semi okay guy but sometimes he was sarcastically mean and I struglled with this class so much that I had to hire a tutor!
No Comments
Tam is definately a character. An odd prof by any stetch, but he's fantastic at communicating concepts and provides EXCELLENT notes. He keeps class lively and is by far one of the best CPSC profs in the departmetn.
Tam is a pretty good prof. His notes and powerpoint slides are really straight forward. You don't even need the textbook for this class since everything you need to know are in his notes. Most of his assignments are easy and his test is pretty fair. He makes corny jokes sometimes, but other than that hes a nice guy.
worst prof ever. he is thinks he knows everything when really knows nothing. such a arrogant prof with no respect shown towards his students. someone please get rid of this guy!
Very knowledgeable. Is some times condescending towards the students but really wants his students to learn. His assignments are fair and the experiance becomes applicable
He was great at lecturing when he did hold class too bad he didn't do it more often but I guess it was the nature of an independent study class.
As others have mentioned, spent way too much time on the first half of the course (the easy stuff) and was rushing it for the last part of the course which was the hard stuff. Having a good TA really makes the difference. Notes are all there, textbook is optional. Easy to understand and explains concepts well. Be ready for end-term rush.
The software used in the class, TAIT sucked (thumbs down) but the prof was great (big thumbs up!)
The material was a tad dry and technical but he presented it well.
Pretty cool guy. Clear, concise and very helpful. You learn something new every time you go to his class. Tam > Deur.
Always hyperactive. Knows what he's talking about. Explains the content really well. Cracks silly jokes but that's okay. The midterm and final weren't that hard. You don't need a textbook. The assignments were really easy!
Very clear and concise, however the beginning of the course was very easy but by the end of the course alot of students just stopped doing the programming assignments because they were too hard. Final was a little bit difficult as well. 3/4 of this class was programming so beware if you are not interested in this kind of stuff.
James is hilarious!!! i went to his lectures just to hear his jokes! Super nice, and very approachable, also very helpful. Class is ridiculously easy as long as you knoww what is going on and stay caught up...however that does not mean you have to go!! plus all lectures are online!
the hardest class ever. do not take unless you are a cpsc major. prof was really nice and OKAY at teaching. i guess i just never found the course interesting at all so it was extreamly boring. the midterm was esay as pie but final was VERY hard. i think he scaled it though, barley passed.
Funny and nice guy, but sorta expects too much from the class. The material covered wasn't very complicated, but some of the Timed Box Assignments were really hard. Lectures were terribly boring, but you don't have to attend them
Great prof! He made Com. Sci. pretty interesting, and since the course itself was pretty dry, going to lecture wasn't all that bad. He was hyper all the time, but it was nice to see that he actually was passionate about what he was teaching. All the lectures are online, but I would recommend Com. Sci. with this prof over the others.
A really good teacher who knows his stuff, however the class itself is super boring. Also, the TA mohammed is awful!
Good teacher who knows his stuff. I think he really tries to make his classes interesting but honestly, they are super boring some times. However, he has awesome ppts which he posts and if you read and know everything on them (even obscure things you think wouldn't be important) you will be able to answer everything on the midterm and final.
Tam is a good teacher, but the material is quite dry and for the first half of the course I felt like most of it was common knowledge (what is a keyboard/mouse etc). He makes really corny jokes but they are hilarious if you think about how corny they are. For the most part you don't need to go to class, only before tests where he does examples.
Really easy course, easy A. Classes are usually awkward because he makes really corny jokes, which actually makes the class interesting! Course material is super boring, but he makes it as interesting as it can be. He's a total gamer geek and played Diablo one time to teach us the problem solving portion.
Good teacher. He uses powerpoint for his notes and he posts them online.
it is suppose to be a "beginners" course and i was a beginning and i thought it was very difficult. started out lectures as if you already knew that material he was talking about. lectures were dual and had to stay awake in.
Great guy who definitely knows, and has a passion for, what he's talking about. It's a shame the material he has to teach is painfully boring, and by the end of it you will realize that this "beginners" level course is not beginners at all. Be prepared to put in countless hours on the later assignments.
Even though this was a beginners course it was very hard.There was lot of assignments and tutorials.The mid term was similar to the practice mid term.but the final was very hard and it was not similar to the practice final he gave.That was one of the Hardest finals I'v ever had.His teaching is good.
He is a very good prof, the course was quite difficult mostly because of the learning curve of programming for me. He gave my class candy in that semester!!
This prof is pretty useless. Nobody listens to his lectures and fails to engage the class. He answers his own questions and when somebody asks him a question he responds with a question! Unfortunately he is the only prof teaching 233. I suggest taking it elsewhere and getting credit for it. Impossible to get a straight answer from him!
if you are planning on taking a class to sleep, this is the right one for you. The class is pointless, and everything is posted online so there's no point in going. Also, don't bother asking this prof for help, because he'll just tell you yo look in the notes.
Dr. Tam is a wonderful teacher despite what people may say about him. All of his notes are online. 60% of the class decide to skip and ~40% of the class failed the final. If you want a good mark in this course, attend all his lectures, ask questions and take the time to spend at least 30 hours per assignment as needed.
Went to class twice; once on the first day, and once for presentations. No point in going whatsoever, or in buying the textbook. Attend all the tutorials and read his slides (which are weird, because they all have pictures of Tam worked into them) and you'll do fine.
James Tam's lectures are fun and interesting. If you wanna take the course with him be aware that the assignments take a lot of time(theyre not that hard though. once you learn the concepts you do them all on your own) and hes a hard marker.just a very single flaw in your assignment can change your A on the assignment to a B the tests are really EZ
He's a good person, Helpful, but not good in explaining things. boaring in class. gives easy assignments all term but shockes u on the last assignment. His tests are in between.
A complete snoozefest. I'm sure that his snail pace of teaching is helpful to some, but unnecessary for the rest of us. Slightly difficult if you go in with no experience. But I took CPSC in Highschool, making this class a joke and an easy A. Don't underestimate the final if you want the A+ though.
He was weird ... his notes were ok, but his explanations weren't that great. Assignments were ridiculous, and took me forever to do them. TA was good though, and marked easy. Midterms/final were fair.
Awesome teacher, fun time in class, posts notes online and really helpful. Definitely worth while having him as your teacher, makes the course so easy
Awesome teacher, posts notes online and funny/quirky. Answers all questions and makes sure everyone is on the same page before moving onto the next slide.
Great Prof. Fastest marker I had. Well prepared lectures. Has lots of enthusiasm and passion for teaching. I highly recommend him.
Had for 233 as well. Fairly easy courses for anyone with programming experience.Otherwise, put the work in and you will do well. Highly enthusiastic, understandable and truly wants you to do well in the course. Assignments and tests are also marked quickly and are completely fair. Go to lecture and do some practice and you'll do fine
James Tam is hilarious, always making ridiculous jokes in class to keep it interesting. His assignments are long though, expect to put A LOT of time into them. On the bright side, he does mark fairly, so even if you aren't able to fully finish an assignment, you can still do well on it. Easy midterm and final.
A bit dull and isn't very good at simplifying a topic. The lecture notes are long with lots of filler and I found the textbook to be a picture book. Isn't bad, but isn't enthusiastic/great either. Makes learning the material more of a chore than it really should be.
I realize the content of the course is dry, but his ridiculous "Diablo" moments just turn me away from it even more. He spends ridiculous amounts of time on the easy content, but breezes quickly over the hard content. Midterm is ridiculous. You learn stuff about a week after you needed it to complete the assignment so it's a teach yourself course.
Completely useless if you had a question about anything. He spent so much time on the EASIEST stuff and then paid little attention on how much the classes struggled with the hard stuff. Ignored questions. TA's were also brutal and couldn't speak a word of Engrish.
Boring class, but very easy. He's a nice guy and he tries to make dry topics a bit interesting, but there really isn't a point going to class because the slides are straight from the textbook. Midterm, quizzes and assignments were easy, the final exam was long but fair.
One of the best Profs i had! He would always make sure you understood and would try his best to keep the class lively, even if the material was boring. Assignment were a little difficult, but were well explained and he gave lots of helpful hints and would explain every mark given! Definitely recommend him!
The only reason you should go to class is for the bonus marks on the cell phone top hat questions. Class itself is boring as hell, entertaining to just watch him though. The tutorials are a must, but you can go to different ones as long as you practice the material. Don't take this class if you don't have to!
Can drag on a bit, but is good at explaining the material, and does so in different ways to ensure people understand. Tends to breeze over some things are simple, even though they arent, but is willing to explain after class. Assignments were tricky, but his rubrics let you get a decent mark just for attempting them
Terrible prof. His examples in class are unclear. He goes too fast. And spent one class playing diablo instead of explaining an algorithm we needed to know. Take this course with Payman.
Fair assignments and tests. Attending tutorials is recommended.
Never take any classes with him! Inconsistent with everything, strict marking guidelines!
Hardest professor ever! Never take it with him! I STILL DON'T KNOW WHAT DIABLO 3 HAS TO DO WITH CPSC 233 JAVA?!?!?!?!?!?
All I did was play tetris in that class with my friends because hes examples are awful and lecture is pointless. the reason i managed to pass this course is i got lucky with TA. Please avoid him at all cost because hes marking for midterm and final is retarded. If you have to take any courses with him....good luck...
he does not know what he is teaching, do not take any classes with him
He is not a good prof! I don't recommend any classes with him. He expects you to know everything. Lectures aren't useful enough
I had him in 231 and I found it hard and tricky! In first half of class, I found it intersting due to how creative programming but after midterm it got harder and harder. I noticed he explains only basics but he lets us work hard on assigment. he wasn't helpful enough
He thinks he knows how to teach everything, but he does not. James fail to understand the students' needs and briefly goes over concepts believing the students understand what he is talking about in class. James is not clear at all, and his examinations is just cruel for the students. I do not recommend taking any classes with him.
Awesome prof. Very helpful. Funny! Tries very hard to get everyone to learn. Brings holiday treats and dresses up!
Awesome prof! Very enthusiastic!
Worst prof I've ever had. His lectures are pointless to go to because he makes the slides more confusing, half the time he talks about how doing hard work makes you succeed in the course. His assignments have no explanation as what to do expecting you to just figure it out. Switch out of his class if your enrolled in it
Lectures were boring, but I found that they helped explain the concepts and prepared for assignments. Assignments are decently easy but can be time consuming. Checklists are posted for exact requirements. Midterm was easy. Overall, not a terrible class.
Very boring prof, nails you with some impossible assignments, and is it just me or does he remind me of every character from lord of the rings? Plus he ruined lord of the rings for me with that last assignment.
The beginning of the course was very easy but by the end of the course a lot of students just stopped doing the programming assignments because they were too hard. Final was a little bit difficult as well. 3/4 of this class was programming so beware if you are not interested in this kind of stuff.
James knows his stuff and is good at explaining it, but he takes FOREVER to cover the most simple concepts. Lecture felt like a waste of time a lot of days. But he is EXTREMELY clear about his expectations so it is really easy to get a good mark in his class.
Absolutely useless, might as well just buy the textbook and learn it all by myself. His instructions are unclear, and he is very rude when responding to students' questions. I don't mind if he is a strict marker, but he can't explain clearly about what he wants us to complete. He is the only prof that makes me hate a subject that I loved so much.
Terrible compared to verwaal, only useful thing is finding a good TA, if you work in industry prior to taking his class it's easy, if not you're in for a rough time.
TERRIBLE PROF! Very unclear with what he wants with assignments. Barely teaches us what we need to know, instead he thinks we're all as educated as him in the field of cpsc. His exams are incredibly difficult. I love cpsc but this man makes me hate it. Strongly recommend to avoid him.
What a disappointment! James probably is the worst teacher I have ever had. Zero engagement. He expects us to copy his diagrams, but you CANNOT read what he writes. Seriously, he is at Grade 1 level printing. He writes outside the overhead field-of-view, and no one tells him that they cannot see what he is writing. No one cares enough to tell him.
THE GUY DOES NOT KNOW HOW TO TEACH. I had plenty of previous experience in JAVA so the course was easy for me, but his assignments are absolutely retar*ded and he enforces his stup*id marcial arts interests on us by talking about it non stop and making the assignments related to this shhhit. He was quite rude towards me twice...
This professor is very rude and his drawings are terrible. His accent made it even worse.
He would not teach thing that are necessary for the course, he just keep rambling about stuff he likes, like martial arts and Doctor who. I have to learn everything on my own.
This professor may be the worst professor on campus, avoid him at all cost
Why is he even a prof, he cannot teach, he cannot hand write and he definitely cannot draw. He kept using the blackboard at the front even though the lecture hall was so big that most of us can't read a thing on the board. Absolutely pointless to go to his lectures. I have to learn everything myself.
this course was suppose to be fun and easy, but somehow he managed to make us hate computer science. His would tell you at the beginning of the semester to not use the textbook, but his lectures were completely useless. Without the textbook, we would all fail the course. If you have him as your prof, prepare to learn everything by yourself
He is so rude, he expected you to go to all of his lecture(which I did), but he doesn't want to answer any your questions afterward. He never replies to any email, and he expects you to know the materials after explaining them once.
Defiantly would have had a hard time if this would have been my first time through Java and OO programming basics. Uses his interests too often, and gets stuck on them. Also what he wants for documentation is a little heavy, especially for a first year course. Haven't cracked the text book yet, glad I found the eBook version.
James Tam is a professor that you would find acceptable if you have only attended a few of his lectures. You would find him extremely enthusiastic, but after a few weeks of class with him, you would find him unacceptable as an university professor, his enthusiasm masked his incompetence in computer science and inability to teach and communicate.
This professor is very incompetent at teaching and presenting
Very unhelpful, he doesn't seem to care about his students at all. He was going to have a review day, then changed it to an earlier time without telling anyone so most people missed it. He then ignored emails asking him to post extra review material. His teaching skills are poor, I'm avoiding him at all costs after this course.
I've now taken two classes with Tam, and can say he's a terrible prof. Which is a bit sad, hes's a very nice guy and is respectful to students, but he DOES NOT KNOW HOW TO TEACH. Lectures are terrible and it's impossible to learn in them. He's one of those people who thinks he is making a whole lot of sense, but no one else does.
Actually screws you over for the course. I did not learn a single thing from him. He stated that the only thing we needed was to read his slides but they were vague and made no sense. Stopped going to classes halfway through the semester cuz the textbook was that much better. Pick the topic in his slide, read it from the textbook to pass.
AVOID! AVOID! AVOID! I could not say this enough, I had previous experience in Java and his lectures make no sense. He changed things frequently without notifying his students. His notes are bad, his assignments are bad, his presentation skills are bad, his exam questions are bad, his metaphors are bad, everything about James Tam is bad. Avoid!
This was suppose to be an easy class, but somehow he made most of us failed the course. His lectures are useless, his insisted on drawing on the blackboard, but his handwriting is worse than someone with Parkinson disease, not to mention his assignments and notes.
Prof is ok, most of the lectures are useless. You have to spend lots of time doing assignments but you can get 4.0 and higher. Midterm was tough and final was anal penetrating. But if you like programming, you will be fine. Good luck!
This prof is just terrible. Ignore at all cost, unless you want to fail!
This guy made me fail, he might be the worst professor anyone could have
He aight
He defs aight
I had background knowledge in java , which made the course easy for me; however, was difficult for students who just started programming. Thus my recommendation for future students is to look ahead into java programming (used in 233) in which the language is essentially the same as python (231). My TAs were very helpful, Tam was not.
Very enthusiastic speaker with a good sense of humor. Marking is fair. Slides are only useful as review - you have to go to class to get the information. Devil is in the details with his exams, so you have to be good at recognizing tricks and doing complicated tracing questions.
James Tam is literally the original memer. He loves the simpsons and memes. Very respectable dude, also pretty attractive ;). All of his assignments were straight forward, but they did involve a lot of if statements, but I enjoy using if statements.
Doesn't make the jump between Python to Java very easy on students and likes to assume that people already know content when they don't. Took a real liking to Mortal Kombat themed assignments, which had no relation to real life use. Seems to purposely make his tests hard.
Genuinely liked attending the lectures and Tam's teaching style. Lots of examples from games. Assignments from this course were probably my biggest time sink of the semester (even with prior programming knowledge) and went from easy to very hard, very fast.
He's an alright guy, but the difficulty in assignments ramped up much too quickly. That said, it's very possible to do well in the class if you're willing to put in the work.
All of the assignments are very clear as to what has to be done and if you start early you will finish. This isn't a show up to class and pass, you do a lot of independent work because you will fail otherwise. Don't like it? Don't take the course. This isn't a professor specific shortcoming. It is not difficult to do well. Time management is hard.
Tam is pretty good, his lectures often left me a bit confused, but going over the notes he provides well in advance makes it really easy to understand. I attended maybe 10% of the lectures, the assignments aren't tough, but they require thinking. The exams were decently simple, and he gives away examples during lectures, great prof, and great class
Sometimes I don't know what he's saying, but I like how he traces algorithms with us. Sometimes he's a bit redundant though, explaining one simple concept for 20 minutes. Overall, he was better than I expected. His assignments weren't hard. Only that assignment given by Kremer was hard.
Tam gets too much flack due to the actual content of the course. I found his notes extremely clear, actually enough to stand alone and no text book is required. In regards to the marking, it's extremely clear cut (It works or it DOES NOT work) - and marked by TA's. The exams are fair - do the assignments BY YOURSELF!
Unclear, boring PowerPoint presentations which are filled with errors. Lectures drag on forever. Cringeworthy sense of humor. Does not help out much at all for exam preparation. If you need to take this class just read Java tutorials online which cover the same topics on his slides. Easy course if you already know what you are doing with Java.
Although his awkward humour and confusing rants are often a pain, James Tam is usually clear cut and to the point with what he teaches and expects. The course is pretty straightforward and J.T. tries to help you out as much as possible. Very enthusiastic !
The first 34 of the classes were easy, but when it comes around vba programming and java script, you do have to start working there.
I had him in winter. He taught pretty well, explaining the relevance of what you are learning. Assignments were fairly easysimple, though appearing dauntingly complex at first. It would have been nice if he did more complex questions, such as program tracing, with the class to show us how. Uses ppt slides, but that's sufficient for this course.
Tam just threw you into Java without explaining much prior. Assignments were tough and but tests were reasonable. Based a lot on his slides but even those really weren't that great, he seems to talk all class and you usually walk away feeling as though he didn't teach anything. You could probably skip most of his lectures and still do well.
Nice guy but difficult to understand and definitely not suited to my learning style. His examples are geared towards gamers and he doesn't make much of an effort to diversify those examples
Great option class to take if you need one. CPSC 203 is a pretty easy course if you're tech savvy. Even easier if you took a Computer Science class in High School. James Tam is a pretty great prof. His jokes are sometimes dry and he rants about the most random things but his powerpoint notes and assignments are pretty good and will prepare you.
James Tam was a decent prof. Sometimes unclear about what he wants on assignments and in lectures. Once emailed him asking a question and he gave me the wrong answer so I lost marks on the assignment. He is funny and makes sure to give some easy test questions that everyone will get. His writing is bad and hard to read but notes he posts are good.
Slides are decent, and he has a good sense of humor but he doesnt know how to explain the material. Lectures are terrible, but assignments aren't too hard. The TA's are life savers.
Doesn't give help when you need it, goes off tangents sometimes but assignment descriptions are very clear.
The class was meaningless to attend and he would sometimes yell out while teaching, which was obnoxious. I emailed him to clarify his often slightly open to interpretation assignment specs and he did everything except from answering properly, he was the same in person. He graded the mid term tests impressively fast.
Make sure to give yourself enough time to complete his assignments, and attend every lecture. If you plan on waiting until the last few days before an assignment of his is due, you won't be happy with the results. I had a 4.0 going into the Final and I left with an A-, so be prepared for some curveballs on his tests. Very committed guy.
Assignments are fairly large but he explains the material well in advance so you shouldn't have too much trouble completing them. His sense of humour keeps lectures interesting
Love broken English? Love assignments about basic functions of computers? Love a sense of humor based around all the reasons people hate Gamers? Love a teacher who cant understand the full screen function in Ppoint? Then Mr. Tam might be for you! This prof is Disgustingly poor at his job, AVOID AT ALL COSTS.
A great professor, funny and very lively, he makes lectures fun and is ready to answer any questions you have, even silly ones, his powerpoints are easy to under stand but to powerpoints alone aren't enough to get you through, especially if you've never taken comp sci before. bonus: he gives study tips
Overall great professor. Tells you exactly what you're marked on and the worth of it. Tells you when each project will be due by on the first day so it is no surprise. Asks for feedback halfway through the semester on if there is anything he can do to help improve your learning. Tries to be funny and is always happy and smiling during lectures.
Worst class I have ever attended. This class would've definitely been easier if it were a different prof. Assignment instructions are unclear and confusing. The lectures are boring and it's hard to pay attention.
Avoid this professor at all cost!First of all his marking scheme is flawed: he marks you with a gap grade point and you can only get A if you have 4.0 which he considers a 100%!!!!!He also never gives out the answer key to any questions; i studied so hard yet still went into the final anxious because i couldn't figure out the questions.
He is horrible at explaining things. There is an assignment each week, pretty easy you'd think, but with the way he words them you never really know what he actually means. It's not that difficult if you read his textbook, but the only reason I attended classes was for top hat. Does not let you view the answer key to exams??
Tam should not be allowed to teach at a university level. His lectures are extremely boring and hard to pay attention. If you go to him for help he is very condescending and talks to you like you are stupid. He has also trained the TAs to not help out students. Assignment descriptions are confusing af. AVOID this class if you can. Terrible prof
Easily the worst teacher I've ever had. Somehow manages to take what should be moderately interesting and simple material from each lesson and turns each one into the most boring and confusing hour and a half known to man. All of my knowledge about the coarse concepts came from Java youtube tutorials.
Tam is my favourite prof thus far. He keeps things interesting in the Lectures with humour. People say his lectures are disorganized or all over the place but honestly, if you pay attention you will learn. Tam is great with answering questions, explaining concepts and he is a super cool and genuine guy, he keeps things real.
I've been a university student for 7 years and he is by far the worst prof i ever had. He is very dedicated and may potentially be the best prof to ever teach this course but his ridiculous course load (5 assignments, 1 mini-assignment, 6 quizzes, 2 midterms and a final exam), zero people skills and an 'Im always right mentality' make him the worst
I have mixed feelings about Prof Tam. By the end of the semester there weren't ever more than 30 people in class, considering at the start every seat was taken with 100+. This class has LOTS of work and the grading is very tough. Will be your hardest 1st year course. Prof Tam has the potential and enthusiasm to be an amazing prof...
James Tam is by far the worst prof I've had in 4 years... If you like boring lectures, broken english, bad jokes, condescending feedback, using a website from 1995 instead of D2L, lecture decks with cringe worthy photos of said prof, and grammar errors on ABSOLUTELY EVERYTHING, then this is the class for you. If not, AVOID at all costs.
Inaccessible outside of class, poor grading schemes, and hands out little to no practice for exams (without the answers either)
Took this in the spring, excellent Prof and TA for this course. This class is easy mode for anyone with programming experience. Over a third of the class got A's on the midterm. For beginners with zero programming experience, taking this course will place you in remaining two-thirds of the class. i.e. you'll receive a solid GPA beat down.
James Tam. Worst prof ever. If u don't know what "foo" means u will fail. Creepy jokes (mainly about his foot fetish). Can't understand anything he says. TAs were the WORST. Told us he was "not allowed to help us" when we asked for help. Said final would be 5 questions and was actually 60 questions... wtf 0/10 would take again. Boring af.
Worst prof ever. He told us the final would only have 5 multiple choice questions, but there were like 5 PAGES worth of multiple choice and written response... Didnt want to help students, didnt explain things well, and doesnt type proper english...
Suuuuper boring. Makes no sense. Unclear. Every question on tests/assignments is worded badly, so you get most of the questions wrong because you dont understand what the hell he is trying to say. Every person in my class was confused (even the comp sci majors). Don't take this class, if you do, avoid this awful prof.
Suuuuper boring. Makes no sense. Unclear. Every question on tests/assignments is worded badly, so you get most of the questions wrong because you dont understand what the hell he is trying to say. Every person in my class was confused (even the comp sci majors). Don't take this class, if you do, avoid this awful prof
Hes definitely the most caring prof in the cpsc department. You have to go to all the lectures - and hell definitely end up remembering your name after the semester is over. Work hard and put in the effort and hell notice.
I found the workload to be heavy. If you have previous programming experience this class should be pretty easy; otherwise prepare to put in a lot of effort. Learning (and understanding) these fundamental concepts for programming is challenging for most. I can see why some don't like his teaching style, but I think he truly wants you to do well.
I'm not a fan of this class or of Tam. Don't take this class unless you already have a pretty good understanding of programming computers. It started pretty easy then it escalated so quickly into stuff that I had zero understanding of. Tam is a nice enough guy, but his classes are really difficult to follow, especially when hes trying to be funny.
Tam is one of the worst profs. The course content itself would've been easy if Tam actually taught anything. Instead, he was condescending and rude to students, refused to answer questions and did not explain things at all. The TA's were practically as useless as Tam. If you have a background in programming, this will be an easy A, otherwise avoid.
If you understand the content then the class is easy. I only went to half the lectures and bombed the final but still ended up with a good grade. His lectures are boring and dull and not necessary unless you don't understand the material and the tutorials are pointless.
he is so boring it will actually make you want to cry. if you manage to pay attention in lecture you will ace this course because it is pretty easy,but paying attention is hard when its this guy doing the lecture. he just reads off of his endless and boring slides. this class will make you a better student because the prof is certainly no help.
James Tam is a terrible prof. I tried so hard not to sleep in his class but couldn't help it, his lectures are dry and dull af. He is rude to students. He has so many errors in his assignments. Overall terrible! (And his jokes are not funny.) Do NOT take his class! I ended up not going to class and self-teaching myself, which worked for me.
Tam is rude to students in class, unhelpful in lecture, and unclear on his expectations. Jokes aren't funny and textbook is a printed version of the slides he shows in class. I self-taught myself from lecture materials online, and still ended up with a decent grade. Considering this was an elective, I do not recommend James Tam as a CompSci prof.
He has 5 major assignments... the last two are the hardest ones and have the least amount time. Inaccessible outside the class.
He is a decent prof. He is very knowledgable and shares his experiences/mistakes he made as a undergrad to explain why he wants use to code a specific way. I think his teaching skills could improve. He should spend more time explaining the fundamental concepts in a basic way and them move on to more complex examples. Overall he is not that bad.
James is my first computer science teacher who really made me understand what programming is and how to code in Python for sure. I did what he had asked students to do - STUDY THE PPT BEFORE CLASS and achieved an A. I have 0 programming experience before and now I have the ability to self-learn. Really want to thank James )
If you take this course as a GPA booster with him, its a mistake. 4 exams, 25% each, a few wrong answers are an entire letter grade, and he makes SURE that you lose those marks. 30% of his exams are things he said once and cant be found anywhere in ANY of his provided resources.
Worst and least professional communicator I have ever seen. Even a pandemic wasn't enough to get him to stop complaining about his bosses. Makes everything exponentially more confusing then it needs to be. ex. his grading scale is some sort of cryptic, weighted, grade point conversion of test marks instead of just using %'s like everyone else.
His course is insultingly bad. Incredibly unprofessional & sometimes downright factually wrong. Class moved online due to COVID & he responded by sending multiple meandering emails complaining about Admin but no updates as to the class. Then moved one of his 4 midterms so that we had 2 exams (50% of total grade) within a week of each other. Nice.
Lectures are incredibly dry and boring and borders being cringe with his random rants and describing events with clip-art. Class became even worse when it transitioned to being online. Poor communication in regards to the transition and tests us on the videos he posts, which are excessively long, averaging 3-4 minutes on slides with 5 words.
I've seriously never encountered such an incompetent prof. This man had no desire to learn how to use zoom and blames it on the students and consequently the software itself when nobody can hear him or see what he's doing. Instead of doing anything constructive he devotes his time complaining about zoom. Every other prof can figure this stuff out
Condescending when students try and ask questions in lecture, by email, & during office hours. He requested that all files be emailed to him in txt format, I followed his instructions only for him to treat me like an idiot and tell me I need to send a .txt when it already was a txt file. Incredibly slow paced lectures, rambles nonsensically, avoid.
Prof doesn't learn zoom functionality, instead blames software for being obnoxious. When students ask questions about a topic he covered 4 minutes ago he shuts them down and continues teaching.
James Tam's notes are disorganized and really hard to follow. That being said, I dont have any background on programming. Echoing to previous comments, he is very condescending to students and not that approachable. The workload was overwhelming but understandable for a spring semester. He always goes off tangent most of the time during lectures.
You could have the basics of programming down and you will still do poorly in this class. He will not explain things to you if you ask and he deducts marks for things that are never specified in his project excel sheets that he prides himself on for having so detailed. I'm a straight-A student and somehow I still did poorly in this class
Dr Tam is an amazing & caring professor. If you are respectful towards him and want to learn the material, he will help you. He was never condescending towards me and helped me a lot when I did not understand the material. Taking this course in the spring is heavy because there is so much material to go through. Grading is fair and straight foward.
Taking this course during quarantine is a hard task for both the professor and the students, but Tam was a horrible professor. The lectures never helped and he was rude when answering questions. Would belittle the person asking the questions as well as give a poor answer. Promotes dystopian style marking , Bad teacher but seems like a cool guy :D
Tam is not clear about the teaching target. Even if you get the same output in homework and use the methods learned, you can only get 1/4 of the score. You must follow his own style, which greatly limits students' thinking. Also very rude in class, always thinking that the student is wrong, even if he doesn't use ZOOM to turn on the microphone.
He put 1 hr long pre-recorded lectures every week and doesn't do anything else. His assignments are pretty hard compared to what he teaches. You must watch his pre-recorded lectures because he puts secret information in them that you have to know for the assignments. He seems like a cool guy but not helpful at all, very strict with his criteria.
Despite having made games and other software in Java beforehand, CPSC 233 was still a challenge. Because of this, the assignments were easy, but the requirements were always difficult to understand (even though they tested important concepts). Use of IDEs was discouraged, and Java formatting/convention was inconsistent at best. Would not recommend.
First things first, if you have a class with him coming up DONT TAKE IT. He is the hardest marker I have ever had in my life (this is not an exaggeration). His assignments are never clear and always worded confusingly. I got 0.5 GPA taken off because I forgot to put my name and tutorial number in one of my assignments. Please find a different prof
I think CPSC233 was a great course to dive in to programming. It really taught me the concepts. Lectures were not that great, because they were too long. Also Dr Tam is strict about his grading but he was always helpful through the course.
Gave the worst assignments ever and never understands students problem regarding late submission or any kind of emergency
I thought he was pretty good. A lot of classmates were talking about not watching the lectures and then complaining about how hard the assignments were. I found that he covered exactly what was needed for our assignments in his lectures, watched them all and had no issues with the assignments. I like that he is clearly a fan of video games too!
A class for non-majors and he docks you based on 'industry standard.' I talked with CPSC major friends. What he says is NOT industry standard. Tons of homework and grading is so slow that feedback is useless or non-existent. Extremely rude in emails. Gets easily off topic in PRE-RECORDED lectures. I learned everything from online outside sources.
His expectations for assignments were not so clear. I took his class in the winter and it's as if he expects we are only taking one class with how long his prerecorded lectures are. I'm sure there's an effective way to teach the information, with hours of shorter video. I do appreciate his effort. Assignments are way too hard for someone new to CS
He doesn't seem accommodating & does not set out clear grading criteria, I doubt I would've done well on the assignments if I continued in the course. He rambles a lot & never gets to the point
Not the best but not the worst either. The class was honestly as everyone said in Fall 2020, boring due to being just long lectures. At the same time they were open book tests that were near impossible to fail if you at least watch them. It might be boring but it's a safe pick. I'd recommend Tam to do something more fun for his classes though
Dr Tam provides comprehensive instructions and grading rubric. His lectures are longer than they need to be because he easily gets off topic. It does take him longer than ideal to return feedback on work so it can be challenging to know what to work on for the next assignment. If you follow the assignment to the letter you will get an A.
Marking was confusing and made no sense. Lecture were recorded with a wish(dot)com microphone and I could not watch them as they were uninformative and extremely long.
Tam's lectures are excruciatingly long and always include him rambling for ages without getting anywhere. The only time I could pick up on anything was when I muted him and taught myself via youtube. On top of how strict he is with marking,his assignments were very difficult for a class expecting no previous knowledge of coding/python.
His lectures are just him rambling most of the time. Needed this class as a req for my degree and have no experience w python. It was the hardest class ever I had too many courses to properly give it attention. Also grading is really tough they take off marks for small things. If you know python and coding though this class wont be too brutal.
These lectures are just wack. Personally I just didn't bother and just did the work on my own. At least the assignments will give you easy grades if you can figure them out and just work at it.
He makes good mini assignments, however, his full assignments were where problems came in. I know you can do well in his class, but once you bring his lecture content into the full assignments it gets realllllllyyy confusing. His lectures are really boring.
I really liked Dr. Tam and thought he was a good professor. He was really helpful during his office hours, if you had made an attempt at whatever you were asking him about. If you had tried to figure it out, he was incredibly helpful at insuring you were on the right path.
He's a good prof and explains things but this class is really easy, I only went to 1 lecture and a few tutorials. Just read the notes he posts and you're set.
Dr. Tam wasn't very helpful, he teaches the class functioning off the belief that it's "common sense". He isn't easily accessible outside of class and gives pretty ridiculously hard assignments. I learnt most of my knowledge from the TAs since Dr. Tam was very condescending. Spent so much time on this course, I'd suggest to avoid him if you could.
Not great. His d2l is weird. I'm sure he thinks its organized but no one else does. His marking guidelines are way to pedantic and the way he does gpa conversions makes it very hard to get an A (although it makes passing very easy). He is also weirdly aggressive in lectures and emails. His tests are really easy, but a 91.9 only gets you a 3.7 or A-
To start, it took 4 or 5 lectures to get to anything of substance and he constantly goes on the same 2 tangents each lecture. The way he has organized the course material is also counter intuitive. Instead of having everything on d2l, he has a bunch of links going to basic html files that are incredibly hard to look and aren't very accessible.
I had a 97% in cs 30 but could only get an A- in his class. His gpa cutoffs for high grades are above the uofc standards. The quality of code you have to write is also way higher to get a good grade compared to the other classes. I don't see anyone who doesn't already know cs getting above a B+. His d2l is also a mess.
Tam isn't for everyone and their learning style, however, if you like a more "straight to the point" prof then you shouldn't have too many issues with him.
Professor Tam is an okay instructor, nothing really special about him but he wasn't terrible. I didn't really like how the course was organized. If you have any experience coding (with Python) this course will be extremely easy and boring.
James Tam honestly goated. He tells you exactly what to do and how to do it. You just need to understand it to implement it on the assignments. Very clear about how you would be graded (meticulous spreadsheet if you care to look). Hes a straight talker and is constantly trying to improve the course.
Dr.Tam is a solid teacher. Very straight to the point and his grading criteria is clear through his spreadsheets you can find in the assignment description. The way he had the last couple of weeks of lectures set up I didn't necessarily like as it left little time to work on the final assignment. but other than that he's a good prof.
If you have any coding experience this course will be the easiest course you have ever taken. Do yourself a favor and skip lectures, I think I put 10 hours of work into the entire semester.
I enjoyed his class, he had some good humour and made the class bearable. Just stay on top of your assignments and lectures and you should be fine. Start coding assignments early!! You can't do it in one day, made people tried and failed sadly.
His teaching style is difficult for those who do not pursue programming already, his slides just dont teach well. I find his speaking skills to be slow and difficult to comphrehend. Assignments are reasonable I say and can be done relatively simply if you spend your time right.
Dr. Tam is one of my favorite profs so far at uofc. I do not have previous computer science experience besides taking a very small excel/html course at another school and I found Tam to explain concepts very well and thoroughly. If you participate in class and tutorials you will learn the concepts well. Tests/assignments reasonable. Super nice guy.
Dr. Tam presents course material in an easy to understand way and clearly outlines criteria for assignments. However, he can get off topic, falls behind and assignments often went beyond what we were learning in class. You will have to do a lot of work outside lectures to figure out the material.
He is super nerdy and makes lots of Star Trek references. He is definitely knowledgeable and teaches well, but he often goes off topic. I felt the assignments were fair but took some time.
I went to one lecture since just reading the online slides was good enough, unless you want to watch him open and close microsoft word for 75 minutes. The assignments were mostly very easy, although half of them had no feedback. If my code runs and does exactly what the assignment asks, there should be feedback to say why I didn't get full marks.
Class wasn't bad, Tam is a nice guy (and sometimes funny) just be prepared for test questions asking about super specific things that he mentioned for a split second in class one time.
A pretty good engaging proff who obviously tries to relate the concepts to real life. Can be difficult to ask for help as he seems a little bit condescending. Don't expect him to give you any answers for your code the first time, he will however give you ideas on how to debug or test your program. show up for class for info/tips on assignments
Dr. James Tam gave me a new perspective on the law enforcement industry. His explanations of the print functions were so succinctly thorough that it took three lectures!There is no one I'd rather take a gym class with than Dr. James Tam. If it weren't for his incredible teaching talent, he could also be a standup comedian, cuz hes such a joke
Tam is underrated and overhated. Majority of bad reviews are likely due to skipping class and not participating. Computer science is all about engaging with course content, so the prof can't be blamed. Tam provides great examples, and stories in lecture. He's understanding of typical student workload, but does give (an expected) uni level of work.
Textbooks aren't necessary but he tells you to get them. Assignments went from stupid easy to weirdly complicated so I wouldn't take this course unless you've done some programming before. Lectures are dry and you don't need to attend them unless you need help with one of your assignments. Glad this was only for my science credits and not my major.
The majority of actual learning in this course was from the TA's in the tutorials. The lectures are only valuable if you want to watch Tam repeated open and close documents, draw on PowerPoints, and lose application windows immediately after moving them. If possible, take this course with a more competent professor.
He's not that bad. I kind of enjoyed how deeply he went into some topics. His midterms were fair imo, and the assignments were not that bad, and could be kinda fun. This was my first compsci class ever, and I really feel it set me up for success. I also liked his long assignment descriptions... you never have to worry about vagueness.
Could just be me, but I don't think I learned a single thing from him. I relied on my previous knowledge of python and attended tutorials. His classes are boring and I don't know if he's to blame considering that CS is a hands-on subject and everyone learns at their own pace. All I'm saying is if you can pick another prof, then pick another prof.
James tam was one of the most confusing individuals I've encountering. The worst of it was by far his practice test for the final, where he allowed us to write the test and receive a mark, but never let us see our results for it, meaning that one doesn't know where they had made an error, and only that they madre an error.
The pitfall with James is that the material was not complex, and now as I study the material, I figure I could've learned it all on a youtube channel at a quarter of the time. His assignments are an eyesore to read.
Professor Tam is unhelpful with questions, often responding to emails with a link and advising to "figure it out yourself." The midterm and final preparation is lacking, with one-attempt practice tests lacking review options. Despite passionate lectures and clear grading criteria, the class is awful for those without prior experience.
Unless you're a masochist I suggest not taking this class with Tam. Funny guy, but definitely not a course designed for people who have never coded before.
Tam's teaching sufficiently prepared me for the assignments, all of which I did great on without having to access additional resources. However, his assignment webpages are a bit ugly which is not an issue. However, just attending lectures and taking notes will not prepare you for his tests. Reread all your notes and do practice or you will fail.
He seems passionate in his teaching, but the teaching style is difficult and confusing. He goes fast during lecture, and I found it hard to keep up with him. The online final and midterm prep review close early, and will not receive feedback on what you got wrong. A LOT of self-teaching and homework.
The way he teaches is tough to grasp. The lectures move quickly, making it hard to keep up. Plus, the online final and midterm prep reviews on d2l close early, and you won't get feedback on your mistakes. Be prepared for a lot of self-teaching. The Exams are very difficult and graded on hand written syntax which makes zero sense. TOUGH GRADER.
Wish I'd taken RMP more seriously. It's not that he's a terrible instructor in the sense of not presenting course material, because on the contrary, I find that James Tam actually wants to teach people the material. But his attitude is so bad/ mean, it's as if the computer science department put him in a first year course just to get rid of people.
going to lecture was useless. got screwed over on the final
Tam's teaching style is a bit tough to grasp - the lectures move fast, and the midterm/final prep isn't the best. However, his passion is evident, and the assignments were good practice. I found unstuckstudy ai super helpful for staying on top of the material.
Raised a lot of academic misconduct to the students. Definitely hates his students. Avoid !
He had 3 online exams each weighing 33.33%. Overall I didn't like the way he delivered the course.
Hard to follow what content is important as lectures are boring and slow. Can not stop yapping about useless information that has no use. He talks about how tall his ceiling are and about his car for periods of time. The grading scheme is complex for no reason. If you can bare the lectures and take useful notes, you will do good in this class.
Tam was pretty good. This was my first time coding, and I found the workload to be minimal and the tests to be fair. He also set me up for success by not letting me do "bad" things in coding (naming conventions etc). I actually thought he was a good prof, and found the final assignment to be challenging but fun
Not a very good prof. You will be studying on your own mostly as you realize his lectures are **** .
The class was very boring, I found myself having to focus on staying awake a lot. He has a VERY thick accent, making it hard to understand what he is saying. He is SO SNEAKY bc he is the author of the madatory textbooks required! he also doesn't use D2L bc he has his confusing website. This class deteriorated my mental health. AVOID AT ALL COST.
Worst lecturer I have had so far. Would recommend avoiding, I will be for the rest of my time here.
No feedback. No help. What a joke- just retire.
Does not provide sufficient information about exams and what is expected as you of a student in his course.
Goes way beyond the scope and is surprised when students ask him questions or are confused
this professor is great. I like him so much
Don't take this class if you don't have to. i took it as a GPA Booster, might end up CG this course. Exams are very difficult and he doesn't even mention it properly in slides and expects us to know all answers to his stupid questions
Testable content not covered properly in lectures & slides. Got 90% on Exam 1, so I was happy. Quiz 2 (I studied double for), around 1/3 of the questions were ambiguous and/or not even remotely touched upon in lectures. I got under 70% in Quiz 2. You shouldn't drop 4-5 grade points when you put in double the effort. He did in on purpose, bad prof.
Purposefully goes into too little detail on important parts of the course, overexplains parts that are not testable or remotely related to the topic. Makes questions extremely confusing and answers painfully similar purely to confuse students. If the majority of your class cannot get above a C+ in your exam, you are the problem, not the students.
Does not make an effort to reply to students' emails, and if you get a reply expect it to be extremely condescending. I am averaging a 3.85- but because of his negligence most likely will drop this course to protect GPA. Money wasted. In every other 400 level in CPSC I have got between a B+ and A+... Rude, unhelpful professor and bad course.
Start of the term seemed like a good course and professor- very wrong. Each week gets worse and there is no support whatsoever. I thought university professors were meant to be a step up from high school I am so upset and disappointed.
Laziest course format I have ever seen. You may be mislead into thinking this course is easy based off of only having 3 exams that are all online. I promise you it is not. 30 questions in 50 minutes, and half of the questions are beyond confusing. For some, it feels like there could be multiple correct answers but there is only one. Lazy course.
Literally yaps about nothing related to the class and then expects you to know all the material for the tests. Also, he just reads off the slides that are so poorly done that you can barely understand what they are saying. My TAs were honestly the only ones who taught me anything all semester.
Reads off the slides the whole time, and the slides are hard to understand. Take any other prof and save your time.
lectures were just all about him and had to force myself to listen whenever i went because everything he was saying was off tangent and so went in one ear and out the other. most poeple left in the middle of his lectures everyday and he was pissed lol
His lectures were incredibly useless, the notes he gave were really hard to understand and they are posted on this hard to look at website. Overall, pick anyone else.
if you are taking CPSC 217 with JT personally I would recommend just staying home and using chatgpt to give you practice questions based on the test and just do a bunch of those until you get the hang of it - probably only need 4-5 hours of practice per mid term using that method - lectures imo were useless - did not bother going after first week.
Tam made this class extremely difficult, not because the intro material was hard, but because he would not stop yapping. He went on tangents unrelated to the course. His slides were confusing and messy. He rarely did examples. Attending another lecture and my TA were what actually helped me succeed.
His lectures aren't good. His tests are hard. But I won't say that this class is very hard to get a A in it. You can get a high grade in this class if you try. I would take a class with him again because he is good enough (not every prof is perfect)
definitely a fascinating material with a meaningless teaching way.
Not a good prof. He made this course super difficult because he would start talking about unrelated things during lecture. Better to just teach yourself the content.
Class Info
Online Classes
100%
Attendance Mandatory
23%
Textbook Required
60%
Grade Predictor
Your expected effort level
Predicted Grade
B+
Grade Distribution
Common Tags
Rating Trend
Declining
-1.32 avg changeRatings by Course
CPSC
5.0
(2)CPSC231
3.8
(49)COMP231
3.3
(3)CPSC231233
3.0
(2)CPSC481
2.9
(7)Difficulty by Course
CS219
5.0
CPSC219
4.1
219
4.0
235
4.0
COMP231
4.0