Your feedback has been sent to our team.
29 Ratings
Hours/Week
No grades found
— Students
Nathan is a pretty awesome guy. The course can get a bit tedious, but his lectures are very relaxed and he'll go over anything as many times as you need it.
My advice is to engage with the material outside of class as much as possible. It's much more abstract than any of the courses before it, and it takes a while to wrap your mind around it. Go to office hours/problem sessions; I think Theory can be a fun course if you spend enough time with it.
Nate is one of Gabe Robin's grad students and he is awesome. Class has pretty difficult content but Nathan explains things pretty well, especially if you ask him a question during office hours. You're given a ton of problem sets at the beginning of the class and the exams are selected problems from there. Try to solve all of them and do them over time (as opposed to cramming them in the two weeks before each test like almost everyone did). This class will definitely make you a better problem solver.
Ok, so I will premise it by saying that Brunelle is a great lecturer and really knows what he is teaching. Theory cannot be that much fun in nature, but he really tries hard to make it interesting. However, this class was horrible in terms of difficulty and execution this particular semester. The day I am writing this review is the last class of this semester, and we only got HW 3, which was due 2months ago, back out of 7. I actually don't know what I have in the class. Everyone seems to be struggling to get the HWs done because of its difficulty. Office hour helps a lot, but always super crowded because not many people can do the hw on their own. These hws took longer than even some of the challenging 2150 labs like tree, and huffman, etc. If you are not in E-school, please avoid it. Don't make the same mistake I made this semester. Hope I get an A- above, but who knows?
This is THE worst class I have taken here at UVa. First off, it is poorly organized. The lecturer was super slow during the first half of the semester on the relatively easier stuff. He basically went through one chapter with all that time. After midterm he was going really fast for the remaining 5 chapters. Before you even get a basic understanding on the content you will realize that he's way far ahead. Office hours help a lot but there is a severe shortage of TAs. I went to quite a few OH sessions but spent most of my time waiting. Some TAs were occasionally absent for their assigned time slot with no prior notice or valid reasons. In short, if you are a BACS major, try YOUR BEST not to take this. If you are in BSCS, good luck.
Brunelle is a really good professor. This semester he reorganized the class, which is why I think this class turned out better this semester than previous semesters. I learned something in this class where my friends in other semesters felt they didn't. This class is DIFFICULT, which is what would be expected for theory. Do not take it as an "easy" elective or an elective at all. If you're in eschool, you have to take it and that sucks. My major complaint about this class is that he went really slowly on the review stuff in the first have before the midterm and definitely went way to quickly for Turing machines, grammars, and PDAs which are more difficult. First half is basically discrete math set review with some FSAs. The problem sets are hard to do without TA office hours. The grading for this possible is probably my biggest complaint. The home works weren't returned before the exams in which they covered. We took the final and still haven't gotten back half of our home works (some of which were due in February). He definitely needs to stop giving assignments until he can get the previous ones graded. Home works are also 60% of your grade which makes this particularly vexing.
Brunelle is one of the best lecturers I have ever had, and he also genuinely cares for his students and wants us to learn and succeed. I took this class as a BACS major despite warnings from BSCS friends who advised against it. Honestly? I'm glad I took CS 3102, and I do feel that my CS education is in some way more "complete" because of it. I probably wouldn't have gone out of my way to read up on this stuff on my own. This is not to say that I didn't feel the growing pains from the revamping of the course; I definitely would have appreciated much sooner feedback on homework assignments, and the later parts of the semester felt somewhat rushed compared to the first parts. The later concepts were also more difficult to grasp (resulting in much harder homework imo), so I did feel lost towards the end and didn't feel fully caught up until I was cramming last night for the final. That being said, I think Brunelle is a great professor to have to take Theory with if you're BSCS, and this version of the course will probably be better in future semesters. If you're BACS, I know the general advice is not to take the class unless you have to, but I think every CS major would get *something* out of this course, although it's up to you to decide whether that *something* is worth it.
Brunelle is probably my favorite professor in the CS department. He's a super cool guy, and can explain the concepts really well in a variety of different ways. This class was pretty much identical to 4102 with either him or Hott, in terms of structure and logistics. However, if you are looking for an elective to take I wouldn't recommend this as it is fairly difficult. The main part of the class is the homework sets, which you get to work on in a group. They vary in difficulty, but most are at least pretty challenging to solve. You definitely need to go to office hours for the majority of them in order to make sure your doing things right. There is one midterm and a final, which takes up the rest of your grade. Both of these were not that bad and certainly fair, with the final probably being the easier of the two. Brunelle also gives you a chance to earn a lot of extra credit, up to 10%. My main gripe of the course was the lack of timely grading, as of right now we only have half of our homework grades (the day after the final). I'm not sure if this was due to an understaffed TA crew or something, but it was pretty annoying I can't lie. Other than that I'd say the class isn't the most interesting material due to the nature of this stuff, but Brunelle does a pretty good job at trying to make things more interesting and keep the class engaged.
TLDR: Don't take if BACS, if BSCS it's manageable but expect it to take up a decent amount of your time.
Professor Brunelle is one of the best professors in the CS department and he is the guy you should take this class with if you have to. With that being said, I was uninterested with the content covered in the class, being more of a software engineer by heart rather than a computer scientist. There were a few coding components on roughly half of the homeworks that were enjoyable (and in my opinion easy, I'm not sure what the general consensus is ), whereas the written portions were pretty hard. I did end up learning a lot because of the homeworks though, so the assignments aren't needlessly difficult, they're just challenging. Other than not being interested in the course content, my biggest complaint by far is how damn slow the grading is in this class. It's the primary reason I'm not giving a review of at least 4. I'm not sure if it's Brunelle's fault, the TAs fault, or simply an issue of understaffing, but there is no excuse for taking two months to return each of the homeworks. Without timely feedback, it's difficult to gauge where you stand in the class or if you are answering problems with enough detail. Our final exam was yesterday and 4/8 of our homework assignments still haven't been graded. I'm honestly not sure how they are possibly going to grade four homeworks and the final exam in less than a week when they were only able to grade the first four in three months, especially since the last three homeworks didn't have a programming component, which I imagine take less time to grade. I probably would have enjoyed this class more if there was decent feedback, which will hopefully not be in issue in future semesters.
I have to agree with pretty much every review. Prof. Brunelle is genuinely a great guy, super nice, and super helpful. That being said, I didn't enjoy the course all that much. The exercises are really difficult and while I did kind of understand the ways he wanted us to think about them as we did more, I (and pretty much everyone else) was always in office hours AT LEAST once per exercise. It's a pain, but my recommendation would be to do them all in office hours so you can get an idea of where to start and then at least have the TAs for guidance. Coding portions typically weren't that bad, save for the FSA ones near the end. At least relative to these other reviews, grading happened a lot quicker this semester but it's still slow overall. Most of the TAs were so nice and helpful, but one or two would often be late to office hours and/or would completely steer you in the wrong direction so it's a good idea to check your hw with multiple TAs. We only had the first exam (thanks corona) and that wasn't that bad - he gives a helpful review session.
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.