3.4
Quality3.2
Difficulty60%
Would Retake108
Reviews60%
Would Retake
108
Reviews
Rating DistributionOfficial
5
48
4
16
3
15
2
7
1
22
What Students Say
“Avoid taking this class with him at ALL costs, unless you want an average of 15 hours of homework a week for a 4 credits”
CSCI201L - 2.0 rating“Long and dull lectures, brushes off questions”
CS201 - 1.0 ratingClass Info
Online Classes
100%
Attendance Mandatory
28%
Textbook Required
49%
Grade Predictor
Your expected effort level
Predicted Grade
A-
Grade Distribution
Common Tags
Rating Trend
Stable
-0.05 avg changeRatings by Course
477A
5.0
(1)CS477
5.0
(1)CSCI570
4.9
(15)ITP116
4.7
(3)CSCI201L
4.3
(8)Difficulty by Course
CSCI477
5.0
CS270
5.0
CS201
4.0
CSCI477A
4.0
BGMT110
4.0
Reviews (108)
He's chill. Assignments were too long and I'd classify them as busy work.
Miller is the best CS Professor I've had so far at USC. He cares about your learning experience and even your exam experience. He tries really hard to make sure things are doable and providing valuable learning experience. 201 might be a lot of work but comon which CS class is not.
fair class, clear lecturing, assignments a bit long but not awful
J Mills is great. You get what you put into the class. Projects and assignments are fun but can be lengthy. Definitely the best CS class I've taken so far.
Miller is my favorite CS professor at USC. He is pretty chill in class. Homework is fun and not awfully hard. Plus, he is always willing to help. Exams are reasonable and he really cares about our feedbacks.
Miller is my favorite CS professor at USC. He is pretty chill in class. Homework is fun and not awfully hard. Plus, he is willing to help. Exams are reasonable and he cares about our feedbacks.
Out of all the professors in my CS classes I've taken so far, JMills is probably one of the best there is at SC. He's engaging and cares a lot about his students and their success. He's very approachable and is a really cool guy. I'd recommend him to anyone who takes 201.
Lectures make absolutely no sense, and there is too much busy and useless work assigned for a 2-credit capstone class.
This is the most useful class I've ever taken. There are so many classes you take that are useless in the long run and it's refreshing to have a class that I can directly apply. I have used the material in class to obtain an amazing internship. Prof Miller is there for you and he actually cares. Doesn't hurt that he's nice to look at also:)
He is one of the best professors I have had so far. He is engaging, encouraging and approachable. He is very articulate. I wouldn't think twice to ask him the silliest of doubts. He makes sure that we know the basics before delving into any topic.
Miller held discussion sessions for our algorithms class. He made the concepts seem more accessible and applicable. Sometimes, there was more learning from the discussion than the lecture. Definitely worth attending,for the energy and enthusiasm he puts in to teaching.
He's very enthusiastic about what he teaches and succeeds in engaging most of the class. Sometimes, you really gotta pay attention to follow what he's trying to explain, but most of the times, his discussions are easy going. Would definitely recommend him.
He is an amazing teacher. I attend his discussion sessions without fail as I tend to understand the concepts better after listening to him.
Very enthusiastic
Spontaneous .Clear Explanation of problems and Solutions.
Good Professor!
A perfect professor! Thank you Professor! U rock! :)
His discussion sections are extremely helpful in understanding the course content, he makes sure that everyone is on the same page in terms of the basics before diving into the meat of the subject matter. He is also super helpful in office hours and will help work through pretty much any issue that you have.
He is very enthusiastic in class and always ready to help
excellent professor with amazing enthusiasm
he is good teacher
He taught my discussion section for 570. Very energetic, and gives clear explanations. Cares about his students and before every exam gave us recommendations for what to study, and what topics to focus on.
I hope he taught the algorithm class instead of discussion. A very energetic and helpful professor. Makes algorithms feel simpler.
He is very great.
Too clear
Lectures are useless. More than half of class doesn't go to his lecture when there's no quiz cuz lectures are helpless. You better just go read a book. He insists the engineers to have perfect grammar. Oh, grammar is checked by some IBM software stuff (surely accurate) Dress formally for presentation which Steve Jobs and Mark Zuckerberg hate.
I can tell Miller cares about teaching, but he just does a really poor job at it. His lectures are long and useless, and his written exams expect you to essentially memorize small facts from lectures that he barely spoke about. He doesn't seem to lighten the load when he receives feedback regarding the insane amount of work either. Avoid him.
Worst CS classprofessor I've ever had. Class is a waste of time. Spent months learning Java in what could have been days. Skipped over all the software engineering stuff that is the title of the course. Prof ran experiments to entertain himself, didn't care If we actually learned the material. Huge ego problems. Avoid if at all possible.
In fact I don't think prof Miller is that bad, though his assignments are way too heavy. Some labs are even harder than the assignments. But it turned out that the last assignment becomes extra credit which helps a lot. However the course could be better organized. Some of basic topics should be moved fast while spending more time on hard topics.
The absolutely inane requirements for the assignments, exams, and project weren't anything more than an educated middle schooler with enough time on his hands could handle, but in no way reinforced Principles of Software Development. Miller's class is a perfect example for why our tuition refund insurance should be extended to cover futile classes.
He taught us in the dis section and he is a talented speaker. Very energetic and offered me a lot of inspiration about how to organize the material learned in class! He is very good at explaining problems!
I am taking serval tough classes last semester. Tons of work to be done each week and obviously this one pains me during most weekends when the assignment is about to due. I'd really suggest you do some preparation yourself in java before taking this class.
He tested us on how well we could memorize slides he told us weren't going to be on exam, and spent most of the class teaching us Java swing instead of the actual software concepts we were supposed to learn. Plus, he pretty much sent out an email at the end of the semester asking us to rate him well.
This is a good and helpful ckass. The group project isn't too rough and it is nice to work with stake holders from industry. Miller is there for students and I tecomnend him.
One Of the most charismatic and smartest professors I've had at SC, but don't let this fool you into thinking he's a good teacher. He's very arrogant and I've figured out he teaches only to show off his wide knowledge of the field, and doesn't actually care if people learn the material, he just wants to make sure people know that he knows it.
The class was a lot easier than previous CS classes I took at USC. Although I usually hate group projects, letting us do our own design for the assignment was cool. I think too much time was focused on programming java basics, but I guess it's assumed no java experience. Miller seemed very knowledgeable and was helpful in office hours.
god, he's such a boring professor droning on and on. he can make the most interesting things seem dull
Content-wise, acceptable. Lectures taking basically from wikipedia. Has an ego problem that's obvious from day 1. My main problem was the unclear grading rubric for the major group project. The class itself is not hard, but not because of Prof. Miller's teaching abilities.
great experience, this class makes me love CS again. topics covered are OOD, Network, GUI, MultiThreading. got to build an interesting game and join a team to build a project you like.
Not a good professor. Full of himself. Long and dull lectures, brushes off questions. Avoid if possible
Too much homework. Lecture are so brief.
Really good teacher but wayyyyyy too much homework. Possibly the most total work that I have ever had in a class before. 6 40 hour assignments every 14 days, 2 midterms (both on friday night), a final project that we're supposed to do AT THE SAME TIME as the 40 hour assignments. And I can't say I've learned software development.
Ridiculous amounts of homework that teaches you nothing. If you plan on taking any other classes, don't take this one. It's a full-time job (at a terrible company)
Not bad at explaining things, just the things he explains are pointless. Incredibly pompous and full of himself. Homeworks are unnecessarily long and not worth anyone's time. I would say avoid if possible, but it is a required course. So brace yourself... Miller is coming.
This is hands down the worst class I've taken at USC. I've learned nothing, but have spent most of my waking hours dealing with it. It is an extremely unreasonable workload, and there is no professional benefit from taking it. I haven't learned anything that I can put on my resume.
Unfortunately, this class is required for CS related majors. The only thing I've learned from this class is how to get comfortable in library chairs and work for every minute of my free time for the entire semester. This is not an exaggeration. Homework for the class is long and tests are based on little details that he mentions in class.
This class is an extremely unreasonable amount of work. Even the course producers complain that the assignments are too long, but Miller thinks that he's teaching us work ethic or something. I'd hardly call the busy work that he assigns anything actually useful. Avoid at any cost, but I doubt that is possible in the near future.
Cocky, brash, never gives rubrics until after assignments are due. 0/10 would take again.
He scheduled one of the finals (yes, there are multiple) early, the day after our final project presentation, and two days before two major assignments were due. Apparently, the early final violates a school rule. Wish I could post a screenshot from Piazza. People were not happy.
Very clear lecturer. After taking this class you will understand Java. A descent amount of work, but if that's a problem for you, maybe the Computer Science field isn't the best fit for you.
I think that Miller is a great professor. His lectures are good and very clear. Assignments are long but they do teach you stuff.
An honest review: this class has a lot of work, but he is a clear teacher and there is an absurd amount of office hours and times to ask for help. The lectures are very thorough and easy to follow. Something that is rare in Computer Science courses. Provides a full course schedule at the beginning semester so you can plan accordingly.
He's a pretty smart, well-intentioned guy... but he fails at designing a course with the students' best interest in mind. WAY too much work, and totally arbitrary grading criteria which he often doesn't communicate ahead of time. The assignments are super tedious and don't actually teach you how to be a better software developer. Good luck.
Hard, but good class.
Avoid taking this class with him at ALL costs, unless you want an average of 15 hours of homework a week for a 4 credits. Tests have nothing to do with course material. Poor execution of a critical class.
Claims to be a fair grader but isn't. Assignments require way too much time to finish and will eat away at your study time for the ridiculous programming exams based off of confusing factory code. I would say avoid, but he's the only one who teaches the class right now. If your class performs well (like mine did), forget about having a curve.
Way too much homework. The class doesn't really teach "Principles of Software Development."
In this class Prof. Miller was pretty clear about the requirements and grading criteria. Above 98% got B+ in this class, so I believe it shouldn't be a problem to get a good grade in this class. The good thing is that you are working with a stakeholder on specific project in a group of 5-10 people, and in the end you build something cool.
Many students agreed that the course should have taken more time to cover networking for a greater portion of the class rather than GUI (Java Swing). Slides aren't very helpful and I ended up not attending lectures in order to finish the ridiculously long programming assignments instead. Taking advantage of extra credit opportunities is a must.
He was very lenient and understanding of course work seemed overwhelming. He is a good lecturer.
One of the best teachers I've had at USC. His lectures are clear and straightforward. Offered plenty of extra credit opportunities (most kids were bumped an entire letter grade thanks to extra credit).
The complaints about ridiculous amounts of homework are justified. However, I would argue that Miller himself is a good teacher and is fair about grading. Rubrics WERE provided for each homework assignment, and he gives plenty of extra credit opportunities which you should take given the chance. The course material itself does seem to wander though
Gave lot's of homework, overall a good professor though. 2 Programming and Written Midterms, 1 Programming and Written Final, 1 Group Project. Labs are pretty boring. Grading is fair.
Awesome
You should already know java and take this class. The factory code is so boring.
Miller's a pretty good CS teacher. The concepts he teaches are straightforward and clearly delivered. There are SO many CPs (course producers) so you'll have no problem getting help with the time intensive assignments.
He's a good professor overall. However, each assignment just takes you very long time to finish. You have to be prepared to finish his assignment first or you won't be able to finish it. Class is not very hard but you will feel frustrated after each assignment due. YOU have to fully understand the factory code to do well on the programming exam.
Miller is a solid CS professor and the class is pretty organized. I was a little dissappointed by how the group project was managed and I felt like I did not get much out of the project. The class overall is pretty straightforward. Also, the material tested on the exams isn't always mentioned in his lectures which can be annoying.
He's a very clear lecturer, even though some parts of the course were mundane. Understanding the factory code is a must for doing well on the practice midterms. The homeworks were long, but we were given about 3 weeks to do each one, and the grading rubrics were clear. Also, he gave out a ton of extra credit, so most get solid grades.
Professor Miller is very entertaining, and I enjoyed going to lecture. He spends half of the class going over power points and half of the class going over current events. Although I liked Professor Miller and his personality, he was hard to talk to during office hours. Tests were tough, and very lecture heavy.
Professor Miller is the worst CS teacher I've had at USC. He is unclear in class and doesn't cover all the material on his exams. There is a ton of homework, and much of is unnecessary. The factory code is incredibly boring and ultimately useless. The Prof. is also rude as a person and takes multiple days to respond to a single email. Terrible exp.
Professor Miller is a good professor overall. There is a lot of work and some of the material can be hard and confusing, but he does his best to make students succeed. He gives a lot of extra credit and a lot of people end up doing well in the class.
Miller does an ok job of covering all the topics, but you will have to teach yourself in order to do well on the homework. He did adjust deadlines if we felt overwhelmed. Do as much extra credit as you can! Although 201 is conceptually less difficult, it has just as much work if not more than 104 so unfortunately things do not get any easier.
CS 201 is a tough class. There are a lot of assignments, tests, and projects throughout the semester. It's worth it though to learn the material since most good internships require knowledge of topics taught in this class. Prof Miller is approachable and you can tell he cares. Always willing to write a letter of rec or go over interview questions.
Jeffrey Miller, PhD is a character. He takes himself very seriously, wears a suit every day, and never fails to mention his PhD in his emails or lecture slides. Every now and then you'll get railed by a test on something he covered for 15 minutes and didn't post slides for (/cough/ WebSockets), but if you do, he's fair about making up the credit.
Horrible teacher. So full of himself (Jeffrey Miller, pHd). Assigns ridiculous amounts of homework that are close to each other in deadlines. Pretty much just busy work. Only multi-threading was useful. Programming midterms are impossible to finish. Final project was almost all documentation which was extremely annoying.
Is Miller a good lecturer? Yes. Are the lectures useful? Unfortunately, no. Assignments are horribly long, and I'm pretty sure Miller himself has very little idea on what the students know/should know. Lecture slides and assignments have very little overlap, and programming midterm is just impossible to finish.
This class is, for the most part, a complete waste of time. Even though many of the concepts are useful, most of your time will be spent on the assignments, which apply only a small handful of these concepts. Grading criteria seemed well defined at first, but were often changed through Piazza within days of deadlines.
Horrible instructor ever, just ruined my whole life, i wish he would read the comments and really change the way he is teaching. I blame usc for having this instructor.
Mixed feelings. He's a pretty good lecturer, but the course (CS201) was confusing in terms of how much we were expected to know. Assignments are long and pretty hard, and allocation of points was weird. For example, an assignment that takes a week to complete is worth 4.5% of our grade while filling up a survey that takes 5 minutes is worth 1%.
Very understanding and kind professor. Lectures sometimes relate directly to homework assignments while other times they don't. Definitely a good professor to have for understanding professionalism in the workplace, but assignments could be more in line with what we're learning.
Prof. Miller has improved his ways of teaching. More reasonable assignments, more extra credits, and clearer grading criteria. He still takes attendance, holds early morning office hours and gives literal questions in exams and the course still has to cover tons of stuff, but the prof himself is helpful and kind. Pay attention to detail to get an A
He probably improves a lot. Lectures were clear and useful. Programming assignments were long and time-consuming but still reasonable and not tricky. If you plan your time well you'll be fine. He also offered a lot of EC opportunities. Not as bad as the old comments said.
Professor Miller is a terrible professor. He is unclear in class, assigns a ton of tedious work. He also is so full of himself (Jeffrey Miller, PhD has to be on every slide), always wears a suit to class. Professor Miller is also quite rude in office hours. Sadly this class is required for the CS major, but it's one I'd otherwise avoid.
Lots of homework but he's always open to help. He genuinely tries his best to improve. Also he gives a ton of extra credit so if you want an A, you can get it.
The experience is just horrible. You had better know web development before taking this class. If not, you will end up teaching yourself throughout the class and spends 30+ hours on a single assignment like me. He teaches only less than 20% of the material you need on assignments, which is just unbelievably unreasonable.
The CPs are what makes this class possible (especially Jack Boyuan Xu)
I don't understand why people don't like Miller. He is kind, clear, informative, and his class was by far the most useful one I have taken at USC. Maybe people don't like that the assignments are long but that's really nothing to complain about. I have nothing but wonderful things to say about him. His rubrics and tests are clear and fair.
Very inaccessible. He didnt reply piazza at all.
Made an account to rate Miller since I think he's great and that isn't accurately reflected on here. Probably the most reasonable CS professor I've had at USC. All his tests are conceptual, not ridiculously specific like I've seen with others. But when he says to start something early, START EARLY. I put off hw4 to the last few days and it cost me.
Pretty chill class compared to all of the CS classes at sc. The exams are easy if you study and there's a lot of extra credit. That said, the group project can be tough depending on your group members. Nearly half of my group didn't contribute a line of code, and got they same grade without repercussions.
CSCI201 introduction to self study. only teach less than 10% of what we need to do our assignment
Professor Miller is constantly improving his class and really takes into consideration student feedback throughout the semester and for future semesters. He has industry experience that he draws on and is much more approachable and professional than other professors in the CS department. This class is not hard but is project heavy. Lots of EC.
Not a hard class but he has the need to mention his PHD on every lecture... we get it you have a PHD!!! Idk why he constantly has the need to say it.
This is the worst professor I've ever had at USC and the worst CS class I took. Professor copies slides from other universities and doesn't know how to teach. The actual course material is extremely outdated. In office hours, Professor Miller is rude. Group projects are random groups with unclear criteria. Avoid this professor and class if you can.
Jeffrey Miller Ph.D. is a well respected professor among faculty and students alike. As a CSCI201 teacher, he does the best job you can ask for, but the course curriculum goes in way too many directions. That isn't his fault, but don't expect to master anything after this class, you sort of hop around a lot of other topics.
Professor Miller is hands down the best lecturer I've ever had at USC. He's also a girl scout. But seriously, Miller's projects are all doable, and he gives students a lot of time to complete each of them (2-4 weeks).
Just a great person! interesting class
Took this in the summer (and during the pandemic). The class is fine, but I do not recommend taking it during the summer due to extremely tight schedules and deadlines. Prof. Miller gives clear and logical lectures, although you might need to dive down more into the materials to complete the assignments. 1 pt deducted for ambiguous quiz questions.
CS201 sucks regardless of the prof - you won't really learn anything that sticks but you'll come out able to create a low-qual web app!!!! You can get an A as long as you are capable of Googling just about everything :-) That being said Miller is a solid choice, he is accessible during OH and his lectures are a bearable supplement to your googling
Despite the flawed design of cs201, he is the best option for this class. I took it in the summer and the teacher after him is much worse(Victor Adamchik, look him up). Good lecture but don't expect much, just google and stack overflow everything for assignments. Last 2 weeks was crazy, assignment 4+final project+final exam due on the same day.
Professor Miller is a great choice! I took him for 115 and I am so glad I did. He explains every concept so thoroughly and always makes sure students don't have any questions. He's super understanding and wants you to succeed. New to Python or not, you should 100% take him as the class is a breeze.
Had a great experience taking this class. The weekly standup meetings and reports dissuade team members from slacking/leeching. This class only took around 3-5 hours a week and 99% of students get As. No lectures or exams, but project deadlines and meetings are strict.
Miller is decent, but the class is pretty easy. The prof explains everything clearly and makes sure everything follows logic (very crucial for a CS class) Weekly homework with two tests and a final project which everyone makes their own rubric and you basically get full marks, so an A is pretty easy as long as you don't screw up the homework.
Really easy A as long as you do the assignments. Teaches enough Python that you can start on personal projects after finishing the class.
A solid choice for ITP116. He communicated the material very clearly through lectures, always posted his sample code and an informational pdf (which was helpful for midterm review). Each week, there's a homework assignment (sometimes lengthy) and a lab (he does it in class with you). He also sent out emails about job opportunities at CS@SC.
Capstone is exceptionally easy with JMPHD. However, it is not designed in a way that is pleasant or conducive to learning. Weekly progress meetings and status reports feel like slow torture, and getting a group of 4-5 seniors to actually work on a group project is difficult, especially when freeloading your way to an A is so easy.
CSCI401 is solely about working on your group project. There aren't any lectures except for the very first week. Most students can get an A. But do not put too much expectation on the project outcome as many of your groupmates may decide not to contribute since it is easy to free ride and get an A.
Class Info
Online Classes
100%
Attendance Mandatory
28%
Textbook Required
49%
Grade Predictor
Your expected effort level
Predicted Grade
A-
Grade Distribution
Common Tags
Rating Trend
Stable
-0.05 avg changeRatings by Course
477A
5.0
(1)CS477
5.0
(1)CSCI570
4.9
(15)ITP116
4.7
(3)CSCI201L
4.3
(8)Difficulty by Course
CSCI477
5.0
CS270
5.0
CS201
4.0
CSCI477A
4.0
BGMT110
4.0