Your feedback has been sent to our team.
18 Ratings
Hours/Week
No grades found
— Students
Professor Robins is in interesting lecturer. He is very knowledgeable about the subject, and when he lectures, you feel like he has studied the subject matter for a long time. He's enthusiastic about the course, and really wants you to understand the material.
Robins spends the first 1/3 of the course going over the history of theory of computation. None of this is tested material. Once he beings talking about finite automata, that's when the real core of the class begins. Make sure to actually start paying attention/taking notes then.
The coursework is pretty simple. Robins gives you 3 problem sets at the beginning of the year that cover all the material in the course. Some of the midterm and final questions are pulled from these problem sets. However, he does give you the solutions. You have to figure them out yourself or in a group, and go to the weekly review sessions and confirm with the TAs that your solution is correct.
The class has 3 grades: a midterm, a final project, and a final. That's it. There's no required homework - just the problem sets that you can choose to do or not do. He also replaced our midterm grade with our final grade if it was better.
If you're seriously interested in the subject, take it with Robins - he'll definitely give you a new, interesting perspective on the subject.
Professor Robins has a unique teaching style that applies to a select few. His lectures are all posted on his website from the beginning of the course and consist of pictures. For me, his lectures didn't go in depth enough to have a solid understanding of the concepts that would be included in the homework. It's a very theoretical course so if you're into that then you should enjoy his class.
TAs are your best friend so use them to your advantage. Robins is great about giving you all of the homework ahead of time so if you go to all the homework sessions and some problems each week so that you finish the ENTIRE problem sets, you will ace the exams. All the exams are open book so I really don't understand why anyone wouldn't take advantage of doing the problems ahead of the time because they're literally the test questions.
Robins is a great person, I just didn't enjoy the class because I didn't find the subject interesting. I do think the course could use improvements to make it more engaging/interesting, however, it should by no means be a hard class unless you make it that way for yourself.
This class was a joke. Theory is actually a pretty tough and important subject, but you will learn almost nothing about it in this class. Robins has a really terrible teaching style. Luckily you can get 100 in the class just by doing trivial extra credit tasks that are totally irrelevant to the course content, like watching a TED talk and writing a paragraph about it. Meanwhile, the "homework" problem sets (and the exams that come from them) are long and crazy hard, and almost nothing from the lectures is actually useful for solving any of the problems. I wouldn't wish this class on my worst enemy. If you want to learn theory, take it with a different professor. Robins has good intentions but his teaching style isn't beneficial to anybody.
Professor Robins, aka Gabe the babe, is one of the easiest professors you can take a class with here. The only challenging part of Theory with him used to be the project, but he got rid of that this semester and replaced them with readings. Since theory isn't really that important of a course material-wise but is required for CS it's worth taking it with Robins for an easy A. His test are open note and straight from the problem sets, so you can work with people and get all the answers ahead of midterm week. I'm not kidding, each question is something along the lines of "Answer problem 4 from problem set 2". I didn't go to to lecture since the second week and I'm still did perfectly well.
So, Gabe Robins is easily one of the best people that you will ever meet in your undergraduate education. He truly gives students total autonomy and therefore this class is really a question of your individual level of success when given such autonomy. He gives three problem sets at the start of the class (posted on his Web site on the first day) and both the midterm and final questions are directly from the problem sets. Instead of a project in previous semesters, he requires you to read 10 books, 20 articles, and watch 20 videos that he posts on his website. While this may seem like a recipe for success (as evident by the grade distribution above), it is NOT a class for everybody. My biggest regret taking this class was not about the class or about Robins, but I recognized midway through the class that I just had too much going on to devote time to this class. It is so easy to procrastinate, to not start/finish the problem sets, and to miss class because Robins is such a gracious teacher in that right. And that is the worst thing you can do, especially with a professor who cares so much about his students knowledge and success. Therefore, as much as I think it is an awesome class with a fantastic teacher, I would tell you to STAY AWAY if you can't commit time to the class. It is not necessarily the easiest of A's and you have to have an incredible amount of motivation, amidst your other classes and extracurriculars, to devote a significant amount of your time to solving the problem sets. Robins says that you just need to tenacity and curiosity and perseverance to succeed in the class- I wholeheartedly agree. Unfortunately, the tenacity, at least for me, began to wane as my other classes that did not afford me such autonomy began to increase in workload and difficulty.
Gabe is probably one of the chillest professors you'll have at the University. (as well as the most intelligent) However, his lectures are very dry and his powerpoints are too packed and busy. He's not the best lecturer either, which makes it even more difficult to pay attention. Computational Theory is supposed to be a very difficult subject, instead, Gabe makes it super straight forward for you. He gives you problems sets ahead of time and all of the exam questions are straight from the problem sets. Don't be fooled though, the problem sets are extremely difficult. It's so hard to get the motivation to do them because you don't really learn too much during lecture. Your best bet is to go to Office Hours and learn from the TAs. It's like an "at your own pace" class... which is a bad formula with college students.
Overall, the things I learned during lecture and Office Hours (mostly Office Hours) were very interesting. Computational Theory is really cool and it's very important for grad school or CS Research. It's a shame that uva has a very disorganized curriculum for it. I can't really trash Gabe because he's such a good person. During OH, he's a ton of help and he's just a very caring person.
The class isn't really a "joke." The subject itself is very hard to grasp. The "joke" term probably comes along from the infinite extra credit opportunity. That's right. You have up to unlimited extra credit for this class. (hence the grade distribution even though the exams are tough and make up 70% of your grade) In general, I would only recommend this class if you're willing to put the time into it. Sure, you can get out of here with an A or A- pretty easily... but Computational Theory is important for grad school and research opportunities. If you really want to learn Theory, you need to be able to go to office hours religiously and actually take the time to learn. In the end though, it's all up to you.
Gabe pretty much gives you the option of actually learning Theory (the hard way), or not learning a single thing and just getting an A (the easy way). Even though he has good intentions, I admit this isn't the best option to give to a college student.
The hard way:
If you choose to actually learn Theory, Gabe is a very knowledgeable professor and there's a lot to learn from him. The material can range from fairly interesting to incredibly dull and trivial, but it is the mathematical foundation of CS so it definitely helps if you want to do more in theoretical CS, like research or a PhD (not very useful from a pure programming perspective though - that's where 2150 comes in). The (optional) problem sets are really long and hard, but the open-note exams are word-for-word from the problem sets, so if you actually do all the problems correctly (they can be done in groups and you should also go to OH) then there's no reason you shouldn't ace the exams.
The easy way:
Many people chose to follow the dark side of the force, hence the reputation of this class being a "joke" or an "easy A". Basically Gabe is an absolute baller and all he wants is for you to be knowledgeable and wise af about everything and anything. So for 20% of the grade, he makes you do 36 outside readings of your choice on any subject from his list (Wikipedia pages, Ted talks, books, articles, etc.) and submit a short writeup on each. Any readings you do beyond these 36 are extra-credit, and you can do a (countably) infinite amount of extra-credit. This means that you can basically just focus on doing tons of extra credit (like 70-100 total readings, instead of the required 36), not really do the problem sets (which would mean you'll probably end up with a low grade on the exams cuz you're going in blind) and still end up with an A. This is MUCH easier because the readings take a lot less time and effort than problem sets. So by the end, you could end up knowledgeable af about a variety of things by doing so many diverse readings, but end up knowing very little about Theory.
PROTIP: Pace your readings throughout the semester, if you do 5-8 readings a week you will be fine.
Most people end up doing a combination of these ways though (doing some of the problem sets so they get an average score on the exams, and also doing a decent amount of extra credit).
So the choice is yours - the dark side or the light, the red pill or the blue pill, to learn or not to learn...
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.