Your feedback has been sent to our team.
60 Ratings
Hours/Week
No grades found
— Students
I had Ibrahim as my professor but he doesn't have his own page so I'm writing here as both Sheriff and Ibrahim teach the same course. This class is an easy A class as long as you do your work. There are weekly programs to complete which are easy grades, especially if you go to office hours, 2 tests and a cumulative final. The tests and finals were easy and was made up of multiple choice questions, short coding questions, and one long coding question which can be tricky. If possible, I would definitely recommend taking this class with Ibrahim. He is a well organized professor who always posts his lecture slides online. He is also an incredibly kind professor, he was always super helpful during office hours and made a point to remember my name by the end of the semester. My friends who had Sheriff enjoyed him also as a professor but found that his lectures were too disorganized and Sheriff can also come off as rash and impatient. Overall I would recommend this class to everybody, even if you're not interested in majoring in CS and are just interested in learning more about coding.
I had Ibrahim, but i'm writing on here because he doesn't have an option and the class is the same as sheriff (with exception of teaching style). Ibrahim was a good guy and would definitely take the time to help you if you needed it. I really liked the class overall. Let me break it down for you. 10% of the class is lab, which is annoying to go to but is just attendance based so it is a free 10%. Next you have the POTDs, 16 in total for 40%. It is crucial that you start these early! The system takes 2 hours to tell you what you got on the assignment, so you NEED to give yourself a cushion to be able to fix things. One night i had to wake up every 2 hours and continue fixing it after each attempt and i would not recommend it. However, I ended up getting a 100% in POTD and really anyone can as long as you are proactive. Next is the game project, which is 5% and another easy 100% if you fulfill the requirements on the instructions and is also pretty cool. Lastly, the 3 tests are 15% each and are the part that lowers grades. They are not insanely hard or anything, but lack of time was constantly an issue for me on the first 2, but with 3 hours for the final i finally didn't feel rushed (ended up doing really well on the final even though at first glance i thought all the questions were ridiculously hard). Overall, ended with an A and would recommend the class. CS kind of just clicks or it doesn't at all, so for me an A- was easy, A was a little more difficult. Everyone should be able to get a B+ in this class if you try.
I took CS1110 with Professor Ibrahim, and loved the course! I thought he was an excellent lecturer. He's organized, answers students questions thoughtfully, and clearly knows the material very well. The tests are fairly easy. There's one "big" coding problem at the end of each test, which I would give yourself at least 20 mins to solve.
The two professors that I know (Sherriff & Ibrahim) have different teaching styles. Ibrahim is very organized, follows a powerpoint (which he posts on Collab), and covers only the material that students will be tested on. He makes sure to emphasize the material we should have a solid understanding of, but doesn't venture far beyond the basics of what you need to know. Sherriff, on the other hand, is more disorganized. He speaks fast, and quickly whizzes through things that will be tested on. He expects you to understand the material the first time around, while Ibrahim goes a little slower. Sherriff also goes a lot more in-depth, and covered a lot of things that were never actually tested. He doesn't upload any slides, but he does upload the lecture audio onto Collab. They have different teaching styles, so I would definitely recommend testing both out to see which professor's teaching works best with how you learn. Personally, I enjoyed Ibrahim's pace and the amount of time he spent ensuring that the class understood difficult concepts.
This was by far one of my favorite classes this semester. CS1110 encourages problem solving and critical thinking, and it's a great course to learn the basics of programming. It's taught in Python, which is considerably easier than most other languages. You don't need any experience to take the course. Some students (such as myself) had been exposed to Java in high school, which was a little helpful, but most students didn't have any prior knowledge of programming languages.
The homework was easy in the beginning, and didn't take more than 30 mins to solve. However, as the semester progresses, the length of time devoted to solving the problems increases as well. There are Projects of the Day (POTDs) that are due every other day, so I would definitely recommend solving them as early as you can. These POTDs are worth 40% of your grade, and each test is worth 15% (there are 3 tests, including the final). I would most definitely recommend TA Office Hours!!! Attending office hours saved my grade on more than one occasion, so I would heavily encourage anyone who's signed up for this class to take advantage of this time. Be warned though - I would often have to wait 2-3 hours just to receive 10 mins of help. So definitely bring along some work to do while you're waiting for help.
Overall, this was an excellent course! I loved the class and the material, and decided to major in CS because of how organized this course was. I definitely think that this is a course everyone must take before graduating from UVA, just because of how much fun it is. As long as you stay on top of your work, you won't regret it!
Ok, just finished it up. I think its B/B+ class if you don't try to hard. if you try a little more its an easy A/A-. The class is in python which is like pretty simple. if you know some java or took a CS class in high School you should get an A. The potd's will kill you later if you get lost and they are worth a lot of points. They start out easy but get harder and harder. so ask TA's or use office hours if you have issues. try to get a 100 on the potd's so you can have a grade buffer. the 2 tests were good but you only have 50 mins, so it was a time crunch. the final was fair ( I got a 93 with mild studying). I had a some experience before hand so i thought the class was easy and got an A. but if you ever get lost, you should probably ask someone for help because plenty of people just BS the entire coding parts of the test and didn't learn anything. CS is a cumulative type of subject, if you get lost or don't know stuff about one thing, you will fail in understanding other things latter on.
I never went to his office hours but i did ask the TA's a few questions. The TA's are a hit or miss. Some of them will actually help you and you can learn a lot. Some of them are a mixed bag. ...
Also, the textbook is not really worth it, never bought it. Some of my friends did and it was kinda a waste since you don't even have the answer key.
Sheriff is a funny teacher and classes are "entertaining" ...
good luck.
Changing the Programming Language from Java to Python is the best decision that the CS department has made in my opinion. I have taken intro to programming in high school in Java and could not grasp the material. However, when Sherriff taught it in Python, I understood all the concepts (loops, conditionals, etc) very well and he made me to become a CS major. Looking back, I don't know whether my high school teacher was just terrible or if Java OOP concepts were hard to grasp. But Python being a very simple language helped me to learn CS concepts. After mastering CS 1110 concepts in Python, you will be well ready for 2110 in Java, although there are some difference in terms of syntax and etc. In terms of the professor, Sherriff is the man! I loved taking it with Sherriff. He is funny in lecture and keeps the class engaged. In person, he can be a little bit cocky, condescending, and rude. He admits that he is aware of these characteristics since he reads these reviews by looking at the comments on thecourseforum or ratemypofessor. But, this should not be the reason to stay away from Sherriff. I have taken 3 CS courses so far, and he has been my favorite CS professor since he is very clear and his expectations are very fair. Learn how to code by attending lecture and buy the textbook. It is a good reference for the POTDs and exams.
I highly recommend this class if you are interested in coding and have never done so. It is not the easiest course if you have never coded before but entirely do-able. If you stay ahead of the POTDs (which is a weekly homework assignment) and go to TA office hours which are held Sunday-Thursday, you can get everything done. Sherriff himself is a very funny and approachable professor who wants to help you. If you show him respect, he will respect you. Coding can be frustrating but this class is essential and even enjoyable if you want to explore computer science.
This is a great introductory class. Professor Sherriff is one of the BEST professors in the CS department and honestly cares for his students. If you come up to him after class saying you are still confused, he will help you! He is a funny guy, so smile and laugh at his jokes! And show him some respect, he values that! The class itself has a lab component, which makes everyone upset, but attending lab is both EASY points but also really beneficial for honing skills, especially if you have never coded before. I took two years of CS in high school, and so I found the class very easy, even though it was in Python and not JAVA, but many of my friends who had never coded before didn't struggle too much with the class. OFFICE HOURS ARE GOLDEN! Go go go go and the TAs will help you with the homework. Only 15 homework assignments the entire year, so get started as soon as you can so you can go to office hours. Can't recommend this class enough!
If you have ANY knowledge of programming, this class will be a walk in the park. My only CS experience was a Codecademy javascript course before taking this class, but it helped out so much in the first half of the course. My best advise would be to start the POTD homework a few days in advance; chances are you'll get stuck on some part so you'll have plenty of time to go to office hours to sort it out. These assignments are 32% of your grade, which you can easily get 100% on if you give yourself a few days to solve the problems....Combined with the lab grade(13% of your grade for showing up) and the game project(an easy 100, which counts for 10% of your grade), you're looking at half of your overall grade already being perfect. I needed a D on my final to get an A in the class because of this, so if you have any backround in CS already, do yourself a favor and take 1110 so you don't waste your time taking a lab.
I am very happy I took this class, and have even considered CS because of it. Sheriff is really funny and his lectures fly by.
All told, I have a couple of major problems with the class.
It is kind of biased towards kids with coding experience. Sherriff often just glosses over concepts and expects you to know them after barely using them at all. This leads to the second problem. The POTD's are pretty much what steers your grade. This is why a lot of kids do well because if they have experience they can just crank them out each week and get easy points. For me as a beginner, this was not the case. I spent hours upon hours in the TA office hours trying to get help on POTD's, and even after they helped me I had to wait 2 hours for the grading system to give me feedback on my programs. They start out easy and get hard pretty quick. Overall I found it to be not that hard, but the workload of a 4 credit class, which was so annoying when I had other work to do. This work was also extremely inconvenient as the grading system took a while to upload feedback.
Still. Great Class in which I feel I have learned a lot.
Sherriff is a very good professor, but not a great one. Sherriff is good because he breaks down material very easily and conveys new concepts with ease (go to lecture!). Sherriff is not great because sometimes he can be abrasive and, frankly rude. That said, I would still recommend this class to anyone looking for an introduction to programming and problem solving. Sherriff had a lab for this course that met once a week. Weekly work consisted of lab work and homework: POTDs (program of the days which were actually done about once a week). The grading system for these programs is online and very helpful because you can submit assignments early and get feedback from the grading system which tests your program.
It is important to go to every lecture and pay close attention to everything that is done with the code in class because it could be beneficial to know on your POTDs (homework), labs, and/or tests. POTDs become harder and harder as the class goes on but if you go into office hours and start your POTDs early you should be fine. Tests are manageable as long as you have practice and best way to practice is to do the POTDs and understand how the concepts that are gone over in class works.
This is my favorite class I have taken at UVa so far. Professor Sheriff is good at explaining the concepts and he's very entertaining. Like others have said, it is really not mandatory to attend every lecture. The homework can be time consuming, but some of the problems were actually kind of fun. The only bad thing about the tests is the time limit. The final, however, provided much more time for its completion and, thus, was not too difficult.
Sherriff is really funny and a cool guy; This class is super easy and Sherriff does a good job of trying to make sure you learn programming basics that you can apply to real life. The exams are of average difficulty (the averages are usually around a B) but they only count for 15% of your grade each. The 15 programs of the day (POTDs) are a big chunk of your grade, but if you work ahead and do a bunch of them in advance it's a lot easier and you don't have to stress out the night before they're due. I hated CS when I took it in high school but this class made me want to do a CS major. Highly recommend.
This is definitely one of my favorite classes this semester. As a math major, I was required to take it but I really enjoyed it and will consider taking more CS classes. Professor Sherriff is very excited about what he teaches and wants you to get excited about programming. This class is not difficult to do well in if you put in a considerable amount of time. Don't be fooled by the grading distribution and think it's an easy A. To get an A, you really have to spend time on your homework and actually do it correctly and allocate your time efficiently during tests because you will likely run out of time. You can do fine without going to lectures but it helps a lot to practice along. If you do go to every lecture, you barely have to do outside work other than working on your POTDs (homework). Overall, I recommend this course to anyone who wants to know the basics of programming or just looking for a worthwhile class.
Sherriff is an amazing lecturer. He is very enthusiastic during lecture and always makes sure that people understand before moving on. The homework (POTDS) isn't terribly hard; the first couple ones will take you less than 30 minutes (with moderate typing speed) if you understand the very very basics. Around POTD 10 (there were 15 in total), the homework starts getting kind of hard and will take you over an hour to complete. However, the TA office hours are plentiful (4:30 - 9 M - Thursday + Sunday) and they are very helpful. Lab is heavily dependent on attendance and just trying your best. If you show up and try to do as much as you can, you'll get 100 for lab. The exams are fair; if he says something isn't going to be on the exam, it won't be on the exam.
There were some kinks in the course this semester because it was the first time the course was being taught in Python (it Java before) but those kinks were very minor.
It was a great course and I recommend it for everyone, even if you're not planning to major in CS.
Nevertheless, you have to put effort into the course and definitely start on the POTDS and projects EARLY because you might run into a problem and won't be able to do anything. The project take up a lot of time so make sure to start on those early enough (right when they are assigned).
Sherriff is a great professor and lecturer. He does a really good job of explaining concepts and is engaging during lecture. It isn't absolutely necessary to go to lecture, but for someone who has never coded before, I found it extremely helpful to code along with him during class. This class does take up a lot of time trying to finish the homework (POTDs) and going to office hours, so allot enough time for that if you want a good grade. Exams weren't terrible, but again, you will need to put in the time and effort to study and read the textbook, especially if you haven't coded before. Overall, I enjoyed this class and even considered pursuing CS after taking it.
Great lecturer. He's pretty funny too. This class caters to students who have no experience with coding (like me). The POTDs can get really tricky and time consuming after the first several. Also the tests are difficult because you only have 50 minutes and a good bit of code to do by hand. This class is probably easier now because it is no longer taught in Java, but Python.
Sherriff did a very good job overall in overseeing probably the most well-run course I've taken while at UVa.
Attending class isn't wholly necessary (he even podcasts his lectures and posts code from them) but I found it very helpful to take the time to be there and practice along in person.
Homework ranges from very easy to relatively strenuous - get ahead on programs of the day and see TAs (top to bottom an outstanding and enthusiastic group of students) whenever help is needed. Submit them to the system early and check back to see if any adjustments are needed, and repeat. Same thing goes for the projects, which are all doable but require effort and communication between oneself and their partner. It is very doable to get a 100% on the homework and extremely doable to get above a 100% on all the projects - complete the tasks and be sure to use the lab time given wisely.
Labs are not bad - attend them, do your best, and likely you will get another 100% on the lab portion of your grade.
The first two exams were good in that they were largely what was to be expected - the posted reviews matched up with the material and if one is feeling confident about their understanding of the material and the process of coding excess studying is not necessary. The main difficulty inherent within them is that they are usually quite a lot to try to fit within 50 minutes.
The final exam this semester was disappointing. What had been billed as a walk in the park by both students from last semester and the professor himself was not so. Instead of being a few long coding questions (essentially simplified homework problems), the new final exam was (due I believe to grading time constraints) one coding question and 40 of some of the most inane, confusing, and unpractical multiple choice questions I had encountered. Totally unlike essentially anything that had been discussed with any depth during lecture and problems that someone would never realistically run into while doing basic coding. The professors and TAs essentially issued a mea culpa following said exam and curved it (a practice usually not done). I would not expect a similar model to be used ever again in the future, but it is something to be aware of.
Overall, a good time with Sherriff and a helpful and worthwhile class for just about anybody to take.
After getting an uncurved 68 on the final, I thought I'd speak up... This class is a ridiculous amount of work for those who don't have coding experience. I spent at least 6 hours in office hours probably every week after the homework started to get hard. I would certainly suggest taking 1112 if you are interested in trying programming and don't have experience. I'm enraged by the score I got on the final compared with the level of work I put into the class. Sherriff is funny during lectures but extremely condescending when you ask him questions.
THIS CLASS IS FOR THOSE WITH PRIOR CODING EXPERIENCE! Be warned, I was misled by the low course number going into this class with zero experience and found myself way in over my head after a few weeks. If you do NOT have prior coding experience, seriously consider taking 1112. Coming in with no experience, I found the first third of the semester absolutely fascinating. Sherriff is a pretty cool guy, in lecture at least, and makes CS feel fun. The homework assignments started off deceptively easy, taking maybe 20 minutes to complete one, first test was really doable, and then the difficulty picked up out of nowhere. After that first test, homework assignments (programs) started taking several hours (sometimes 8-10) to complete. You'll find yourself in office hours for 3-4 hours waiting for a TA to tell you what the hell you're supposed to be doing. Second test was equally as brutal. Final was ridiculous. Don't be fooled by how easy the class seems to start out. It will ramp up, fast.
If you are in the college and are just trying to get a quick look at how CS works and you don't really want to pursue it, I would advise against taking the class. It's a lot of work, as the POTDs towards the end of the year take at least a few hours each and there are three a week. The tests are pretty tough because he gives you no time to do them, and the average was about a C+ for both exams, which is pretty low considering like half the class already knew all this material before coming to UVA. It's definitely interesting, but don't come in thinking it'll be a GPA booster based of this grade distribution.
This class is total bull shit. Do not take whatever you do. Sheriff has a huge stick up his ass, and he is a terrible teacher. If you do not have prior coding experience, you will be totally lost and have no idea what is going on. You have a program due every class day, and these programs on average take at least two hours, and even then, you are not guaranteed to know how to do it. Tests are not too hard in terms of material, but he gives you literally no time to finish it, so it's impossible to do well. Do not take without prior experience.
I am in the college and took this class and would definitely recommend that anyone thinking about a ba in cs should take it! Though the programs can at times be difficult and confusing to write it is always extremely satisfying to turn a program that works and get a good grade on it! The class is not difficult to get an A in, just keep up with the homework and as long as you can do that you will have no problems on the tests!
Professor Sherriff is a great lecturer and really knows the material. The class is fun and enjoyable if you've had no experience. It starts to pick up a little after the first midterm so just be careful about that. The homeworks and projects were never bad and the TA's are always pretty helpful. Would definitely recommend it to anyone.
CS 1110 with Sherriff was definitely the best class I've taken since I've come to UVA. Sherriff has a knack for explaining very technical concepts in a easy to understand way and is also very very funny. While I've heard he can get a little short in office hours, he does warn you early on that office hours (including TAs) are meant for specific questions and not general code review. Overall, I found from personal experience that not going to office hours, but debugging and figuring out problems on my own was incredibly useful and made me feel not only more fluent in Java, but better as a programmer (made assignments and studying for tests less hard).
This class I feel is phenomenally run considering that there were close to 400 students in it. All expectations are very clear, assignments were adequately described, and tests did not deviate a lot from the material Sherriff said would be on the test. I highly recommend going to and paying attention in class. Not only is Sherriff a great teacher, but he often poses practice coding questions in class that we work on. He gives great insight into the best ways to solve those problems, which is at the end of the day is what the main challenge of computer science is. The TA's are very helpful and the projects all push students to learn the material even better. I also recommend staying on top of the material from the get-go. Make sure everything at the beginning makes completely sense, because everything really does build on each other. If you have a weak foundation, all the concepts at the end of the class are not going to make sense. Grading is extremely fair and the process for getting tests back and getting points back on tests is extremely efficient and thorough.
Pretty good class- take it if you have any interest in CS at all. Sherriff is a good professor in class, but the stereotype holds true that he can be kind of brunt and impolite during his office hours. Nevertheless, the class (at least Fall 2014) consisted of 15 homework assignments, 2 partner projects, 2 midterms, and a final. Nothing was overtly difficulted. Ended up with an A even though I did not put in too much effort at all.
It seems like whether you will enjoy this class is dependent on how interested you are in the field in general, so I would definitely recommend this class if you are interested in the topic. Whether or not you like Sherriff also seems to be dependent on how interested in comp sci: CS students love him and other people seem not to. He can be pretty quirky at times and I felt he was a pretty good lecturer. Overall though, it's an easy and fun class.
CS 1110 can be a difficult course if you don't stay on point. Assignments start off relatively easy. Get in the habit of starting them early because they will get harder. Though it's never too overwhelming, and there are always TAs to help.
Prof. Sherriff was exceptional, and it's a shame he's no longer teaching the intro course, but Tychonievich is also intelligible and fun.
Overall, I recommend this course. Not too difficult if the right effort is put forth, but still a challenge.
Super fun class, NOT fun when there is one hour left to turn in your homework and your program has a little bug. I'm not in E-school and I didn't find this class very hard. Do well on homeworks, because they are a HUGE chunk of the grade. Also, don't forget the weekly collab quizzes. I found Sherrif to be very funny and quirky in class, but rather condescending and just bleh outside of class. The TAs...some are terrific, some are useless.
Advice for all: don't bother with the book. I never bought it, and never felt the need for it.
Being a non-engineer, this course sucked. The amount of time it took to get decent grades really wasn't worth it considering I have no interest in continuing with a CS education. The material was pretty cool, but the way that material was tested sucked. You end up spending a majority of your Mon-Wed afternoons in the TA Office Hours scrambling to finish weekly homework assignments. Exams were OK if you know your stuff, but if coding doesn't come naturally to you it pretty much blows. The way the grading works, everyone does better than they expect to at the start of the course. Sherriff is a pretty corny guy. He lecture well, and wants everyone to understand the material. If you are an upperclassman taking this class, you realize that its packed with a bunch of first year engineers who got a 5 on their AP exams. So be prepared to feel incompetent.
Mark Sherriff is a great professor. He's entertaining and introduces programming in a way that makes it fun and makes everyone want to be a CS major. I seriously recommend this class to everyone, regardless of your major. Knowing how to write basic programs in Java is a useful skill for anyone to have.
Pretty awesome and worthwhile class. Fair and good professor. Does not try to trick you in any way. The later homeworks take a while to do and are somewhat difficult, but just go to office hours for either him or the TAs and you should be fine. You can tell that he wants us all to succeed in computer science.
Professor Sherriff is very passionate about computer science and it shows through his teaching. He genuinely wants to inspire others about CS and make the experience worth while. He doesn't hesitate to help you if you're struggling and tries to explain things in the easiest way possible. Good class to take for non-CS majors interested in the subject.
Sherriff is awesome. He is constantly cracking jokes, so lectures are always entertaining. Some homework assignments are harder than others, but go to the TAs' office hours. The ones who have helped me are amazing and will even help you write parts of the code. My friends have had varied success with other TAs, though, so just keep going to different office hours until you find a TA you like.
Get us started by writing a question!
It looks like you've already submitted a answer for this question! If you'd like, you may edit your original response.
No course sections viewed yet.