2.8
Quality3.9
Difficulty37%
Would Retake116
Reviews37%
Would Retake
116
Reviews
Rating DistributionOfficial
5
29
4
18
3
14
2
11
1
44
What Students Say
“Shouldn't be teaching a grad class”
ECS201A - 2.0 rating“This old man thought he had great humor, but he was just wasting time in class”
ECS50 - 1.0 ratingClass Info
Attendance Mandatory
10%
Textbook Required
100%
Grade Predictor
Your expected effort level
Predicted Grade
B+
Grade Distribution
Common Tags
Rating Trend
Declining
-0.77 avg changeRatings by Course
ECS50ETC
4.0
(1)ECS154B
3.5
(8)ECS201A
3.3
(6)ECS154A
3.3
(51)ECS154
2.3
(9)Difficulty by Course
154A
4.5
ECS50
4.4
ECS154B
4.4
ECS154
4.1
ECS50ECS201
4.0
Reviews (116)
he was a good teacher
Professor Farrens is the best Computer Architecture professor at UCDAVIS! His teaching style is clear and organized. His homeworks are applicable and his tests are fair. He is also fun and a great person to talk to! Quite a character I'd say!
This guy knows his stuff but you get lost easily. Don't ask questions, he assumes you know everything, he'll make you look like an idiot. Take Haungs, avoid Farrens.
I learned a lot in this class.
very helpful, great lecturer, you'll learn a lot and understand everything -- come out with a strong grasp on architecture and assembly language
terrible prof. says show work on questions yet doesnt provide u with partial credit. went to OH to talk to him about it, yet he was a total smartie a88 about it. no room for ur own word to say.
Good prof, gets to the point quickly. Very straightforward, no surprises.
Farrens acts macho and geeky, almost like a former marine with a splash of nerd. He's got the knowledge of a top-notch engineer and the street smarts. Tests are easy, if you study and have enough logic skills. Lectures are fun at times but mostly boring.
Tests are very straightforward. No suprises, just like practice tests. Not enough time to complete tests, but curves.
Time consuming homework (painful too) - Stallings book sucks for caches (look for Hennesey). Farrens teaches it pretty well - no bs class. Be prepared for (very) long midterms that are similiar to past ones. Fair - you will learn the material.
Possibly the best teacher I had at UCD. Lectures were fast-pased but very clear if you lisened closely. Make you sure you have a lab partner at your own level, I lost my A because my lab partner didn't know jack!
does not respond to email timely, insists lecture starts 5 min later than it does so he can be late. copies questions out of the book verbatim to the exam cuz he's so lazy. won't let you do a project if it's not interesting to him. forgets his notes.
long midterms but very similar to past ones
LAZY! Sometimes his laziness will drive you crazy. However, he is a good teacher and I would take him again. He knows what he's talking about, though intimidating in OH -- won't give a straight answer. Makes you think (good AND bad) VERY EASY tests and finals, EXACTLY like practice. Good Overall
Prof. was very busy w/ comittees and such. Had only one OH a week, showed up late to class, etc. But he really knows his stuff and teaches it very effectively. Tests are ridiculously easy -- just amalgams of past exams, which are provided. There's no excuse not to get an A in this class if you stay on top of the lab assignments.
LAZY AS CAN BE. It didn't help that the TA was as lazy as he was. First grade in the class we got back in the 9th week of class and it was the midterm. He knwos the material but is bored by it. His laziness makes you go insane as before. He is too busy with committees and office hours are a joke.
has anybody mention LAZY? His laziness can work both ways. He's really good at teaching this course. He is helpful during office hours. He doesn't give you the answer, just clues. Exams are repeats from the past. He's somewhat knowledgable about the area. I wish he taught my 154B class for next quarter >_>
He gives excellent examples and goes over the problems you need to know how to do repeatedly. Homeworks and tests are very straightforward and based on class and textbook examples. You have plenty of past midterms and finals to practice with. He is a little disorganized and perhaps a little too casual at times, but overall a good teacher.
As everyone says, he's extremely lazy.He is very robotic and boring. Doesn't make the topic interesting at all, and he doesn't seem to have any passion in what he is teaching. half the class is asleep.during lecture, he gives us the bare bones, and assigns the hardest assignments ever.He doesn't do many examples, and rushes through them quickly.
Fun guy, tries to be helpful, knows the material very well. However, he tends to go through most of the material really fast and the rest he focuses on. So you learn some stuff well and the other stuff not well at all. Most of the homework was based off lectures, as well as the tests. The labs were fun and challenging and I learned a lot.
learned alot in his lectures but he rushes through alot of material. books used=not very helpful & gives more bg info & basics rather than examples/how-to steps. labs were hard & though related to the material, it won't help on exams. exams are regurgitations of old exams. you'll do well if you pay attention in class,take notes, & study old exams.
Dr. Farrens is a brilliant professor who really makes sure you understand how computers work. His lectures are interactive, and he even adds in little historical tidbits which make the class more interesting. If you're going to take CS 50, take it with him.
Excellent lecturer. Gives clear examples and good information. Textbook moderately helpful to useless. Exams are similar to previous exams. Expects a lot but class is very do-able if you attend lecture and take good notes.
textbooks were useless, and he's the laziest man alive. however, he is one of the funniest comedians that ever existed in the cs department at davis -- besides gusfield. when he retires, he can probably start his own talk show and make jokes all the time.
Very good lecturer: clear, and he makes sure your questions get answered. Really funny. He does show up late to class. Exams and quizzes can be hard, but study the ones from past years and you'll be OK. START EARLY on the final project!!
Took this guy for 154A and 201A. This prof is the rare example of a guy who can really teach the material, but is still bad as a teacher. He doesn't seem to really know what he's doing for tests, quizzes, and assignments. For 154A, he's fairly easy. For 201A, prepare to work really hard.
Was 20 minutes late to our final exam, and late every day in class. Homework useless; was assigned after the quiz to which it was relevant. Exams are purely memorization and table tracing, and don't make a mistake - you may not get partial credit. Critical thinking not at all a component of the course. Laziest professor ever. Lectured well, though.
He is a personification of UC Davis; highly capable, awesome educator and quite competent in his field. The trouble is, you can easily fall through the cracks, as following up doesn't make up part of his lexicon. Either way, you should have enough of a springboard to do really well in any of his classes if you work hard enough.
Good teacher. Knows the subject. But lazy. Not so productive in research: shows he is not up to date in field. He uses course material that is very old, even for advanced course like ECS 203. Exams are simply cut-copy-paste from previous years tests. Read them if you want to do well in this course. Hard-hearted: well its part of western culture..
He was a good guy.
Just go to class and pay attention. The material shouldn't be too hard because he tries to let you sink in the material. He gives weekly quizzes but they're curved (tries to see what you know) midterms & exams are like the quizzes. He doesn't post any solutions up because he expects you to try & learn the material. Overall good class
Shouldn't be teaching a grad class. He's not caught up with modern advances and writes tests and quizes that makes no sense; cant write questions in proper English. Grading criteria is very vague, and depends highly on his perception of the top (not whats actually true nowadays)!
Expects you to have understanding of material he barely covers. Horrible grader, if you don't word the answer exactly as he has you lose credit. Tested on material that he doesn't cover and expects you to already know the material and figures it is your fault for not understanding the material.
He's a great professor who really knows his stuff. Any question you throw at him is usually answered, and his explanations are very thorough. This class covers a huge range of concepts and your knowledge must reflect that. He hates giving full credit on questions and chisels away at your grade like its a fine marble statue.
Farrens is a good prof, he knows his stuff and his lectures are interesting. Personally found the class really really hard and that's on me, even though he was great I just could not keep up. Take it if you love hardware and want to go into embedded systems otherwise you definitely won't have a good time.
horrible horrible professor he can't explain basic concepts like two's complement and excess N notation, you have to go home and study it all yourself, don't take it with him if you can
Lectures are unfocused and disorganized. Quizzes are graded arbitrarily based on how you word your answers. Reading the textbook is useless because he'll pick random obscure things from the hundreds of pages he assigns to be in the quiz. Studying past quizzes is the key. There are better ways to learn the material, because I learned nothing
This old man thought he had great humor, but he was just wasting time in class. Cannot explain stuff clearly, and homework is difficult since he did not talk helpful information for the task. He wanted students to learn stuff that is difficult to understand by themselves without giving useful tips.
Professor Farrens is a funny & knowledgeable guy but his lectures are very unorganized. It usually feels like he's writing gibberish on the board. Not only does he cover 2 chapters/week, he also assigns 10 written & 3 programming questions which take 15+ hrs. My entire weekend is spent trying to complete his homework!
One of the hardest CS classes I have taken so far. Way too much homework and he goes really fast in class. He expects so much from us that it has become a nightmare for me. I am having a difficult time balancing my other academic classes, social life, sleep, and mental health with this class :(
This class is the hardest CS class I've taken at Davis and that seems pretty clear based off of the reviews below. HOWEVER, Farrens is funny and teaches the material somewhat well during lectures, he provides a lot of material and grades pretty easily. He cares about understanding and that's pretty clear based on how he grades.
The worst teacher I have had at any level. Terrible lectures with no clear examples and lots of mistakes, and then assigns an insane amount of coding homework that you have to essentially teach yourself to do. He says you can learn from the textbook but it is riddled with mistakes that cost me hours every week. He is also rude and unapproachable.
As background, i got an A- in ECS36A and a C in ECS36B. This class is nuts. If you want to grasp the material well and do the homework right, it will take at least 20 hours a week. HW prompts/programs make no sense, have nothing to do with lecture material at all. TA's grade super hard. He seems like a cool guy, decent lectures but doesn't dig in.
He has been teaching the class for so long he tends to forget its the first time we are coming across this material & teaches it like its a review which makes his lectures impossible to follow. He does the calculations in his head which is very unhelpful because we cant keep up with what he is doing. He needs to go over the HW problems in class.
this dude is crazzzy bruh oh my god bruh hella hw for what
Professor jokes around in lecture and wastes students time consistently taking a few minutes to setup at the beginning of each class because walks in at the start of class usually. Doesn't cover content needed for weekly homework in class leading to it being insanely long, has multiple programs. Midterms seem fair so far although 3 total.
These homeworks are insane. I always have to end up reading the textbook just to learn. The examples and descriptions he provides in class are even worst than the textbook, like there's no point to even going to lecture at all if it's not even helpful. Furthermore, he's teaching the class using unconventional material that's from15+ years ago. Run.
Truly a horrible professor. He may be very knowledgeable at what he does, but he is by no means a great professor. Lectures hardly correlate to the homework, hw programming assignments are hard, time-consuming, and are due in very little time. He also uses a fake machine to teach you assembly; just skip a quarter to prevent the headache.
2 for ok, not awful. the biggest issue is that he has interactive grading for each homework. like, this kind of works in your favor if your programs don't work bc then you can still demonstrate understanding. but this severely limits the number of office hours there are. In total, including the TAs and professor, there are only four hours of OH.
Easiest class I have taken. Just attend lectures and read the book. Professor definitely makes things very clear in his lecture. We use interactive grading and there are always spots available to sign up. The homework is super easy and takes approx 15-30 minutes to complete. You can easily stack up 3-4 courses with this class. Easy A!!!!!!!!!!!!!
The professor made this class miserable. His homework assignments take around 20 hours to complete weekly. He covers content fast during lecture in an unorganized fashion. Throw in 3 midterms and a final, and it becomes hard to balance workload with other classes + sleep. He's big on demonstrating understanding, which is cool. Read the textbook.
You gotta take this class if you wanna learn! You gotta take this class if you wanna make your tuittion payment worth! Homework loads are easy each week. I don't think anyone in this class took longer than 1 day to finish a one-week assignment. Of course, midterms are pretty easy. Answers are pretty given in the practice midterms. EASSSYYYYYY AAA+!
After the midterm, I came back home and started speaking in HEX - 42 69 67 20 6D 69 73 74 61 6B 65 20 74 61 6B 69 6E 67 20 74 68 69 73 20 63 6C 61 73 73
His homeworks are unreasonable He will teach you 10+20 = 30 in class but expects you to know what is 10^6785y4 xyz....for the Homework! Get ready to read the textbook to the core!!
what's this class, making game in Cuspppp :0 Making game in Python or C would make sense but CUSPPP??? Who even knows about CUSP This class getting bad day by day!
You are in for a perfect treat: tedious programming homework, no study guides or practice midterms, and super hard exam questions. The average score is 57% on the exam, but even if you score way above the average, congratulations but also condolences because the curve requires you to score 2 standard deviations higher (the top 2.5%) to get an A.
This guy made us code a video game in assembly which took 30 hours, and it only counted for ~5% of our grade. Why assign something so tedious but not have it be a big part of our grade? Farrens is the laziest professor I've met. Won't answer questions that he already "answered". Maybe people are reasking them because your responses are unclear?
Farrens is honestly the best professor I've met. From the moment I laid my eyes upon him I realized that he is savior of the CS department at UC Davis! Not even professor Butner reaches his level of expertise. It is out of this world!
If you have to take his class, I would recommend taking one class less just to be able to keep up with the workload. You will have to learn THREE different assembly languages crammed into 10 weeks, and it's only an introduction to assembly language class.
I'm super happy I joined Dr. Farrens' class. I was upset that Butner got moved out but then I realized that an even better professor had come in his place!
You will not be stressing about his class. When you think you know what he's talking about, you don't. CAmeroooon!!!!
Student: Asked for help Professor: You bet!
This professor aint it. Assigns homework every 5 days, has homework due the same week as the midterms, and makes you go through interactive grading for every homework assignment (gotta dedicate extra time here for homework). Too many hours have to be dedicated for this class for you to pass, not necessarily feasible for most students.
the worst course I have ever taken. run!
Honestly the worst class I have taken here at UC Davis. I wouldn't say it's the content of the course is the hardest, but the way this guy taught made it unbearable. I feel sorry for those guys who were taking 17 units with this class, that must've been terrible.
Professor Farrens' class is tough but you'll learn a lot. Lectures supplement the readings so you have to read the provided texts to do well. Homework takes a long time. Tests were hard but he doesn't ask curveball questions. My biggest gripe was with MIPS and x86 content being crammed in 4 weeks but he made up for it by testing x86 lightly.
This is the best course I took in college. Although the knowledge is tough, the professor gave really good lectures. Reading the textbook is the prerequisite to understanding the lecture. The assignments were difficult especially for the programs about CUSP. However, you could learn lots of useful knowledge from one course.
The professor covers material very fast, mostly 2 chapters a week. The homework is too much and the workload for the week is 20+ hours, you won't have time to study other classes. But he graded the exams pretty fair. I took P/NP because of the pressure. Take it if you want to learn how to control emotions before deadline and time management.
Not very good.
He couldnt even bother posting anything about the course
Good Professor. Although he could be unclear sometimes, if you ask questions he will clarify everything. The class is pretty hard ngl but you will come out understanding how why computers work the way they do. Teaches like its the early 2000s but thats good because you learn a lot more relative to what you would with other professors. Smart prof.
Just bad
records lectures and knows a lot about the topic, might be confusing at times but otherwise fine professor
There are three midterms and one final, and he can not explain the material very clearly, especially at cache and CPU part has to study with ChatGPT to fully understand the contents.
Got to be on top of your stuff or you won't pass. 3 midterms all weighed heavily.
No wonder the UC DAVIS CS department has such a bad reputation with professors like this!
I wish he thought things through a bit better, an average of C- for tests suggests incompetence on the educator's part or too difficult of an exam. HW takes a ridiculous amount of time, I'd say upwards of 30ish hours total and are only worth 20% this is especially frustrating as tests are 80%
Although has a bit of an ego, the guy does care about teaching. With this said, his class is so damn difficult, I think the solution is to provide way more example questions/answers at lower levels for practice, because the class is just too difficult, and the questions amp up too quickly. With office hours/lectures, still lost on core concepts.
Very difficult - 3 midterms and final worth 80%. Students get punished because we don't get solutions on sample exams. You need to stay on top of lectures, which he goes so fast that you have to watch recording multiple times and note every word he says. Homework also takes a long time when its only worth 20% of your grade.
Prof. Farren's class is just way too hard. He expects you to almost understand everything before lectures, and he will go over most of the contents very fast. If you want to understand the lectures, do the preview and watch the lecture recordings several times until you fully understand EVERY POINT (20s one point on average).
The class is great but requires effort. Farrens is passionate, explains concepts clearly, and is super precise during office hours. Ask very direct questions for any help. Rewatching lectures was a must to understand how he teaches. His tests are basically the practice exams, so it's *super* representative of material. Loved his class, great prof!
The way that Farrens lectured was not great because the way he explain the concepts was not intuitive. He came into lecture expecting the students to know the material beforehand and also went through the concepts extremely quickly and rushed. The class was 3 exams with none being dropped which puts a lot of pressure to do well on exams.
He's a pretty fun lecturer and although not clear at times, he often clears up in the next lecture(s). Practice exams match exactly to actual exams, so just understand those and you are golden. Really encourages questions which is great.
Farrens is a very interesting and fun lecturer but you have to keep up. Sometimes he goes off on weird tangents but overall his lectures make sense. The content of 154A itself is difficult so keep that in mind. Also, his practice exams help a lot to prepare for the midterms and final. Would take again.
Great class! He's really knowledgeable in what he's teaching and has taught the class for generations. We get plenty of practice tests to prepare for the midterms/finals and homeworks were challenging but reasonable. Tests were difficult but you know what to expect. Lectures were recorded and he spent a lot of time answering questions.
Farrens is a good lecturer with exam content being very consistent with what is discussed in lecture. Sometimes it feels like he sticks too closely to a schedule, dicussing seemingly unrelated content. Also tends to goes off topic occasionally. This makes the class lack cohesion. Exams are predicatable as they are very similar to practice ones.
Farrens gets a ton of hate for being a hard class but he is actually the goat. I know the concepts from 154 super well now and genuinely feel confident in my understanding. He curves heavy at the end so don't be too scared of your grade. He's super funny in lecture and in my opinion is one of the best cs professors at Davis.
Professor Farrens is a great guy. He is always accessible after class to answer questions, and is a very pleasant man to talk to about computer architecture. The class isn't exactly the most organized, and the midterms are tough. He gives practice midterms which are very similar to the ones he gives in class, but he grades a bit rough. Good class
Worst ecs experience in ucdavis. Spending same amount of time as other ecs classes won't be enough for this class. Heavy test four 50 mins 8-page exams and one 2 hours 20-page final.
By far the most knowledgeable Comp Architecture professor in UCD. The class is divided into 2 parts, lectures+tests (done by MF) and homework (done by the TA). Farrens live (recorded) lectures are invigorating, packed full of useful information (TAKE NOTES). He gives you loads of practice tests which are ample prep for each exam. Fav prof in Davis.
Trust me, Professor Farrens is definitely underrated. Despite his test-heavy policy, everything was just so great. He was very knowledgeable about the content, and you can easily find him for help after class. The class is very hard, with 4 midterms and 1 final, but he did give a very generous curve. Again, good class and good professor.
Listen, there is very few good professors in Compsci at UCD. VERY few. Compared to most, Farrens is a very good professor. I actually don't understand the criticism around him. His tests are essentially identical to the practice tests, he records all his lectures, and he is very receptive to questions without being rude or testy. Good professor.
I don't understand all the hate for Farrens. UC Davis has a reputation for terrible CSE professors, and Farrens DEFINITELY isn't one of them. If you're planning to finish a CS degree at UC Davis and you think Farrens is a bad teacher, you're in for a rude awakening.
Don't take this professor if you don't want to lose your 4.0. He is a great teacher and if you go to lectures and rewatch lecture videos you will do good in the class. But he is a very picky grader on midterms! I averaged a 78/100 on midterms, when I felt like I got an A. Labs are pretty easy if you and your partner work together.
I got cooked well done
Farrens is the Lebron Raymone James of computer architecture
He is a strict grader, takes your point off for nothing, and is ridiculous. If you write the definition (on the test) more than 5 words, points off. But he still answers your questions and cares about how you understand the material so ready to read before hand. Not too bad but hard to get a high grade. Plus this class is hard.
Hard to follow the lecture if you don't preview almost everything that will be covered in that lecture. Rewatch the records, do the previous assessments, and go to TAs or his office hours help a lot, maybe. He is nice, but this class is hard. He is fair, but small mistakes can lead to bad results. GL.
Farren's lectures are hard to follow and very confusing at times. His practice exams are very similar to the actual exams, and he does record his lectures. He gives about 3-4 practice exams per exam, so if you just know how to do those then you'll do fine in the class.
quality lectures. they dont make sense the first time, but he records so when you rewatch it all clicks. goated for practice tests. only gripe is HW, test, lecture have almost nothing in common. fair grading. patient with questions. if you want an A, rewatch lecture, do practice test, ask questions, and start labs ASAP
Old guy who's a terrible lecturer and stands in front of the white board so you dont event know what hes writing down and chooses not to upload notes to canvas anyways so its useless half the time. He reminds me of Professor Franklin, both professors incapable of having an engaging lecture and keeping up with the changed times of technology.
Terrible... avoid at all costs. There's a reason he's rated so low
Lectures were boring but recorded. He could come across as rude or overly sarcastic, but was willing to answer any questions/ clarify if asked, though you can tell when he's frustrated with lack of participation or understanding. Study the practice tests on the syllabus and you will ace the class.
I am very surprised that Farrens' score is so low. The class is hard but it is expected, and Farrens teaches the topics, for the most part, well. The tests are exactly like the practice tests given, and are pretty fair. Homework isn't too bad. There are 4 assignments and all took me and my teammate less than 10 hours. Study and you'll do fine.
Best professor ever had. Care students, especially care if you really understand the point or not. The lecture is hard to follow at first but it's because 154A isn't something that you can get at the first time. 3 midterm + 4 homework + final is all. The grading is harsh but curve is heavy. Take the sample exams and you will be just fine
Don't take this old guy class; it will make you parrot. He will give you past sample papers, so what you have to do is find a friend who has taken him before and can give past recordings. You will ace the class. No new learning. Second, for the rest of the quarter, if you make C overall but do great in the final, you can get a minimum of B+.
The class has 4 labs, 3 midterms, and 1 final. You have to make notes by yourself. He does not use slides, and to make notes, you have to rewatch the lectures many times. You just need to get the solutions for the sample papers. This is not good for learning. He should retire now or teach 10th-grade physics, not a university-level CS class.
People rated him high as they got their friend who has his old assessments solution. They knew the trick to doing excellent in the exams. He grades so harshly for simple mistakes, as you have to finish 20s Q in 50 min. If the class does well, you will be lost as the curve is very low with no extra credit. His class average is C on assessments.
Simply, Just don't take this old guy. It was the worst class ever in UC Davis.
This class has 3 midterms,4 labs, and 1 final. Labs are 20%, and exams are 80%. He grades harshly and is very likely to do poorly in his class, as his exam average is C, and his curve was not high this term. It's a useless class that requires extra effort just to get a bad grade.
This class probably got review bombed. It was fine to be honest, not easy at all but definetely doable if you study. The practice exams are midterms and finals from previous quarters so they are very similar to the actual exams. Study these and you should be fine
professor Farrens is great, it is just 154A is a tough class. There are 4 HW assignments in total, not easy be prepared to go to OH and Tutoring a lot. Exams are very similar to the practice exams, all you need to get good grades is studying his notes from class and the practice exams and you will be in good hands. definitely take him for 154A.
He says grading is based on “understanding,” but tiny formatting or notation differences cost points even when the answer is correct. Exam instructions are ambiguous, yet he expects one exact form. Lectures jump around, and you don't get any preparation for exams from lectures and assignments. Most frustrating course I've ever taken. AVOID
Professor Farrens is very nice and humorous. I just watched the recordings and did all practice exams(very similar to the real exams), I got good grades and learned a lot of things. The homework is very fun, I like doing homework although debugging is painful.
HORRIBLE HORRIBLE. AVOID AT ALL COSTS. I STUDIED EVERYDAY AND YES HIS PRACTICE IS SIMILAR TO THE ACTUAL EXAM BUT HE NEVER EVER GOES OVER HOW TO ACTUALLY DO THE PRACTICE. AVOID AT ALL COSTS!!! HORRIBLE HUMAN BEING!!
Labs are very hard. Practice tests the same as tests, do those right you will pass tests. (Midterm 2 be very fast). Make good connections because you don't have an answer key to those practices and not many direct problem examples in class post exam 1. Curve 1/2 letter grade at the end so 5% maybe a little more or less. Best prof here for 154a :(
Class Info
Attendance Mandatory
10%
Textbook Required
100%
Grade Predictor
Your expected effort level
Predicted Grade
B+
Grade Distribution
Common Tags
Rating Trend
Declining
-0.77 avg changeRatings by Course
ECS50ETC
4.0
(1)ECS154B
3.5
(8)ECS201A
3.3
(6)ECS154A
3.3
(51)ECS154
2.3
(9)Difficulty by Course
154A
4.5
ECS50
4.4
ECS154B
4.4
ECS154
4.1
ECS50ECS201
4.0