Your feedback has been sent to our team.
6 Ratings
Hours/Week
No grades found
— Students
I don't think I've ever had a professor as incompetent or infuriating as Raymond Pettit. Our final exam is tomorrow and maybe 35% of our grade is up in the air (not counting the final which is a quarter of our grade). For both exams (midterm and final) he gave practice exams with incorrect or incomplete answer keys, the midterm practice exam was literally for a different class and in a different language. It's clear that Pettit has no clue what he's doing or what's going on. I have never before had a professor push off assignments due to lack of preparation, and he's done that all semester. Like what??? As a student I've procrastinated my assignments before but having a professor do this was insane. I am almost impressed at how little he cares about this class. I think he put off our research project (for which we obviously have no grade) for maybe 2 weeks? He said he was gonna release it the Friday before spring break, didn't do that, said he was gonna release it the Monday after break (didn't do that), pushed it off to Wednesday (didn't do that) before finally doing the bare minimum and releasing it on Canvas on Friday. What I mean by that is he created an assignment called "Research Project" with no description. I always try to sympathize with professors when class gets rough, we're all human and we're all going through our own things, but the consistent level of disorganization and unprofessionalism throughout this course has shown me that you truly have to go out of your way to make a classroom experience this bad. He ignores Piazza questions (it'll be like 5 Piazza posts asking the same question with no response - this includes questions about incorrect practice exam questions, confusing/incorrect assignment instructions, etc), ignores emails, pushes off meetings with students as long as possible, etc. He said he was going to release a course schedule and didn't release it until the last week of March, and it had no relevant information about assignments. He is always changing the class assignments and requirements and timelines etc etc etc with no regard to students. And no communication either. This class is a wreck and I am so grateful I will never have to take another CS class here again. Don't take it with Pettit, especially if you're a fourth-year worried about graduating. Not everyone in academia is built for teaching.
I'd highly recommend this course to anyone who's planning to work in software engineering, as it will introduce you to many concepts that seem highly applicable in industry. It covers the history/family trees of today's programming languages, does a deep dive in to functional programming and OCaml, a variety of topics that language designers must consider, and then a deep dive into declarative programming with Prolog. In Spring 2024, the lectures for this course were recorded so you could watch them async if you wanted. There were weekly homeworks that you completed with a group -- I'd recommend finding a group who will have a set meeting time all semester because it's better if you work on them together . Thankfully, these homework assignments are pretty easy if you've gone to lecture and graded mostly on completion. Twice during the semester, your group meets with Professor Pettit and he asks a range of concept questions (this is how he tells whether everyone is contributing to the group, it worked pretty well). There's also a midterm and final exam on paper and those seemed challenging but pretty fair. #tCFS24
This was easily the best CS class I've taken at UVA. Professor Pettit does a great job of explaining the core concepts of functional and logic programming in a way that makes them accessible. The assignments for the most part aren't that hard and they're about applying the concepts you've learned in class. The class focuses more on different approaches to solving problems and less about learning syntax for some obscure languages, which makes this class really practical since you can take the fundamentals of functional and declarative/logic programming and apply them to most mainstream languages. Sure, no one in industry uses Standard ML or Prolog, but you'll see their influences on many more popular languages which are just starting to implement features these languages have had for decades. It'll change the way you think about programming and will definitely make you a better software developer—I can't recommend taking PL highly enough.
Brilliant professor. Professor Pettit takes the time to walk students through concepts that are not taught in the traditional CS curriculum, namely functional programming. The class allows an insight into a branch of computer science that not only deepens your understanding of other fields such as AI, but exposes you to a wide breadth of topics and helps change your way of thinking about certain data structures. Overall, a very worthwhile classes, and the professor's main goal is that you learn the information, he is always willing to help if you ask.
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.