3.7
Quality3.2
Difficulty75%
Would Retake96
Reviews75%
Would Retake
96
Reviews
Rating DistributionOfficial
5
35
4
27
3
14
2
9
1
11
What Students Say
“Don't listen to the people that give him 5 stars, they probably already have a background in code”
1400 - 1.0 rating“Tough grader: Huge assignments due Tuesday nights”
CS1030 - 4.0 ratingClass Info
Online Classes
100%
Attendance Mandatory
26%
Textbook Required
11%
Grade Predictor
Your expected effort level
Predicted Grade
A-
Grade Distribution
Common Tags
Rating Trend
Declining
-0.24 avg changeRatings by Course
CS3505
4.3
(21)CS1410
4.2
(25)CS1010
4.0
(1)CS1030
3.8
(5)3505
3.6
(5)Difficulty by Course
COMP1010
5.0
CS3550
4.3
CS1020
4.0
CS6962
4.0
COMP1020
3.7
Reviews (96)
David was a friendly professor, he tries to crack jokes and laughs at himself sometimes. His lectures are usually very laid back, and he has all the lecture powerpoints online so it's not the end of the world if you miss a lecture. The labs had tons of group work, so be wary. Plenty of TA's to help you out.
Fails to communicate what the emphasis of his lecture is. Assignments often need clarification and further specifications in the class after they are assigned, and it seems that he doesn't put much planning in. Difficulty not particularly high, but grading seems arbitrary, and it is easy to lose points for aspects that were not communicated.
Tough grader: Huge assignments due Tuesday nights. Put aside a couple hours for them. I believe it was the TAs that graded, but there was zero leniency on them, even though the rubric was hard to follow sometimes. There for you & Hilarious: I found the lectures pretty funny, which helped. He has clickers, so be there. TAs help tons with labs.
David is a good guy and I really enjoyed taking this class from him. It's no walk in the park but the hours are reasonable. While I wish I had better clarity on some projects and the setup for them, which can take a long time, he's a cool guy who's easy to talk to and his lectures are enjoyable. I'd take a class from him again.
I loved this class. Lectures are informative and easy to listen to. All but one project were group projects. Generous grader, assignment documents are very clear.
To be honest, I found David's lecture style to be absolutely dreadful; his sense of humor bored me and I can't think of a single lecture where I walked away feeling like I gained useful introspective in the field. However, he cut me some massive slack when I missed a test and overall was very accommodating to most student's concerns.
He has you use this programming language called scratch, which is pretty elementary in my opinion. This class does not prepare you for CS1410. David thinks scratch is the greatest thing ever. The interesting topics come around at the end of the semester. Plan on 2-4 hours per assignment due weekly. Using a programming language meant for children.
He doesn't explain topics from the assignments enough. He will introduce completely new topics in the assignments and just assume you can figure it out, barely ever even mentioning them in lecture. His assignment descriptions are extremely lacking, and he makes mistakes in his own code constantly. Honestly I don't think this dude enjoys teaching.
Prof. Johnson is a great professor. Since I have programmed before so this course is not really hard for me, but still I have learned a lot about Java and programming to which I have not paid attention or which I have not learned yet. He has sense of humor and is very easy to ask for help through forum or email if you need help.
David was an absolutely amazing professor. I took the same class at UVU and he is much, much better than any CS professor I had at UVU. If it's your first time, prepare to do a lot of CS homework, projects take some time but are very rewarding and he helped a lot during the class, and even after He answered any email I sent him, even at midnight!
David is so far the best CS professor I've had here at the U. He would respond to my emails super quick. It's a CS class so its going to be hard and you will have coding assignments that are pretty difficult, but he gives sample code and help is always available. Take Advantage of It!
David Johnson is a quirky guy and keeps things interesting in lecture. He does a good job of showing concepts in code. The assignments make sense from a learning perspective and were somewhat easy (If you are completely new to coding, don't fret and ask your peers for help). Just do what you are supposed to, lord dejohnso has your back!
Really great professor, always answered emails and forum posts really quickly. Good lectures, and very fair when it came to grading. Really cared about all of his students!
His voice is extremely monotone, and the excitement level of lectures is on par with elderly bingo nights. You can tell he's extremely smart, but there's a communication divide between him and the students. Tough, long, and ruthless homework/tests. Study guides are also unhelpful for tests, but the TA reviews are slightly better.
Great guy. Great professor. He knows what he is doing, but he is quite a goof. His lectures were decent and informative most of the time, but when they weren't, oh boy... have fun doing the assignments. They were difficult but very doable. Tips: Go to class! Put in the work, go to office hours, and he'll treat you right.
He was a great teacher and told you what was expected of you. He really showed his knowledge and did a great job of explain concepts. He was funny and his lectures were informative. I enjoyed his class and learned a ton!!
David is an awesome professor. His lectures are usually pretty entertaining, but he also works very hard outside of class to help you, and will always email back quickly. The course itself is very easy, 1 homework assignment a week (usually pretty easy/short) and 3 exams. It is a very gentle introduction to Computer Science.
Professor Johnson was a great professor. He explained things very simply and well. This class had a lab that was extremely helpful and I felt like I learned a lot through the class.
David's lectures were simple, but fairly effective. If it is your first time taking any form of a CS class, get ready to spend a lot of time on your homework! Spend time with the TAs or during his office hours to get the best grade.
This class is hard, as any CS class is to be expected. Prof. Johnson is really amazing, his lectures are easy to follow and the labs are great, too. There's a lot of homework and the exams are fairly difficult, which is usual for CS. If you can take this class from him, I definitely would.
This class was not intended for entry level Computer Science students with no experience. Thankfully I had a friend who is a Comp Sci major who knew Python and helped me out.
He's a nice guy that's fun to listen to. He's a decent lecturer, but where he really stands out is in his feedback. He is really helpful in office hours and through email, and even took it upon himself to fix a major bug or two in my groups' projects when we got really stuck. Solid professor.
Professor Johnson is definitely by far my favorite CS professor at the U. He is hilarious, and caring. He always responds to emails near midnight and is always on top of helping everyone succeed. This is my second class with him and he makes his assignments fun and very educational. Definitely go with Professor Johnson if you can!
Awesome professor. Useful projects and lecture for job hunting. Holiday respected, no homework during holidays. Finally, gave us a curve on grade.
Professor Johnson is a good lecturer. He has a good sense of humor and teaches clearly. He also highlights well the pros and cons of different industry standards and techniques. Generous grader on the final project.
My favorite professor of all time. He is the first professor I've had in the CS department that gives students a fair shot to succeed. He responds to students' questions at ungodly hours of the night, he always makes himself available to help, and wants to do everything in his power to help one succeed. LOVE this professor. Take his classes!!!
David Johnson is decent at giving lectures but his lectures usually dont help too much with his homework assignments. He is homeworks are too hard for this 10XX class (which is entry level ). If you have no experiences in programming before, prepare to suffer.
Professor Johnson is great! His lectures are fun and always helpful and serve as a great guide for his assignments, which are also pretty fun for this course. He makes it clear what you are being graded on and provides tests to make sure you are passing those tests. He is great at getting students involved making things entertaining.
David puts in very little effort in his lectures (they are all black and white, literally). Then he expects you to be perfect with your assignments, walking him through everything and naming everything the way he wants you to. Not worth your big tuition money, you will learn how to program better online.
No final, just an easy quiz every 2 weeks. Some weeks with about 15 minutes of homework. Grades fairly, especially with group work. Talk to him if groups have issues and he will adjust grade accordingly as is fair. Like many professors he welcomes question in office hours. Not much material in the class itself but it was easy.
He is one of the best professors in the program, and extremely understanding. He puts in a lot of time responding to piazza posts and helping students get through bugs in their code. Really awesome professor.
I took this class wanting to learn basic computer science. I quickly learned I was not meant to be in this class but it was too late to drop the class. The projects are ridiculously hard and time consuming and the tests are very difficult. Johnson is an amazing professor but I wouldn't take this class unless it's required for your major/minor.
David Johnson knows CS, and that is what matters. His lectures are boring (but I am not a CS person so that may be why) and the weekly projects are so time consuming but if CS is your thing and you actually enjoy it you'll have no problem with Johnson. Oh, and he replies on Piazza at absolutely satanic hours and usually very fast. Does he sleep?
This class was hard. I would study everyday for this class I still ended up having a 68% test average. The assignments are really tough as well, be sure to go to TA hours. I would recommend retyping his lecture code by yourself everyday, it will help you learn. Getting help on Piazza and emails are quick as well, this class is good, but study a lot
Very nice man and a fairly good professor. He replies to questions very fast and is detailed in the replies. Make sure to pay attention and go to lectures because all the material is very important. Homework is can be VERY difficult, especially if you missed the material that it is about. Follow along in labs, if not you may be totally lost.
Prof. Johnson is a really funny guy, and I really enjoyed his lectures. He was also very understanding and kind, giving us late days as needed if the class asked for them. The course itself was very boring and I fell asleep every during every lecture, but David makes it somewhat bearable. Take it from him, I've heard worse about the alternatives.
CS1410 is a serious class, but Professor Johnson doesn't take himself too seriously. The homework is tough (get going on it early) but the lectures and labs have all the information you need to do it. The exams felt pretty tricky sometimes, so study thoroughly for those! Piazza is your best friend, don't underestimate it. Prof's replies are clutch.
Prof. Johnson conveys concepts clearly and with an upbeat attitude that makes his lectures a joy to attend. The subject he teaches is tough, but the workload is manageable. If you are ever stuck or need additional help to understand concepts, he has a network in place to do just that. Great prof, I wish I could have taken him in person.
TAKE THIS CLASS! This is actually my third attempt to take CS 1410 and I bet this class is the best. First, you don't have to buy any textbook. The best part of this class is that he gives you a really detailed description and his expectation about an assignment which other professors don't. And he also gives similar examples in the lecture.
Professor Johnson made very clear the the assignments we did and the material that was going to be covered in the class. He shows a standard amount of care for his students although he does respond to students very well. His negatives lie in subpar teaching. I found myself being better taught by youtube videos on the concepts than his lectures.
It is really easy to get help through Piazza. The homework assignments take a lot of time though and it helps to get help during office or TA hours.
Great professor very nice and caring (will definitely give you as much help as you need), however, the homework is beyond entry-level material. Assignments take too long to do with not a lot of time given and are way more complex than what we learn in the lectures, the same went for 1010.
Prof Johnson is overall just a GREAT teacher. The way the course is setup is perfect for learning programming, and he makes sure to teach where if you really don't have any background you'll still be able to understand and get help. he's always help available in office hours and I love the forum 'piazza' he uses on canvas, it's helped a ton!
This class was very challenging. Homework is very heavy and takes a lot of time. Piazza is your best friend so use it! He is a tough grader and I often found myself getting help from TA's a lot but Piazza is a much faster way than waiting in line for a TA
I wish games majors werent required to take this class. Its way too difficult for people who have no idea what theyre doing and who have never touched a piece of code in their life. Wish this class could have been avoided.
Personally, I didn't enjoy all the lectures but he still was very informative. He records the lectures so if you need to do something else during class you won't get behind. The lab is what helped me the most. Overall, I enjoyed his class and it wasn't difficult if you paid attention and put in the required effort.
Professor Johnson is a super nice guy and a great lecturer. Sometimes class felt kind of long though and you won't enjoy the labs if the TA isn't good. If you have a question with your assignment don't hesitate to ask for help on Piazza, you'll get a timely response. Also look back at the powerpoints from lecture as those help a lot.
Prof Johnson didn't explain things the best for me. Things started to make the most sense during the lab sections where Ly was explaining things. Prof Johnson wasn't the most willing to work with you, and when you had questions the TA answers usually made more sense than his did.
He was fine. Far from bad and an easy A if you did the assignments. His lectures were like I had overdosed on ketamine while in a coma though. Completely useless. I went to all the lectures for the first midterm and none for the second, performed better on the second one. I am taking him again, and it is far from a bad class.
Johnson is not great as a professor and is usually pretty rude, but his TAs make the class bearable and even do a better job than he does at teaching. If youre going to take his class, dont worry too much about lecture. Just power points and TA help should teach you well
He was decent at teaching, though he could be rude to students during lectures. He often was too quiet to hear him clearly, even from the middle of the room. II felt that he felt that he is much better than the students he teaches and doesn't respect them very much. He's also strict on details on our written programming tests, which is weird.
Compared to 1410 which I also took w/ him, 3505 was a lot more hands-off. I wish that he would have provided better instructions on setting up some of the technologies we used in class, other than that pretty good. HW load is more the course content than the professor. Very genial with students and has a good sense of humor. Would take again.
This is my second semester taking a class with Prof. Johnson. I have to say he has really grown on me! You can tell he's super passionate about CS and puts a lot of thought into his lectures. They're also really closely related to the homework so go to class!! Homework assignments are hard and long, but help is always available basically 24/7.
He's grown on me a bit after having more classes with him. His class is very accessible online, meaning, while you still need to stay caught up, you won't fall behind just for missing a few lectures if you use the online materials. His TAs gave good help and good feedback on our graded assignments. He gave lots of materials to use to be successful.
Johnson is one of my favorite CS professors at the U. I feel like I always learn a ton but his classes are never too difficult. Most of the grade for this class comes from your projects (as I it should). The only thing that was overly frustrating this semester was getting docker setup to program c++ but overall 10/10
Great professor! I loved attending his class and I learned a lot about Java!
I had a way better experience in this course then I did in the previous intro course using python. I found the projects to be far more fun, and the java language and concepts to be far more complex, and fascinating. David did a great job of presenting these hard concepts in a fairly simple manner.
Assignment level doesn't match information provided in class. I was only able to do hw in this class with prior programming knowledge. This prof. seems to have a time management problem (takes up to thirty minutes to start lessons). For a class which requires 8 + hrs of practice he should suggest specific skills / resources to practice from.
Disparity between assignments and what is taught in class. He needs to suggest more resources we can learn and practice from. His assignment instructions can be quite convoluted and long-winded when they could just be a sentence or more.
Johnson will be easier than Jensen for 3505. He's very accommodating to students (extending deadlines when students were struggling and gave a lightweight hw the week before fall break). There's a midterm but no final exam. Instead, there's a final project which he graded relatively lenient.
Cool dude. His HWs are time-consuming so I rely on CADE labs and sometimes piazza. The TAs carried this class for me. As for David, he clearly knows his stuff. He did great on zoom and always checked the chat for questions which is a major plus for me (hardly any other profs do this). Overall, great class, and I learned a lot as a beginner.
lame, just an intro to c++ class. Would rather take a different elective. I could learn about makefiles and pointers through youtube, better yet the intro classes could be done in c like other universities & not waste a degree requirement like this.
He was not the best into cs Prof. The big weekly assignments were often long and could take up to a couple hours and did not match teachings in class . Emails were often condescending. only reason I did well was I knew python already. Unfortunately the only 1400 prof.
Prof Johnson is a solid teacher. He explains everything well and his lectures are entertaining / informative. However, c++ can be pretty boring espically makefiles. Group / Partner assignments are super important in the clas so choose good people or else your life sucks. The mid-term really sucked in this class so be prepared for that. Simple class
He is an ok professor, the lectures are in a fast pace. The class was very big so he could not care much. To me, the TAs are the ones that carried this class. Overall, a tough class if you are not know Python in advance
I took 1400 with zero prior python knowledge and got by just fine. You will absolutely need to put effort into this class if you want to succeed, homework assignments can take forever. TA's carry the class sometimes. All three exams were decently challenging. All of this results in a class that teaches you a lot of good programming knowledge.
Very nice professor, however at times was very condescending, at the end of class in his goodbye message he straight up said some of the class shouldn't pursue CS because they are a drain on others, this rubbed off wrong on everyone i talked to who read the message, very mean last message imo
I liked professor Johnson. He didn't make lectures hard to understand, and did the lecture on zoom if you couldn't make it in person ocassionally. Some of the TA's were hard to work with at the beginning. But overall I would recommend his class.
The lectures were pretty entertaining. Professor Johnson's jokes were extremely geeky but they were funny. The assignments were fun to code.
Take cs 1400 with him. He is good, trust me.
David is a goofy professor who clearly knows his stuff. I went into this class with zero Python knowledge, took the time to spend 3-8 hours on each assignment, and got the grade. He always responds pretty quickly on Piazza, which helped me a ton. Put the work in and you will be fine.
Relates material in a way that makes the learning process easy and fun. Enjoyable lectures + well-structured and clear assignments. He's also a great guy if you ever get the chance to talk to him. Johnson is awesome, especially for getting an introduction to Computer Science and Object-Oriented Programming. The best the CS department has to offer.
He is very entertaining and engaging in his lectures. Doesn't just assign busy work. First few assignments are on your own, then a few paired programming, then two big group projects. Only a midterm exam, the final exam is just a presentation. Good course pacing and manageable workloads.
Professor Johnson is nice enough, but he's a bit... vague. Lots of assignments had a lot of "figure it out" elements, including sometimes how to set up new software that we were completely new to. It also took FOREVER for assignments to be graded, sometimes upwards of a month. He's funny, and friendly, but I'm not wild about how he runs his class.
I honestly wish I had just learned Python on my own. I feel like Johnson goes out of his way to make this class as challenging as possible. His practice tests don't prepare you for actual tests; his test questions are overly complicated and make no sense in actual programming; he takes forever to grade anything; and his due dates make no sense.
Professor Johnson is a great person and very accommodating, but the structure of the class was poor. There were a lot of people in the class and there wasn't a lot of engagement, though the labs with smaller groups of people helped. The assignments and exams were quite difficult, but are able to show you the real world of computing.
I had David Johnson for 1400 and 1410 a while ago when I was a freshman in 2021. I now have him for 3505 and I completely took how amazing he is for granted in those early classes. After, I had Kopta then Germain, and man did I MISS Professor Johnson. Now that I have him again in 3505 I am so so happy. He's amazing, PAY ATTENTION for later classes.
One of the best prof at U. I learnt in his class without too much stress like other classes. Very funny and nice person. He replied piazza like he lived there, work ethics +++
weekly assignments; lab is helpful; piazza is helpful. I went into this class with little to no knowledge about Python and I got an A. You just have to put in the work. Lectures are recorded and on canvas.
Johnson is one of the best professors you can get for the core CS courses. He dedicates so much time and effort to supporting his students and unlike for 3500, this course was very clear and straightforward to learn with. I wish the course structure was slightly different, but he still teaches it very effectively.
He was honestly really helpful and easy to contact if you had any problems. He was also super chill about turning stuff in and genuinely wanted you to learn
HATE HIM. Don't listen to the people that give him 5 stars, they probably already have a background in code. Even if you have a code that works he will search for any reason to not give an A. Lectures don't make sense and assignments take too much time. TA'S CARRY.
I took this class as a person who has never really coded in my life. This is labeled Intro to Programming course and yet, it could not have been harder. The professor is very bad at explaining lectures. The grading is very harsh, deducting points off assignments that are not specified in the instructions..
Decent professor and fairly funny. When grading, he gives more feedback on code style and readability than other professors, which is good for learning. The one issue is he / his TAs often take more than a month to grade assignments.
Be prepared to read the canvas assignment five times before even understanding what you are supposed to do
While Johnson himself is a very sweet and understanding professor, some of the TA's in this class were too strict with grading and would take points off for no reason. The assignments were hard, because while Johnson would teach the base of concepts, the assignments were often very hard, I wish there were more resources he gave us to practice more.
VERY difficult class and I had no CS background, but succeeding was VERY doable. So many resources to help you (TA hours nearly all day every day, code feedback on Gradescope, extra cred on every assignment) but no one seems to use them. Bottom line, don't take this class for an easy A, but if you actually care to put in effort, you'll learn a lot.
never coded before this, assignment were confusing to me and I didn't skip a single lecture. The assignment canvas pages were super long and a little hard to grasp. lock in.
CS 1400: Amazing teacher, explains concepts clearly, helped me with technical issues, very understanding and kind. I may be biased because I do have previous experience, if you also have experience this is your sign to do 1420, I def wish I did. If you don't have prev experience I recommend you use your resources, there's lots of ways to get help.
DJ is the GOAT!!! He records all of his lectures and is very clear about his expectations for the class. I am usually one to watch lecture recordings from home, but I looked forward to attending Professor Johnson's lectures in person every week. He is also very patient and approachable outside of class. Easily my favorite professor at the U.
I loved taking CS 1400 with Professor Johnson. It is a great class if you want to see if Computer Science is right for you!
Professor David Johnson dismisses valid questions instead of engaging thoughtfully. He ignores industry standards, repeats the same reasoning without clarification, and rejects discussion of modern practices. While the course is well-structured, his lack of engagement weakens learning. Not recommended if you value critical thinking.
Professor Johnson sets students up for failure with trick questions on exams covering material never taught in class. He is a harsh grader, deducts points excessively, and offers no helpful feedback. Exams feel designed to trap students rather than test knowledge. Avoid if you want fair grading and reasonable expectations.
Professor Johnson is *the* reason I am graduating from the C.S. Program. His class was accessible to me as a non traditional student, he was accommodating of my disability in class and completely understand of extenuating life circumstances. I have *never* had a professor go to such lengths to ensure my success. All I had to do was reach out.
He engages the class, is funny and actually cares. I really dislike CS, but he made me look foreward to lecture. A slay and a half, defo would take again.
Got stuck with worst group ever, went to him early with my concerns but didnt help at all. Purposley makes tests tricky, test averages were pretty low this semester
Class Info
Online Classes
100%
Attendance Mandatory
26%
Textbook Required
11%
Grade Predictor
Your expected effort level
Predicted Grade
A-
Grade Distribution
Common Tags
Rating Trend
Declining
-0.24 avg changeRatings by Course
CS3505
4.3
(21)CS1410
4.2
(25)CS1010
4.0
(1)CS1030
3.8
(5)3505
3.6
(5)Difficulty by Course
COMP1010
5.0
CS3550
4.3
CS1020
4.0
CS6962
4.0
COMP1020
3.7