2.7
Quality3.8
Difficulty41%
Would Retake93
Reviews41%
Would Retake
93
Reviews
Rating DistributionOfficial
5
19
4
17
3
12
2
11
1
34
What Students Say
“As a lecturer, he is very irresponsible and impatient”
ITP308 - 1.0 rating“Honestly, he's really a mean guy”
ITP165 - 1.0 ratingClass Info
Online Classes
100%
Attendance Mandatory
22%
Textbook Required
18%
Grade Predictor
Your expected effort level
Predicted Grade
A-
Grade Distribution
Common Tags
Rating Trend
Declining
-0.23 avg changeRatings by Course
ITP115
4.7
(6)ITP165
3.8
(9)ITP
3.5
(2)ITP308
3.0
(5)ITP168
2.4
(71)Difficulty by Course
ITP308
4.0
ITP168
4.0
ITP165
3.8
ITP
3.0
ITP115
2.7
Reviews (93)
Prof. Raymond is really nice. Always willing to sit down and help you with the program. He's also funny. The course isn't easy but it isn't to hard either. Easy to get an A or B in.
Very helpful instructor! If you have any questions he will really take the time to help you with it and explain concepts further. Tests are not super easy but are manageable if you go to class and understand the assignments.
Explains the material well, is helpful if you ask him.
Prof. Kim loved to lecture then send you off to try the labs. They were daily and were graded so there was virtually no way to skip even if you were sick or something. He was clear and the lectures were directly related to assignments and homework. He was a fine teacher but generally not a nice guy. Kind of mean to be honest.
He is a good teacher - he structures his lectures well and all the labs and assignments are directly related. Plays up how tough his tests will be, but he prepares you very well for them even if you have no previous experience. He's very helpful when you have questions, but not that approachable - he comes off pretty mean-spirited a lot of the time
don't KNOW WHAT HE IS SAYING
Good teacher, a little confusing at the beginning because the class moves pretty fast, but eventually you'll understand that Kim is actually sane and does a very good job with all his lectures. His office hours are always helpful and his labs/midterms are relatively easy.
Horrible professor, class is too hard for only 2 units
Lectures are to the point and he provides everything you need to know for weekly homework. Homework can be challenging but you can ask for help. My grade was a B because I got screwed on a single question on the midterm that accounted for A LOT of the grade. Heard Kim is better than other ITP168 professors and is better at explaining Matlab
Professor Kim is not that helpful unless he's assisting you with a specific issue with your code. Go to his office hours. Otherwise, the class is really difficult.
He's a good teacher with organized lectures and his material isn't impossible to learn, even for someone with no coding experience. But I just feel he's pretty specific and strict on the way he wants his assignments done. I don't understand his reasoning behind some of those methods. The labs, for example, if you mess up on one thing, you fail it.
Honestly, he's really a mean guy. He set up a online forum Piazza and he seldom answered questions there. Besides, he always gives you looks if you forget something simple.
Sometimes grading takes a while, think this depends on TA? When you're struggling this professor provides the help you need if you take the time to attend office hours, definitely fast paced. Don't be surprised by 0 points for partial work on labs, but he made this clear in class.
Ray is awesome. Everyone here is just soft.
He's very unhelpful when you ask him specific questions and he's also impatient. Avoid at all cost!
Lectures weren't very good, class structure wasn't intuitive or logical, tests were accurate measure of knowledge of material. The actual content of the lectures was useful though. I went in with no coding experience and came out fairly competent. He's also merciless, unyielding, and not pleasant to be around.
Very rude and mean. Lecture is basically useless, and when students ask questions, his replies are like robots. Avoid his class at ALL costs.
Ray's not mean, just very straightforward/blunt; he does try to scare you with the rules talk on the first day, but he's understanding on grading disputes. Also, his answers to in-class questions tended to be vague but he was super helpful in extra help. I already had some coding experience so the first half was super easy, though.
As a lecturer, he is very irresponsible and impatient. Most of the time, he couldn't explain some simple definitions and concepts. The workload is heavy and he's disrespectful to his students. Want to get a C for working hard the whole semester? Come to take his class.
Professor Kim is a great professor! Lecture can be a bit boring sometimes, but it is super helpful for the labs. Go to his office hours to be successful in class!! He will explain difficult concepts to you and walk you through the code. You will get a zero if your code doesn't run, but this is basically the standard for any coding class.
Straightforward and incredibly caring; stops frequently during lecture to ask if anyone has questions and answers them no matter what; don't recommend taking this if you're looking for an easy time, C++ takes *lots* of time to understand and to complete some homeworks - if you struggle, go to office hours. Inspired me to pursue a minor in ITP.
Great class and very knowledgeable professor. The learning curve for this class is very steep but it is possible to do very well if you are motivated! Professor Kim and the TAs are extremely helpful for both labs and homework assignments. The lectures are very clear, concise, and structured.
Kim doesn't know too much about coding in my opinion. He easily got stuck in some details and couldn't explain concepts clearly.
He does not take into account that there are people in the class who have no idea how to code. He speaks using very technical language and is hard to follow in class.
Best CS teacher I have ever had. He seems cold at first but he is a big softy. Show up to every class and ask questions. Grading rubric is clear and fair. If you do all the HW and Labs you will pass
doesn't provide any resources other than lecture notes and the online forum (which he only selectively answers) to help you complete assignments, so if you're stuck, you can't finish the assignment. most agonizing class ever lol
Inspired me to drop my minor in ITP and never program again. Does not care if you are struggling.
Kim is a great teacher but this class is geared towards people that already can code/has way too much busy work for a 2 unit class. two labs and a homework project due weekly. this class is a breeze if u can code. if not, be ready to struggle. office hours and piazza are helpful. midterm and final arent too bad, and he makes study material avalible
Too much work for a 2 unit class. His assignments can very difficult, and office hours are often crowded because nobody knows that they're doing. If you're unlucky, you won't be able to talk to the prof/TA at all during their office hours, if that says anything on the difficulty of the homework. Make friends and help each together!
He's a great professor and the content in the class is not difficult. The only reason it feels hard is because he assigns labs at the end of every lecture which are due within 24 hours. The class can take up a lot of time which could be used for studying for other classes. Otherwise this class is great! He really just wants us to know Matlab well.
Literally best professor ever! Yes, he gives a lot of work for a 2 unit class but it helps and it is very doable if you aren't lazy. Go to lecture because it helps with the labs. Go to office hours!!! He is an awesome person and he helps so much with understanding the concepts.
The amount of work for a two-credit course was absolutely insane. I only ever went to class to get help on labs from the TAs -- the lectures were a waste of time, you could just read the slides and get the same information. Not sure any of it is Raymond's fault necessarily, I just had a bad time in this class in general.
His lecture presentations were simple and concise. The slides were so good, I still refer to them till date. It is absolutely a lot of work, but he was probably the best guy to prepare you for it. His office hours were super helpful for assignments and actual advice. My experience in his class convinced me to minor in Computer Programming.
I'm not quite sure why he has bad reviews on here. All around great professor and person. He is very accessible online and after class. He is a fair grader and clearly outlines what is expected. This semester, I noticed a mistake on the grade of final, and he was happy to regrade it for me, making the difference between an A and A-. Enjoyable class
This class is a lot of work for two units, but tbh that's on the department. You really do learn an insane amount in this class. Difficult if you don't have coding experience, but office hours are really helpful especially from TAs who answer the questions on Piazza (you'll know who they are). I got an A w/o coding experience, but it took effort.
Reasons I hated this class: There is work due every Th, F, and Sat. The grading is incredibly harsh. He is the most un-understanding prof ever. No hw drops, no curves, does not care about outside circumstances. It's cheating to even look at another persons code. This class is way more work than its worth and if you mess up, its hard to recover.
A lot of work for a beginner coder, but I know Matlab is important for an engineering major. Spent a lot of time especially at the middle of the course, as homework gets difficult, but then as I get along with Matlab, it becomes less time-consuming. Raymond responds really quickly on Piazza. Make sure you use this resource to your best.
ITP is a lot of work for a 2 credit class and I found myself cramming the night before a homework or lab was due. Overall I found coding interesting. Lectures are completely not necessary to attend because everything is on the internet.
Raymond Kim is hands down the best prof I've had and I didn't even go to office hours regularly. The class isn't too hard and the setup is dead simple so there's no surprises. He doesn't curve but the average is an 85 which is good. You can finish most assignments in an hour or so. He's the reason I switched to CS so you'll have a great time.
The 2 unit ITP168 with Raymond is nothing short of a 4 unit class workload. The poker game assignment accounts for a large percentage of your grade so u better not make a single mistake becuz the grading scheme he made up for it is inflexible (focuses only on the final results and don't give u any credits on getting the correct logic behind).
Prof. Kim himself is very kind, but this class is extremely heavy for 2 credits. Homeworks are way more challenging than the lectures and labs and you need to put in so much effort it is crazy. This course was harder than my 4-credits classes. Think about how much you need MATLAB in your life before taking this course.
Course structure and expectations are very clear from the start. Prof. Kim is a great lecturer with a serious but kind attitude. Loads of work for a 2-unit class (2-3 assignments per week on average), but it's necessary to build fluency in MATLAB. Exams are written to yield an 85 average, and TAs do most if not all of the grading for the course.
Class is tough, but Prof Raymond is very helpful. Highly recommend going to office hours. He's good at explaining and breaking things down for you. Every week there's hw and labs, but he would cut them down before a project is due.
Coding in general is difficult, and the assignments that Professor Kim gives are somewhat difficult, but if you go to his office hours, then he can walk you through them really well. Overall, the class is what you make of it. Put in good effort and pay attention, and it won't be bad.
This class isn't extremely difficult but it is very time consuming, especially for a 3 unit course. There is one homework and one lab each week, as well as a midterm project and final project. Office hours are helpful, and he is very willing to help you answer questions or figure out the best way to go about your project.
For a 2-unit class, this course was incredibly difficult and required more work than all of my 4 unit classes. Grading was harsh and the assignments were really long. Avg on exams was quite low (60) and not curved. This class should not be called an "intro" class. I'm honestly dissapointed with the amount of work I put in vs the results i got.
ITP168 is worth 2 units but the workload is equivalent to some 4 course units. I would definitely recommend attending either Professor Kims office hours or the TAs.
ITP 168 is a rough course, especially for only 2 units. Every week Kim would assign a lab and readings. Large homeworks were assigned every couple of weeks or so. For a 2 unit class, the weekly workload was comparable or more than 4 unit courses. The exams were graded harshly and not curved even though the averages were quite low.
Professor Kim did an excellent job of teaching Python to beginners. He was super patient with students and explained concepts in ways which were easy to understand. Youre graded on weekly assignments and labs, 1 midterm, and a final project. Overall a pretty manageable class!
I had zero prior coding experience and truthfully struggled a bit in ITP115. But Prof Kim was amazing-- encouraging and motivating all through the semester, even through Zoom. He explained everything thoroughly and efficiently, and never made me feel dumb even if I asked a thousand questions. Definitely one of the best professors I've had!
Even though I did decent for my first programming class he wasnt insanely helpful. He makes a lot of passive aggressive comments that class isnt very enjoyable. He also locks all of the piazza post for the final which is understandable but you will be unable to confirm the time of the final. Get a head start on everything!
if you can, take this p/np (I did). prof is lowkey condescending and doesnt give answer key to his practice test and midterm even after completion?? class is boring and was online so barely anyone shows up lol. too much hw for a 2 unit class, only redeemable thing is the TAs were saints and so helpful in office hours. his office hours are not great
Not done with the class yet but the workload is equivalent to a 4 unit class even though it is 2 units. Every week there is reading and a lab, and about every other week there are homework assignments due (some are straightforward and some will take you literally 16 hours). No one shows up to lecture but the material goes from 0 to 100 quick
Unbelievable amounts of work. Extremely strict grading criteria. Doesn't curve the class despite the avg being lower than a B- for sure.
This is a very introductory level class. Professor Kim helps you learn the material by showing you how to do in real time on Python. Weekly labs and assignments. One midterm and one final project. Every ITP115 class has the same assignments and test, so it's very standardized. He waits for students to answer his questions before he moves on.
People just on here complaining cuz they are lazy lol. Prof Kim is a good lecturer but he is pretty strict
Professor Kim seems scary at first, but he is actually pretty nice and a good instructor. The lectures can be boring, but he effectively walks you through all the concepts you need to know. All the readings and homeworks are intuitive and doable if you put in a few hours a week. Don't procrastinate on the poker game homework! Would take again.
For what this class is it is okay. If you do not need to take this class don't, just teach yourself Matlab with online resources. The work is doable but too much for only a two-unit class. I do not agree with his grading and think it is not fitting for a class targeted at those with no coding experience. This class is a necessary evil.
Content is either extremely simple or extremely beyond the capabilities of someone who would be new to coding. Too much work for a 2 unit (Weekly readings, big homework assignments, weekly labs). The tests and hw are also extremely difficult in comparison to the examples in class. Honestly if you're new to coding take this as P/NP.
The lectures are inconsistent compared to exams and homework, do not take unless you absolutely need to.
For a two credit course, this class was extremely demanding of the students. Prof was condescending and hard to reach. The lectures were online and while he talked very slow we didn't learn a lot that would help with the homework or exams. Grading became extremely harsh towards the end of the class. Try to avoid this class if possible
Teaching he is okay, grading I have never encountered a more harsh and unforgiving person in my life. As someone who knows and is comfortable with matlab, I believe his approach to grading to be entirely inhuman as he plugs code into a grading code and refuses to look at the code beyond his written test code. Avoid him and find a nicer person.
Has a condescending tone but that is just how he talks. He is an unforgiving grader and for this class being targeted to first time coders, it is down right cruel. Avoid him at all costs, save yourself the grey hairs and the snide remarks.
Avoid this man at all costs! His lectures are not engaging and he keeps an online class making matters even worse. His natural tone comes off as rude and I genuinely do not enjoy attending his class or doing his assignments. Your money would be better spent on a coding book and food to keep you company.
rating speaks for itself. worst professor I have encountered at USC. Although he is an okay and clear teacher the work he assigns and his grading methods make the class entirely unbearable. Get the requirement waved if you can or try your luck at Python anything but Raymond Kim.
Lectures and concepts were fine. My main issue is grading. Professor uses test codes to check if a student's homework or test has met requirements. They do not work and are wildly inconsistent. They aren't posted beforehand, so no way to check if your solution works. Grades often do not reflect aptitude. Class not recommended, regardless of major.
Worst class I have taken, ever. Prof Kim and this class is less than a 1 rating. He made the final coding only (no mc like past exams) AND he wouldn't give partial credit for anything you might have done right. Ridiculous. Lazy and doesn't want to grade himself so he uses computer testers to see if your code runs. Doesn't run? Oh well you get a 0.
If you love yourself do not take this class. If you hate yourself still do not take this class. Grading is terrible and the lectures and examples he gives are easy compared to the actual homework. The class goes from pretty easy to terrible in a few weeks. P/NP this trust me.
ITP 168 was a complete mess. The grading was all-or-nothing, which meant that tens of hours and near-100 line programs could receive comically low grades just for a typo. One friend had a singular typo in her code for a homework assignment, and subsequently received 2/50. If you can, avoid this class. Avoid this class. Avoid this class. Run. Fast.
Unfortunately, the low reviews are accurate. While Professor Kim was a very clear lecturer and the topics we covered were genuinely interesting, a harsh grading policy was detrimental to the effectiveness of the course. Astoundingly low grades were common on homework assignments and on the final exam for tiny errors such as typos.
Professor Kim's lectures were very good, but the way the homeworks and the final exam was graded was insane. Many people received zeros on the final and based on all of the people I talked to there is no way the average grade for it was passing.
For a 2 unit course, the workload was equivalent to more than 4 units. Weekly readings and labs, plus 6 homework assignments. He grades extremely tough and does not curve, but people did so bad this time that he had to. Lectures are actually educational and I learnt a lot from the course but he talks condescendingly towards students.
This is class is harder than it should be. The content was enjoyable but the grading was discouraging. There was really no way to study for the final. The best way to get a good grade in this beginner course is to not be a beginner.
This class can be tough if you do not do the work but as long as you are a good student you will have no problem with this class! Good luck and enjoy the class,
Way too much work for 2 units, more difficult than my 4-unit classes. Professor seems to punish for low class attendance (online classes that are slow and unengaging). Midterm was uncurved despite C- avg. One small mistake in HW loses tons of points. But, manageable if you put a LOT of work in.
Professor Kim WILL help you if you attend office hours days before the HW/Labs are due. HOWEVER, he is slow to respond to emails and WILL NOT give extensions ever. You basically have to learn everything in this class on your own and in a post-covid world you wont have access to lecture recordings despite his class being online. Wouldnt recommend tb
People usually blame Raymond Kim for their grades, but it's just the course. He's a good lecturer who explains everything in an easy-to-understand way. And, he has a youtube playlist explaining everything he teaches in class. However, this class is very hard for a 2-credit course. The best way to succeed is to not be a beginner programmer.
Talks down to you and his grading system is horrendously rigid. Like others said, uses bots to grade which means very limited partial credit. Doesn't reward people for actually learning how to code and think critically, instead it is how well do you know this niche MATLAB concept.
The class wasn't too bad, and professor Kim had these great online videos he put together. Sometimes grading is very specific, and you'll get points off for things you weren't aware you were being graded on. The main issue is his lecture goes super slow which is great for learning but I couldn't pay attention.
Raymond is pretty chill and the class isn't bad if you at least took AP Compsci or worked through freeCodeCamp's 3-hr python intro. The lecture is on zoom so things can get slow if your local tryhard decides to not participate. Watch the ITP video playlist for all you need to know, lecture helps tie some stuff together but isn't always helpful. GL!
Steep learning curve but he is very accommodating + helpful. Def attend office hours, he can solve issues that took me hours in minutes. Lots of assignments in the beginning of the semester that he grades kinda harshly. Workload drops off when mini and final projects are assigned, and he is much more lenient on grading with those. Would take again!
Exam questions felt arbitrary and petty. Professor Kim would ask questions, belittle students who gave wrong answers, and then get mad when people stopped wanting to answer questions. 2 credits is fair ONLY IF you have CS experience. Otherwise this class is more like 4 credits. Would recommend learning Python or C++ first, if you can.
Do not take this class at all costs. Very condescending professor. He was a very clear lecturer but everything he taught was 100 times easier than the homework and exams. The average for the class was so bad he had to finally break his no curve rule.
I stopped going to lectures and did all the hw/labs over spring break for the rest of the semester. The misterm was easy, but all this being said I am well versed in coding. The way he teaches confused me about things I already understood which is why I stopped going to class. Take the class outside of USC unless you know the material already.
Before taking Kim please familiarize yourself with some other language, pref MATLAB. This will be a hard class otherwise. Expect homework which requires much thought and logic, and exams which are significantly harder than lectures. Exams openbook/program but won't help much, learn your definitions and objects.
He was a good teacher. Taught the material well and lectures were relatively helpful. His homework felt like busywork at times.
treated a two credit class as if it was four but overall not too bad
Professor tries his best to make lectures interesting/engaging, but you don't need to go to class to succeed. The assignments are quite hand-holding.
Very difficult class, but not an awful guy. He taught decently well and everything you had to know for assignments, zybooks was also very helpful. The grading, however, was extremely difficult, and there were times when points were taken off for unstated mandatory instructions in the rubrics which was annoying. Understand it is basically 4 units!
His lectures are slow and boring. There is 1 midterm and a final which are decently easy if you watch the lectures and youtube videos. There are 6 homeworks which are all decently easy. Weekly labs are not bad at all. Overall Prof. Kim taught what he needed to teach, but the class was unnecessary, tedious, and boring.
Prof. Kim is a cool guy but ITP 168 is a lot of work for a 2 unit class. Weekly lab HWs, 6 HW assignments, a conceptual based midterm and final. Office Hours are almost daily and INCREDIBLY USEFUL. Highly recommend going to OHs for help on the midterms as he is a much better instructor one on one.
Fair teacher, but only-online option sucked. Lectures dull and longer than necessary, but lots of resources provided to do well. I suggest not skipping lecture even though it's boring. Too much work for a 2-credit class, but you will learn MATLAB. Start working on homework ahead of time! Midterm/final conceptual and difficult; no curve sucked.
This teacher is the GOAT! He's an absolute legend a gem IN the USC ITP department. People who say his class is hard are just lazy or SP-ED (Maybe both). It's really not that hard. I've never taken an ITP class but if this is what they are like they're a complete cakewalk. He just doesn't like late work, but this professor is an absolute rocket.
Class Info
Online Classes
100%
Attendance Mandatory
22%
Textbook Required
18%
Grade Predictor
Your expected effort level
Predicted Grade
A-
Grade Distribution
Common Tags
Rating Trend
Declining
-0.23 avg changeRatings by Course
ITP115
4.7
(6)ITP165
3.8
(9)ITP
3.5
(2)ITP308
3.0
(5)ITP168
2.4
(71)Difficulty by Course
ITP308
4.0
ITP168
4.0
ITP165
3.8
ITP
3.0
ITP115
2.7