2.2
Quality4.4
Difficulty24%
Would Retake102
Reviews24%
Would Retake
102
Reviews
Rating DistributionOfficial
5
12
4
12
3
12
2
10
1
56
What Students Say
“He is not very clear about his grading criteria”
CSS162 - 2.0 rating“Lin's lectures are very good”
CSS162 - 1.0 ratingClass Info
Online Classes
100%
Attendance Mandatory
70%
Textbook Required
0%
Grade Predictor
Your expected effort level
Predicted Grade
B+
Grade Distribution
Common Tags
Rating Trend
Declining
-0.42 avg changeRatings by Course
CSS455
5.0
(1)CSS330
5.0
(1)CSS161
4.0
(4)CSS142AND143
3.7
(3)CSS162
3.2
(6)Difficulty by Course
CSS173
5.0
CSS143
4.8
CSS123
4.7
CSS112
4.6
CSS142
4.4
Reviews (102)
Css 161 in general is a hard class and a weed out class. Compared to the other CSS professors Johnny Lin is good. He is always open to helping but makes you dig for the answer he just gives you hints. The tests are half multiple choice half long answer which is nice. There are no curves and the assignments and labs are very hard and time consuming.
Professor Lin is very clear and knows what he is talking about. CSS161 clearly exists to separate logicalalgorithmic thinkers from the rest, and therefore it should be noted that many people will struggle with the content. Professor Lin is very good at preparing students for future CSS courses, and is always willing to help if you ask.
Lin is an excellent professor. He is crystal clear & always encourages students to use their resources for help. If you want to succeed: THOROUGHLY read the text BEFORE classmake an effort to practice your programming. Quizzes: Read book. HWLabs: Be friends with students w logical skills. Exams: Study up! 1st half of the course is vital to pass.
Well taught class. Kept students involved during lectures.
Very good intro to comp sci programming professor
He is not very clear about his grading criteria. HW's don't have proper guidance as to what he is looking for. Other than that, his lectures are great but he gives you reading and only discusses what he thinks is important.
I took Lin for 162. His style is ok, but it's vital that you do the readings before and after class and maybe even re-watch the lecture (he records and posts them). Be prepared to be called on to participate in class, he usually draws names from the roster. Homework is extensive in 162, don't get behind or you will not finish. Utilize office hours.
Lin's lectures are very good. He explains clearly, but since there so much to cover, he only teaches some parts of the reading. There's A LOT of hw every week and its also graded on comments and driver code. There is no extra credit or curves. Office hours are not useful because he will not answer your question. He makes you dig for it.
Johnny is really old school. No extra credit, your grade in Canvas is your final grade, and no test curves. Lecture heavy with "forced" participation (calls on people). However he gives sample exams that are very similar to the tests. All in all I enjoyed Johnny as a teacher, but he makes you WORK for your grade. Oh, and lectures are recorded.
Johnny Lin is a pretty solid choice. His lectures are clear and he knows the class material well, he is really accessible outside of class whether its email or office hours, and he gives time in class to work on coding exercises. However, he doesnt give extra credit, and his HW grading is quite tough. Make sure you read the textbook though.
Build a foundation for programming - fast. Use the textbook as lectures are a brief intro to a concept and then your thrown under the bus to figure out difficult homework. Johnny was exceptional at teaching and appeared as caring but made you dig way too deep for answers that just required a simple explanation. Definitely a mind-stretching course!
Johnny Lin is a great teacher, I can't emphasize it enough. I hear sometimes around campus that people don't like him, but I totally don't understand it! He's one of those professors that makes you work hard for your grade but he was very patient while we learned python, responsive when I reached out, and I learned a ton from the class. An A+ prof.
he is simply fantastic. know his stuff very well, and cares about students understanding of the subject. his home works are very hard(really hard!), but don't worry, he is fair grader;just show your effort. he is caring and available outside of class. his exams tests your understanding not your memory, make sure you understand before exam.
I would give him zero if I could. It was terrible CSS class ever. His lectures were meaningless, and he always make us turn to neighbors and just talk about the concepts we read from the textbook. If you do not have confidence on coding, do not take his classes unless you want to fail your class.
One of my friends who already took his CSS class before recommended me to take his class. But his teaching style did not fit on me. Rather than having an actual lecture notes, he records and posts the videos on Canvas. So, whenever I go back and look at the lecture video to study for the exams, I had to waste too much time on watching the videos.
This class was the most difficult class I had ever taken at UW. For some how he turn a level 100 class into level 400 class. It's difficult and tough. Expect no sleep if you trying to take his class
I like Lin as an instructor and learned a lot from his class. The exams he gives are tough and set you up for failure. They make up the majority of your grade. You arent given the tools to complete the HW and may struggle for HOURS. If you would like to learn CS at the expense of your GPA and, at times, mental sanity, I think this is a good class.
Good instructor but awful exams and grading structure. You're not allowed to revisit questions in an exam. If you accidentally click next or realize a few questions later that you answered incorrectly you are screwed. This structure indicates he does not care if your grade reflects what youve learned. I would recommend avoiding this professor.
Professor Lin is a solid choice if you are taking intro courses. His class is very exam heavy with 2 midterms and a final, with 5-6 homework assignments. However, he is a genuine and caring person and does provide feedback on the mistakes you make. I recommend going to his office hours where he really does want to help and go over some topics.
This was an exam heavy class that required a lot more work than a typical 100 level course. He does make time to answer questions. I think youll learn a lot taking his class but dont expect a great grade. He also doesnt use the typical grading of a 95% or above as a 4.0.
This prof was soooo boring. Didn't really lecture, and claims he doesn't talk much but he rambles on and on and on about everything until you are even more confused. He is one of those teachers that will never give a student a 100% on a assignment, no matter how good it is. Syllabus is like 13 pages long, and still nothing is clear.
Horrible Zoom class. Super tough grader but no effort in lectures. Very inflexible when grading student work, and gives students lower grades than before when they complain. I have a 3.9 GPA but currently have 79% in this class because of this even if I get As on the exams. He even said I should change major (not even in CS, I'm Business MIS).
The tests are harder than anything you learn in class, homework, or book not sure where he expects you to learn how to pass. Don't ask him that tho. As he will not answer any questions instead he wastes the class's time by asking you what you asked him. He is clearly making his job easier by making the student's job harder. To pass you need Google.
Stubborn when helping students, often criticizing them if they ask questions that the whole class would actually benefit from. His teaching isn't particularly bad but his grading is unclear and tough. If you did well in 142 you might do better in this class, though (particularly with a better 142 teacher).
Good at explaining things and helpful enough in office hours, but the tests are unfortunately hard. As in STUPIDLY HARD. It's not just enough to read the book, go to class, take notes, and do homework. Kinda seems like he's setting us up to fail. Also very cold and impersonal.
Extremely intelligent but at the same time extremely intimidating. The tests are not impossible but yes, you will have to study your brains out. Uncaring about student problems, and makes me confused about concepts I thought I understood. I have no idea what is expected of me.
Very frustrating class and getting in touch with him is so hard. Grading is extremely subjective and difficult. Should be nicer to students. Does not communicate well.
Not very timely with feedback and does not explain complex programming concepts well at all. Grades very hard and does not notice good effort. Class is terribly organized and syllabus is extremely long. If you did well in CSS 142 you might actually do okay in his 143.
Hardest class I've ever taken, he's a very tough grader and his exams are really hard. He is very knowledgable but is not really helpful. I find that time management is an issue with his online exams. It's almost impossible to get a good grade in this class.
Knowledgeable but not helpful in any way. Tests are insanely hard and projects are graded poorly.
The class is easy, but he is STILL extremely strict about points. He will deduct your points on programming projects for random reasons. They're fun, but graded terribly. The tests are insanely hard and never go over the textbook, just the lectures - so go to class.
He is obviously a smart man who loves what he teaches. However, the lectures are too long and slides were cluttered with words making notetaking a struggle. Quizzes were hard. Also, he will probably make really specific examples that connect to the lecture but they're definitely just stuff things he's done.
The homework was massive, but doable. He is helpful if you ask, moreso through email than any other way. However he's so tough that I considered giving up for a brief moment. Exams are insane.
Nice guy, and very smart, but awful teacher even if helpful. Doesn't teach from the textbook, does a lot of strange examples. I did really well in 142 but was confused everyday in his 143. I wasn't sure where to get help outside of class and did poorly on exams.
He is way too tough on grading and has unrealistic expectations. I was confused the whole way through. I would highly recommend a different prof. I've never worked so hard or been so stressed about a class that is supposed to be an intro class. Feels like a UWS weedout.
WAY harder than it needs to be. His lectures are confusing and disconnected, and fairly dry. Assignments are graded terribly and almost everything is about style, with no importance on the subject of executing the programs. Tests are extremely hard. Dislikes collaboration. Seems like it's turning into a UW Seattle weedout.
Extremely frustrating class. Should be easier than 142 but isn't because he is an extremely tough grader to the point that students complain constantly. He grades more on style than execution and assigns way too much at the end of the quarter. Lectures are super boring. Exams are extremely hard.
I tried to like him, I really did but he was nothing but rude to me from the first day. I worked really hard but nothing is ever "good" for him, he always has to complain about something. Tests are insane. Coding assignments get graded terribly and there's WAY too many. Does NOT allow collaboration.
Not an easy professor - do not take his class if you are merely looking for an easy A. If you are interested in working hard and learning a lot then 14X with him is a great class. His vast knowledge and experience makes him not only a great source to learn from but a great reference in other areas of life.
DO NOT TAKE THIS PROF. Super tough grader for no reason. HW and book don't support his lectures, and he manages to be nitpicky over EVERYTHING. There's not enough class time to explain how he wants you to do HW or exams. Looks down on students if they don't understand material.
If you're going for CSS or another major/minor that requires 14X, don't take either with him cause they kill your GPA so fast. He was not clear at all when explaining concepts and the class is poorly structured. Grades incredibly hard on exams and homework. Ridiculous grading techniques.
Johnny is an awesome professor, he encourages questions and explain them very clearly even to little questions. Every time I go to him with questions, he doesn't just give me solutions but lead me to find the problem on my own, and that's a very important skill in cs. TAKE THIS CLASS IF YOU WANT TO SUCCESS.
Just gives a ton of busy work for no reason. So much so that you hate the subject he is teaching by the 3rd week. Tons of vague feedback and points off for no reason, assignments every week, and lots of reading, plus 2 hour lectures you HAVE to go to twice a week. Unforgiving on tests. Avoid his classes if you can.
hardest class I've taken so far, boring lectures, moves at a fast pace
Really good professor if you are there to learn. To have a good understanding of his lecture, you have to do the textbook readings beforehand. The lecture is used to go over the overview of the knowledge and answer any questions. The class culture is really inviting. I used to never ask questions in class, but I'm not hesitant to ask in his class.
The class was kind of hard for an intro class. The pre-class assignments were tedious and boring, we should have used online platforms instead of turning in photos of paper work. He grades extremely hard on programming assignments. I will say he's okay as a person, just not a good teacher. Not very approachable either.
He is the type of teacher that punishes you for trying to learn something new. I've never had a teacher that made me want to stop pursuing my major in computer science like him oh my lord. Please, do yourself a favor if you don't want to suffer. If you like extremely tough graders, no retakes on ANYTHING, and no extra credit, take him.
He's really good, but if you dont do teh reading and dont care about coding style he'll be hard on you.
Lectures are disorganized with no good explanations, and his handwritten notes are hard to follow. He assigns photographs of written assignments, which makes literally no sense in Zoom, and doesn't like to provide any real resources or help for students. His exams are notoriously difficult. He is most likely the worst prof in CSS.
He is a useless teacher in this class
This professor should not be teaching this course. The course encourages lots of open dialogue and discussion and the professor made it extremely boring and rigid. The course has a LOT of interesting topics and the professor just made it as boring as possible
This is quite a rigorous course as it is only 4 weeks long. With CSS 142 being the only prereq, it is quite hard to grasp the material if you have very little coding experience. This class is also in Python, so there is very little time to learn the language and concepts being taught in class. There are 4 HW assignments and a midterm and final.
Lin is a good person but the course is tough as well as his grading. 40% of your grade is just midterms so if you bomb it then you can't make the points back. Like 25% is understandable but 40% of our grade is insane since other assignments won't even budge your grade. Tests are also handwritten for coding....
What's with the hate here? Ok sure, he's a hard grader as well as kind of an oldhead with teaching methods, but he REALLY values student input and feedback as well as participation, and the way he explains things in class and in office hours is very helpful. Don't hesitate to reach out to him for how he can best support your learning.
I don't know why he has hate on here, at all! He is a very good professor. He knows what he's teaching. His lectures are helpful. Exams are 40% of your grade and there hard, but review is similar to the exams. HW's are 30% and graded hard. The class is just a hard class in general and requires a lot of self teaching. Nice and Caring!
This is definitely a harder class but the Professor is very clear about what he expects of you from the beginning. He knows what he’s talking about and I learned a lot from his teaching. He is more than willing to help students and offer strategies for better understanding the material.
If you want to hate CSS please take his class, he assumes that everyone in class already knows java. His exams are hard compared to what he teaches, he should just retire. He said he was going to be like ur dad, at first I didn't know if that was a good thing or a bad thing, it was bad..... just added to my daddy issues fr. Please save yourself!!!
This new class he teaches (data science programming) is fine. JUST STUDY. Homework is fairly straightforward. Lectures are alright if you pay attention. Class isn't too bad. I also took CSS 142 with him and that was worse.
In pure honesty, he's not as bad as the other reviews say he is. Thoroughly touches topics the book covers. He encourages a lot of groupwork to solve difficult problems which helps concepts stick better compared to him just lecturing the whole time. However, he doesn't record lectures, all his classes are in-person, and does not offer extra credit.
This professor thoroughly goes over topics conceptually and does many code implementation exercises in class. He also encourages group problem solving during class. Following his coding guidelines for style is very important, there were times people were docked points on writing exams for using a dot instead of an asterisk for multiplication.
BEWARE! Only take this class if it's required for you. For those who do have to take it, buckle up. Main thing is the homework, it is incredibly difficult and is graded on correctness NOT effort. The midterms and final multiple choice is ok, but the hand written portion is quite tricky. If you do poorly on either your grade will suffer.
Johnny is organized, very friendly, and always willing to help, but not the best prof for teaching CS fundamentals. The way he lectures is really helpful for making programming concepts stick, but I didn't like the way he had us do handwritten assignments pre-class and in-class. Final is easier than midterms. Got a 3.5 with a B average on exams.
This class itself was fairly easy, if you read the material for that week you should be ok. Prof Lin was very helpful and explained things in multiple ways without just giving the answers. The end of the class was very difficult and not explained well, it just felt rushed. Lin was a good professor as long as you do your work.
If you don't want to cry and hate CS, don't take him.
He's a nice guy but grades really hard on assignments and doesn't curve exams. The CSSSKL labs are useless and I learned all the concepts in them from Codingbat
Difficult, confusing, stressful class. The final exam was one of the hardest things I've ever taken. Never knew what to expect and felt like he was trying to make us fail every step of the way. I lost sleep this past quarter.
Incredibly challenging class. Very difficult assignments and tests that you are minimally prepared for during lecture. Be prepared to do A LOT of work. He's a nice guy, and in office hours, he is quite helpful, but the tests are still really hard. Doesn't curve.
Worst professor I have ever had. Grades hard, DOES NOT CURVE ANYTHING, and has the worst attitude towards students. Teaches too closely from the book and requires us to write assignments IN A COMPUTER PROGRAMMING CLASS! WTF!? Got a 3.5 which is a "great" grade w/him but it could have been higher if he curved.
Eh. He's a nice person and is very open to student feedback, but he strictly follows the textbook and does not curve anything. Good intro to actually learning programming style and a lot of behind-the-scenes coding concepts, but if you take his class, prepare to work a lot. Participation and attendance are a heavy portion of your grade.
worst professor do not take him. I wanted to jump off a cliff. He picks on asian kids, so if you are asian do not take him.
I took BIS 111 and was pretty much lost the whole quarter. Explanations were short and vague, and the homework assignments were extremely complicated for someone with no previous coding experience.. Professor Lin is a nice and respectful person, it's just the course and the grading that was difficult. Personally would not take again.
does not care about his students and you will be forced to learn course material on your own.
An absolute butchery of curiosity. The course and prof are overly concerned with insignificant details that prevent you from seeing the big picture. The homework is so scoped down it leaves no room for creativity. This course barely has anything to do with real programming.
I think most first-year students may find this class hard, but you just have to communicate and get whatever help you need. I thought the class was ok, needed it for my Business MIS major.
Worst class I've taken in college. The in-class activities and lack of lecturing discouraged me from attending class. This prof should be less rigid with instructions and guidelines and encourage open discussion more. I got a 3.7 which is apparently "high" for his classes.
He should really encourage more open dialogue during class and not have such a rigid structure for teaching.
Run from him and don't look back. Do not take any class from Johnny. He will make your life, and your college career, so much harder.
His way of teaching is definitely not a fit for this generation of college students. He is VERY by-the-book and doesn't really create room for unique engagement. I had to ask for help from many different sources to understand a certain concept. He doesn't accept late work.
Dude accepts late work for absolutely no reason unless it's catastrophic. Makes you do every assignment handwritten in a CS class? I noticed no one talked about this but he randomly calls out students to answer questions. Good as it forces you to pay attention for two hours but terrible if you are someone who can doze off quickly and you get picked
Not as bad as I initially thought. Professor Lin is incredibly lecture heavy, but they were all extremely valuable to me. However, there are no slides (he uses a whiteboard), so the only way to document the lectures is taking notes. Wouldn't recommend if you don't have good note taking skills, dislike long lectures, or expect to be absent sometimes
idk why there are so many negative reviews. He is an incredible teacher who explains anything perfectly, if you take the time to inquire & attempt to understand. Class material is HARD, but he enjoys & teaches it well. Intensive volumes of textbook reading, but it truly does help. Grading is difficult, but very fair. Very patient & pleasant person.
Professor Lin claims to have high expectations, but I find them about average. Most weeks have two major assignments and three minor assignments. The minor assignments take a negligible amount of time outside of class. The major assignments each take about two-four hours outside of class depending on your familiarity with the content.
The class concepts are easy but the grading is absurdly skewed towards formatting and commenting and flow charts rather then accuracy, validity, and effectiveness/conciseness of code. The class also contains useless filler work on "software ethics" which is really just common sense and busy work. Every assignment is also forced to be handwritten.
This dude knows what he is teaching that even absolute beginners can get a grasp of all the different concepts introduced. The pacing is not too fast (as expected for an entry course), which allows for more clear explanations of the material. He is great to talk to outside of class but be prepared to write a little bit and also get late responses.
DO NOT TAKE THIS PROFESSOR!!! SAVE YOUR GPA AND TIME he is so extremely rude, he does not care about his students. he wont care if you are dying, he still expects you to turn in homework. please save yourself the mental stress by taking literally ANY other professor
Take this class elsewhere, unless you have previous experience. Not intended for people with zero coding experience.
He is also so unreasonable. I got docked points for something that wasn't even mentioned in the rubric. Instead of listening, he is just dismissive and does not acknowledge when something is wrong. He does not have an open mind and that creates an environment that is not welcoming for students to learn and improve in.
The average for most people on midterm 2, closed book. how is it that everyone got a 5 out of 20? when it was OPEN BOOK?!?!?!The questions on exams are not even remotely similar to the questions on the homeworks, even tho this is only CSS112 not CSS500.
DO NOT TAKE THIS PROFESSOR!!! SAVE YOUR GPA AND TIME he is so extremely rude, he does not care about his students. he wont care if you are dying, he still expects you to turn in homework. please save yourself the mental stress by taking literally ANY other professor
He is not understanding at all, he treats his students like they are all in CS program, yet, Keep in mind there were BA student in the class who have never touched coding and are failing the class. His teaching structure is really hard and confusing to understand. He just goes based off of his book and the exam are not even from the book at all.
He does not care about his students.
The exams were open book, yet most people are failing... that says everything. Questions were nothing like homework, and it's only CSS112, not grad school. No one is learning just surviving. Stay away.
This professor treats everyone like they're CS majors, even though it's a BA class. People with zero coding experience were completely left behind. The material was already hard, but the teaching style made it unbearable.
Grading makes no sense. He cares more about handwriting, formatting, and flowcharts than actual working code. If your comments are off, expect points off—even if your solution is correct. It's frustrating and petty.
Worst professor I've had. He does not care about his students. If you're not already a pro coder, you'll get zero help or sympathy. Run.
This class crushed my interest in programming. Everything is hard for no reason. Instructions are unclear, grading is brutal, and exams are traps. Please take this class with anyone else.
Even good students struggled. He expects handwritten submissions, ignores student questions, and punishes for minor formatting issues. Not beginner-friendly at all.
Overall, Professor Lin's lectures are engaging and all encompassing, not only following the textbook but his real life application of Python. However, the grading in this course is the most difficult aspect, with a 97% and above being a 4.0, yet tests out of 20 points, making the room for error close to 0.
Not a bad professor, it's just the exams that make it or break it. Midterms are 40% of your grade. The wording on the exams could be better; that's a significant reason why the exams were hard. Homework grading is somewhat strict as well.
Great professor. Tests were rather simple, but only if you pay attention in class. Highly recommend attending class since there are "in class activities" that are graded by participation. Not as much lecture so much as answering questions and letting you practice coding in class.
Might be an unpopular opinion, but the exams weren't too difficult, at least compared to the homework, if you take advantage of the in-class practice opportunities and consistently do the online assignments. I found the lectures engaging. The hardest part of this class is translating problems into steps, so focus on deep reading comprehension!
Dr. Lin reviews homework on the day it's due, discusses textbook questions in class, and requires students to write an OMP. Unfortunately, his written exam problems often lack the clarity needed to fully understand the material.
Class Info
Online Classes
100%
Attendance Mandatory
70%
Textbook Required
0%
Grade Predictor
Your expected effort level
Predicted Grade
B+
Grade Distribution
Common Tags
Rating Trend
Declining
-0.42 avg changeRatings by Course
CSS455
5.0
(1)CSS330
5.0
(1)CSS161
4.0
(4)CSS142AND143
3.7
(3)CSS162
3.2
(6)Difficulty by Course
CSS173
5.0
CSS143
4.8
CSS123
4.7
CSS112
4.6
CSS142
4.4