Your feedback has been sent to our team.
30 Ratings
Hours/Week
No grades found
— Students
Sections 2
- COURSE -
To a lot of students, CS 3240 ends up being their favorite CS class taken at the university. However, that really depends on how passionate you are about CS going into the course. The class is essentially is a guided experience of what it's like to work on a scrum team, designing a piece of software over the course of a semester. It's almost like an internship you do for a grade instead of money or job experience. In my experience, I didn't hate the course, but I wasn't really a huge fan of it either. I think it's almost a bit too free-reign, and the semester-long project's milestones only cover a certain amount of what you're doing, which you're expecting to go above and beyond for. There are TAs assigned to each group, but the extent of how helpful they are really depends on the TA. Basically everything in this class is just going to depend on how good the people surrounding you are. There are 3 exams, which aren't too hard but whose grading can be really confusing. They unfortunately tend to revolve a lot around rote memorization, which I really disliked.
- INSTRUCTOR -
Sherriff is honestly a great professor. He's funny, his lectures are entertaining, and he's very knowledgeable about the subject field. He also tends to end lectures early, so there's no pointless downtime meant to use up all of the 75-minute lecture.
If you're genuinely interested in pursuing a career in CS, this class is basically essential. It's going to let you get a taste of the experience of working on a software development team. However, the group you get assigned to will basically dictate your entire experience in this class.
#tCFS24
Sherriff is super engaging during lecture and jokes around often. As a predecessor to CS 3140 (SDE), it was way easier and less technically intensive. The quizzes/tests are more so centered around software engineering tools and the field itself rather than the nitty gritty technicalities of programming. The only thing that is more difficult about this class is the project you work on with a randomly assigned group where you learn new tools without much guidance. Depending on your group, the project can be harder for you than another one of your classmates which is unfortunate, but for the most part, groups seem to usually work out. #tCFS24
In this class, we worked with a random group of 5 the whole semester to build a web app. I felt like the work was slow paced, and that I probably would've learned more if the groups were smaller, but the workload was really manageable. I loved Professor Sherriff, and he made the material much more interesting. You don't need to do any pre-readings for lectures, so outside work is just coding the project and team meetings. #tCFS24
I loved this class. It was really refreshing taking a chill class thats just about concepts and how to work well on a SWE team. This was super refreshing and made me realize why I enjoyed CS and my perception of that was probably dismantled due to DSA and CSO...but theres just one major project that you develop throughout the semester and its hard to not do well In the class #tCFS24
This class is utterly useless. Professor Sheriff tries to make it interesting, but the subject matter really is quite dry. The project is what made me hate this class the most; it is drawn out over the entire semester with 6 sprint checks and these half-baked nonsense reports made to fit each of your team member's contrived roles on the team. The grading is overly harsh and this class takes itself WAY too seriously. The "positive reinforcement" grading was likely something cooked up in a sterile educational research setting and if anything it stresses you out more since this is the only CS class I know of that cuts off A's at a 95%. Don't take this class if you're a BACS major.
I think a lot of your experience with this class really depends on your group for the project. The semester long project makes up the majority of your grade, so it's important to address any issues with your group at the beginning of the semester. The Django tutorial in the first month of the semester is not hard at all, you just have to start more than 2 days before it's due. As long as your group works together well and turns in something that is functional, you will probably get an A in this class. The quizzes aren't hard at all, and the retake at the end is helpful for making up missed points. Overall, I think I actually learned a lot about scrum development from this class and would recommend to people looking to work in SWE. #tCFF23
I had to take this class for engineering but I would definitely recommend it to any CS BAs. It's not hard at all and the project is actually really enjoyable. It's great to look back on what you have accomplished over the semester. The exams are also not hard as long as you pay attention to his lectures. #tCFF23
Overall, a valuable experience and the course is well structured. Grading is on an XP scale where points on quizzes, sprint checks, etc. add up to your total grade (950/1000 is an A). I'd say it's pretty normal to get an A, as long as you make timely progress on your application and get decent grades on the quizzes (the content isn't difficult--there were three quizzes that tested your knowledge of lecture content and an opportunity to retake at the end of the semester). Prof. Sherriff is very transparent about the schedule and anything related to grading as well. However, your group, which is randomly assigned, makes or breaks your experience for sure. Plenty of groups have the dynamic where everyone contributes, or at least tries to, which makes team evaluations pretty simple and the app gets done. I had the opposite experience where all of my teammates did nothing (no contribution to the app/no communication). I would say that the course syllabus safeguards against this though since it's made pretty clear that people can fail the course for not contributing to the project's codebase, it was more a rare and unfortunate experience. Other than communicating issues early to course staff and attempting to address the problem within the group as soon as possible there's not much you can do. Based on your group and your prior experience, your workload can vary from 2-10 hours a sprint. Overall, I found it a pretty reasonable course, learned a moderate amount about Django / principles of software development in the real world. #tCFF23
Mark Sheriff is awesome, and this was my favorite CS course in UVA so far. I understand when people say the material can be dry, but I honestly learned a lot about the CS industry, and the way this course is structured was my favorite in any CS course. You don't have much work other than working on your group project throughout the entire semester, and you have weekly quizzes and guided practices that can be easily done through the lectures. The hardest assignment was the Django practice, and PLEASE make sure to do this early! Unless you've used Django before, it's gonna be super hard to do the day before. It is given weeks ahead for a reason. Also, make sure that if you have a bad group member to bring it up to your TA or the professor very early. It will hurt you if they cruise and you don't say anything. I had a bad member and didn't bring it up until last minute so there wasn't much they could do. But don't try to do this project last minute. There are weekly sprints so you will need to show progress. Lastly, about Sherriff, he is great at teaching, but my only gripe against him was that he is kind of a savage lol. Sometimes he would kind of answer my questions in a kind of rude way. I don't think he was trying to be mean and I don't hold it against him.
This is an extremely easy class. Hw is an open note quiz each week. Final can only improve your grade. Semester long project isn’t too bad as long as you have a couple competent coders in your group which the assignment for tends to be fairly balanced in terms of skill distribution. Lastly both professors are chill and genuinely cool people who love video games. If you can take Sheriff tho cause McBurney is slightly harsher on grading (not a huge difference).
Mark Sherriff is one of the nicest professors at UVA as he is charismatic and wants to teach everyone about the material. He has a good personality and generally was a very reasonable person during the online semester. This class is extremely dependent on who you get for your group as the grades mainly consist of sprint checks. If you have a solid group then you should be completely fine workload time-wise. However, if there are a couple of ghosts or bad teammates be prepared to carry. Django itself has a high learning curve but once you finish the tutorial it gets easier towards the end of the semester. The quizzes and written assessments can be a bit unevenly graded sometimes as I'm pretty sure it's graded by a teaching assistant so grades are going to differ. I will say this class is the most useful when it comes to getting hands-on experience for what it's like to work in software development.
This class is a great class to learn about the software development process. The lectures can be a bit dry simply due to the nature of what is being taught, but Sherriff and McBurney do a great job at engaging the students & helping them understand what is being taught. The bulk of the work for this class is a group project, which is very much applicable to the workplace as you are creating an application from scratch. You have weekly meetings with a TA to ensure you and your group are on track to completing the project. There are also quizzes throughout the semester which are pretty straightforward but tedious. This was a great class! #tCFSpring2021
This is one of the more group heavy CS classes offered but I enjoyed taking the class and was lucky enough to have a good group. I know those who had bad groups where members didn’t try as much so their experience wasn’t as great. Most of the semester long project is you looking up how to work with the Django framework but I felt like because I was looking stuff up on my own, I actually felt like I learned a good amount. There were almost weekly scrum meetings with a TA to check in the progress of your group project. Each member in the group was assigned a role such as Scrum Master or Requirements Manager etc. and each role had a document that needed to be completed by the student which counted as a grade. Besides the semester group project, there are guided practices (often done in groups of pairs) and quizzes but I didn’t find these too difficult since they were often based on concepts taught about in lecture. Professor McBurney and Sheriff co-taught the class this semester and I really enjoyed their live lectures. Both professors made an effort to make the live lectures entertaining by playing video game music in the background and by talking about games. The class discord was enjoyable and helpful and students were able to chat in some channels about cute pets and music. Overall I enjoyed this class and would recommend! #tCFspring2021
Sherriff's amazing!! He makes everything so interesting and his lectures are never a bore. He even broke his videos into 20 min chunks for covid. Covid didn't make the class much different. It got easier in terms of grading, in fact, as the quizzes became open-note. You learn some very useful stuff, like modularization, agile (if you've never been exposed to it), licensing, etc.
That being said, your experience heavily depends on the group you get. If you're paired with at least 3/4 solid group members, like I did, you'll have an amazing time. You won't feel overwhelmed. You'll see everyone's contributions blossom into an impressive site that you're all incredibly proud of by the end. If you end up with a bad group on the other hand, you'll hate the class with a passion. My RA once ranted to me and made me almost not take the class lol
Again, it all depends on your team dynamic, which is entirely randomized.
Co-taught by Mark Sherriff and Paul/Will McBurney. Honestly one of my favorite classes at UVA, but more because of the semester project rather than course content. The groupmates are random, which... was interesting. It's a 50/50. We had weekly-ish open-note quizzes and "guided practices." They're doable even without going to lecture, but slides are posted and lectures are recorded if needed.
Definitely recommend this course for those interested in software development, and particularly for those who have yet to have any industry experience coming into the course. I was a second year while taking the course and had little to no experience using industry tools or making a more large-scale project, but this class gives a great first exposure to such things and will make your transition into an internship much easier. Sherriff is a super cool, laidback guy and has been one of my favorite professors thus far at UVA. Despite the material for lecture being somewhat dry, Sherriff managed to make it really engaging and I looked forward to watching his lectures. Your experience in the semester-long project will depend greatly on your team though, which is the main component of the class. Aside from the project, the other work in the class (quizzes, weekly assignments) are pretty easy. I wasn't super fortunate with my group which means I had to pick up a lot of others' slack, but you still get a lot from the class and I would highly recommend it if it is at all relevant to what you want to do. #tCF2020
I am still taking the class currently, but I just wanted to write how much I have been enjoying this class. Sherriff is super engaging and I actually really enjoy watching his lecture videos (it's like watching TV for me). Also, yes the Django stuff in the beginning sucks (pro tip: Start early and go to TA's early).
Let me tell you about 3240.
My my ... there are a lot fo great thing about this class. Sheriff has been teaching for a while and knows what he's doing. The structure of the class is very organized and you never feel like you don't know what's going on. The grading system is pretty unique (using positive reinforcement), and the class is less about grades and more about just learning about developing software in a team environment. Additional bonus is that the semester long project is a great resume booster.
With that said, the semester starts off with a bang. Literally. You just get banged by the Django tutorial. Not just banged. Literally ... it takes you by the nape and slaps you against the cold dark walls of anxiety and frustration. This is no quicky. This is long and hard torture. You might as well set aside 2-3 days to just be sad. It's honestly a great time to wonder if making bone hard cash straight out of college is even worth it if you have to put up with something as ridiculous as this Django tutorial. My oh my ... words cannot describe ... My brain is limp, and my eyes are swollen . . . I'm buggin, I'm buggin, I'm buggin, I'm buggin
Sherriff is a great lecturer who loves cracking jokes. He's probably the best lecturer in CS I've had and can explain concepts clearly. The course itself is really practical with a nod to mental health and other real life problems with a few drops. This is a super helpful course to get students somewhat of an industry experience. You'll learn useful concepts such as MVC, agile, project management, GitHub, and Django. Plus, the project you'll work on is something that you can talk to with employers. I would definitely recommend this class for anyone as prep for internships or jobs.
MATERIAL: I completely agree with anon's summation below that this is a course you will not appreciate until it's over. The material is dry, and you will see a lot of people complaining that this is stuff that you would "learn in an internship." I disagree with that generalization. First of all, not all CS majors get specifically software development internships over the summer where they work with a team. So to claim that everyone should already know the material is pretty ignorant, not to mention that that really sells the material short. Sure, a lot of it can be picked up in internships, but there is definitely some stuff you would miss. Like, are you absolutely positive that every CS major doing a software development-type internship will learn about things like licensing? Speaking for myself, I am a 3rd year and maybe only knew about 10% of the stuff he was talking about.
While I did not enjoy learning boring concepts in the moment, looking back now I definitely see why it is required. The way the course was taught presented the material more as concepts that one should consider in the software devlepment process. Sherriff did not make the topics seem like "This is the Bible. You must always do this!" It was more of "This is something you need to consider in the development phase, because this can cause problems XYZ down the line, costing you or your company time and money." Did I like the material? No. Was it useful? Yes.
PROFESSOR: Sherriff really did his dogone best to make this course interesting. He really tries and cares so much about his students (just check out some of his youtube videos of his COVID lectures). He is a good lecturer and does a good job keeping the class engaged as best as possible. He is extremely approachable and willing to help (Although avoid posting memes on Piazza -- he views it as "unprofessional," as a friend of mine found out.) Sherriff is a professor I'd love to see be given a more enjoyable class to teach, because I think that would have the potential to be a fantastic class. He is also the biggest Dad in the CS department.
PROJECT: This is probably the best example of "life's not fair" that exists in the BSCS major (Except if you got stuck with Venkat in comp arch halfway through spring 2019 semester.). Your task is to create a Django framework web app that performs some simple, predetermined (but flexible) functionality. You are put in a group with 5 people and, after doing a HORRENDOUSLY long Django tutorial (I'm talking somewhere in the ballpark of 25 hours of work if you actual do it right), you are basically thrown to the wolves and told "Go, get to work!" There are 6 "sprint checks" throughout the semester with your assigned TA just to make sure you are on track to finish the project on time. Each sprint check will have specific tasks you need to have done in order to get credit. So make sure you pay attention to that. Yes, there are TA office hours who can help with specific Django questions, but as time goes on and your code gets more and more specialized, your odds of getting help from TAs goes down. Get good at utilizing google and stack overflow -- but I mean really, if you aren't already good at that by this point I don't know what to tell you. Anyway, I say that this is a classic "life's not fair" type project because the project CRITICALLY depends on your team. I knew nothing of Django coming into the semester, and I had never even taken a class that used python before (It was not hard to pick up after already learning Java, C, and C++). If you end up with a team of 5 like that, you are going to have a rough time. Now, I think Sherriff makes a point to try and balance teams out (he sends out a survey asking about your experience in python, django, etc. at the beginning of the semester), but you might end up with something like 2 "experienced" 4th years who have checked out of school and don't give a fuck. You're not going to have a good time if that is the case. I'm sorry about that. However, on the flip side, you could end up with a fantastic group, like I did. My group was well balanced. There was enough experience in our group such that we were able to lay the groundwork pretty quickly, which allowed those with less experience, like myself, to catch up, but we didn't have that one try-hard who knows Django inside and out, and "finishes" the project by his/herself in the first two weeks (until you realize in the last week of the semester that your website is actually garbage.) As a result, everyone on our team was expected to contribute their fair share, but we had enough people who could help us out if we ran into problems, and thankfully no one in our group had checked out, so our communication was good. I was definitely lucky in that regard, and I fully believe your experience with the project will depend on your team.
GRADING: Grades are kind of weird, but in a good way in my opinion. We use what is called the "XP" system (similar to World of Warcraft for you gamers out there) in which you "level up" from level 0 up as high as level 20, and your grade is based on what level you get to. Level 20 is an A+, with every subsequent level dropping a letter sign (A, A-. B+, etc.). For us, there was a potential 200,000 XP to earn. To get to level 19 (A), you needed to rack up 190,000 XP. 30% of the XP is obtained from "quizzes" (they are closer to exams honestly) These quizzes are not very hard, especially since he tells you pretty much exactly what to expect on the quizzes in the slides and in lecture. Not only that, but the "final" for the class is actually just an individalized test which asks you similar questions as the ones you missed on the first 6 quizzes for a chance to show that you "mastered" that material (and thus earn the XP from those quizzes back) 15% comes from the 6 "sprint checks" at lab throughout the semester. 5% is from just showing up to lab. 20% comes from the three big individual assignments -- the Django tutorial (which is brutal, start that early!) (10,000 XP), your role's "artifact" paper (15,000 XP), and your team's evaluation of your performance at the end of the semester (15,000 XP). 5% comes from small, random guided practices (small homeworks or in-class assignments). The other 25% comes from your actual project grade given to you by Sherriff at the end of the semester.
TIME COMMITMENT: This is actually kind of a hard one to gauge. It really depends on a lot of factors. For me, I probably averaged 8 hours of work per week for this class, although there were some weeks where I worked 15 hours, 30 hours (Looking at you Django Tutorial), and there were others I worked 2-3 hours. It comes in spurts. Generally, you will spend the most time on it at the beginning and end of the semester plus whenever your artifact is due.
OVERALL: This is a course that I came into with, while not really a bad attitude, I definitely took the attitude that this was a course I wasn't too hyped to take and that I wouldn't learn a ton. It seems every semester I have 1 course that I am kind of suprised about. This semeseter, it was this one. Sherriff is a great professor who does the best he can with dry material. The project is very hit or miss, but if you hit like my group, can be an EXTREMELY rewarding assignment. And, while the material may be dry, if you really make an effort to either go to or listen to the lectures, you will learn to think about problems or topics you may not have considered before. My impression is that I think this course can be cut from the BSCS degree requirements, but that I am in a better position now that I have taken the course.
I'm not really sure why I took this class because I was not interested in the topic and it wasn't required for me. Regardless, Sherriff did his best to make this topic entertaining and kind of succeeded just because of how friendly he is. The whole class is centered around a group project. I got a pretty good team, but I imagine if you don't the class is much worse.
Sherriff is a good professor and you will learn, but it is very difficult to talk to him in person, as he seems very irritated and annoyed. I didn't like that your grade depended on how lenient the TA was. Mine was incredibly annoying and kept trying to find reasons to not give us a good grade. There were other groups who put in half the effort and went by super easily. Overall, it is a meh course, and you probably have to take it, so just push through it!
I like Sherriff as a professor. Lectures are boring because the material is really dry. The KAs/tests weren't too bad and you could make up the points you missed at the end as your final. The main part is the group project which depends on how your group is. The class is mostly just a simulation of what IRL software engineering is in industry. It's more about going through the software engineering process as a group and coming out on the other side and realizing what you should have done differently. Though this class gave me a lot of grief because my group didn't communicate as well as we should have, it was a really important learning experience. This is required for the BSCS, but for the BACS, if you want to go into software engineering then this a really good class to take. You have to learn Django on your own. Sherriff doesn't know Django and the TAs won't really help you with that. As long as your project is good and you don't completely fail the KA's (which are pretty easy) then you should get an A in the class.
---- Tl;dr: the project is most of your grade, so embrace it and do it well. Good to talk about in interviews. Sherriff is Sherriff. ---- This is one of those classes that you don't appreciate until it's over, kinda like 2150. I really enjoyed the group project for this class. The project makes up 50% of your grade and it's really the only thing you do the entire semester. Sherriff put my group of 8 together extremely well so we worked together incredibly. I was actually sad when the project was over because it was such a great experience. The project for this semester was to create a polling system for elections. We added a lot of extra features and thought through all of our design decisions very carefully so we ultimately received a 19.5/20 for our technical score (he really liked our extra touches, which didn't require a lot of extra coding, just a little bit of extra thought into who would be using the system and how to make it more accessible). Sherriff really values the software development process as a whole, so be sure to stay vigilant with YouTrack, source control, and planning tasks. My best advice is to listen to everyone's input before making decisions and relying heavily on the expertise of people with prior experience (e.g. ask people with Django experience for help, let UI people plan the UI, let the people with project management experience manage the project, etc.). This class is really what you make of it so be sure to take it seriously and you'll be rewarded. I'll definitely be talking about it in future interviews.
Not a horrible class, but I thought grading was pretty harsh if given grades are accurate. Like always, Sherriff is a very engaging and understanding professor and probably one of very few professors at UVA that can help make this class not absolutely dreadful, so if you have to take this class you should probably take it with Sherriff. Expect some TA's to be assholes. For some reason, I feel like Sherriff purposely hires asshole TA's and some are just bad at speaking and communicating in general. I understand we're in the computer science department here, but the people who are your main point of contact for help and grading with assignments should be somewhat better with this. Or at least they should be.
Haven't finished this class but thought I'd get things started here. I'm sure you're only taking this class because it's required. It's basically all a group project you do throughout the semester in groups of ~8 (can't choose your team). This semester it's creating a new voting system for Virginia elections. Next semester it will be something different. Tough project because you don't get much guidance (I guess the idea is that in real life nobody will be there to hold your hand). Very rewarding and good resume/interview material though. Lecture can be boring but it's pretty important stuff I guess. Not everyone is a fan of Sherriff but he definitely cares a lot about the class and that you get the most out of it. There's probably not a much better professor to take the class with. Overall, you won't love this class so just suck it up and get through it.
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.