Frank Swenton
Probably the most challenging class in the department. As the name implies very theoretical with proofs and algorithms. However, Prof. Swenton was a fantastic teacher for it. The only grade comes from 4 fairly difficult exams, but Prof. makes sure you are ready for it. His passion and enthusiasm for the material is contagious. He offers a lot of office hours, especially before exams. Difficult course, but Swenton is a great professor to take it with.
Probably the most challenging class in the department. As the name implies very theoretical with proofs and algorithms. However, Prof. Swenton was a fantastic teacher for it. The only grade comes from 4 fairly difficult exams, but Prof. makes sure you are ready for it. His passion and enthusiasm for the material is contagious. He off …Read more
This is absolutely my favorite class I've ever taken at Middlebury and please please please take it with Swenton. The content is obviously not really useful at all for other classes or or applied work in CS but it's absolutely fascinating in and of itself. 301 is fundamentally about yes-no questions and how powerful a model of computation you need to answer those questions (or if you can answer them at all). The class is broken into 3 blocks, the first is on regular languages and finite languages (this is the theory behind regexes even if the class doesn't touch very much on their modern implementation). Here you learn that a certain model of computation (DFAs/NFAs) can tell you if a number in binary is even but can't tell you if it's prime. Block 2 is about a slightly more complicated model of computation (NPDAs) and the context free grammars describing what they accept. Block 3 was the most interesting to me, it's about Turing machines (effectively the model of modern computers) and how there are certain problems that even in theory with infinite time and memory aren't solvable by computers (the famous halting problem + others). There's an evening exam after each block and one final exam (each being 25% of your grade). He says the exams are "nominally" 90 minutes but you can have as much time as you want. Most people take about 2-3 hours on them. There's no homework to turn in, but he hands out optional problem sets which you really need to understand to do well on the exams. Our class officially met Monday and Wednesday but he added a bunch of time slots on Thursday/Fridays throughout the semester so he could cancel the class meetings around the exam, which I loved. Swenton is brilliant, insanely quick, knows pretty much everything, and is so so dedicated to this class and the subject. He creates the highest quality slides, handouts, and videos I've ever had. He hosts lots of office hours before exams, usually with a weekend time too.
This is absolutely my favorite class I've ever taken at Middlebury and please please please take it with Swenton. The content is obviously not really useful at all for other classes or or applied work in CS but it's absolutely fascinating in and of itself. 301 is fundamentally about yes-no questions and how powerful a model of comput …Read more
I especially like the style of this course: no required weekly assignments, just exams. And it works well. The material is, of course, too abstract to be any useful at all for most CS majors, but it is really an intellectual enjoyment to learn things that we are not going to use in the future. It's about recognizing the pattern and exploring the boundary of computation. As for Prof. Swenton’s teaching style, his addition of “extra” class sessions is a bit unconventional, but it reflects genuine enthusiasm for the subject. He organizes the course into three blocks: the first two move at a manageable pace, while the third accelerates quite a bit.
I especially like the style of this course: no required weekly assignments, just exams. And it works well. The material is, of course, too abstract to be any useful at all for most CS majors, but it is really an intellectual enjoyment to learn things that we are not going to use in the future. It's about recognizing the pattern and e …Read more