Your feedback has been sent to our team.
7 Ratings
Hours/Week
No grades found
— Students
Professor: lots of knowledge (surprisingly not that familiar with Python), teaches Idris and some UNIX commands, really easy to talk to and doesn't look down on you, reassures you a lot about your abilities and capabilities as a student, feel his love for CS easily
Fun: good lecturer, talks fast, encourages you to collaborate with others and use the internet
Difficulty: some concepts are harder than others, I found tests hard because I am a slow reader and worker
Recommendability: good foundations (UNIX commands, declaring variables, writing your own methods, recursion) for later courses but mostly for later in CS career, doesn't help a lot in terms of Java syntax or concepts very much (which is required in CS 2110)
HW and Tests: assignments lengths vary and are subject to tweaks, open-note tests, tests are a blend of coding, definitions, and applying concepts
Note: I really liked the optional final (to let students go home earlier) that he gave because it was really similar to the homework assignments rather than other tests; initial setups were a pain during the first few weeks of class; TA hours were super helpful (especially the grad TA's)
TAKE THIS CLASS. Sullivan is the man, and you won't regret it. He really wants you to major in computer science, so he will make sure that you learn everything easily.
I had no computer science experience in this class, and I think that I'll get an A. At first, you will have trouble learning the syntax and language of coding, but it's a huge learning curve and once you get over that hump you'll be good.
Sullivan emphasizes learning how to functionally program first, so that we can do imperative programming better down the line. What this means is that you actually won't get to do Python until the last week or so. However, I can assure you this is the best approach possible. Python seems like a joke after what we do. If you plan on doing computer science in the future, take this class, it's a great foundation.
Labs can be stressful sometimes though, I'll admit. However, they are all completion grades, so as long as you show up you get 100s. Same goes for homeworks.
First exam is very tough, but Sullivan lets you drop lowest grade.
Studying for this class is strange. You shouldn't actually be "studying" for exams like you do in 99% of classes. What you need to do is just show up to class and pay attention every day, and you don't need to study one bit. Exams are open-note and are more about application than memorizing a bunch of stuff that you'll forget in a few days. That being said, you can't fall behind. Go to office hours if you have any questions, obviously.
Pretty straightforward to get an A.
Sullivan is an excellent teacher, as well as lecturer, which is hard to find. This is a different course comparatively against the other intro classes, as you learn through Idris first and later transfer into Python. This class is more difficult but it also lets you learn a lot of cool topics that the other intro course just breeze over. This class makes you think in a different way which i found very useful.
TL;DR - Take this class if you want a solid foundation in CS. Take the other ones if you just want the credit
Do your self a favor and do not take this course with Professor Sullivan. The way he teaches this class is a departure from the cirriculum of the other introductory CS courses.
Instead of learning python right off the bat, the first 2/3 of the class dealt with the relatively unknown functional programming language called Idris along with learning tools like git and emacs. In theory, learning Idris provides a very solid understanding of the basic programming that will transition well into python and helps to provide a better "base" to build your programming knowledge thank learning python right off the bat. Learning about emacs, git, and terminal commands provide techniques to students that they normally might learn later down the line, but Sullivan was keen on students using the tools and are used in the real world even if unnecessary. I enjoyed learning idris and the other tools and it is very likely that I have a better base to build from for future computer science courses.
The problems of the class stemmed from the incredibly poor organization and communication, and from the transition from learning Idris to learning python. According to the syllabus each homework assignment would amount to something like 2% of our entire grade and yet basic information like knowing when to do them, where to find them, and if they were even an assignment that would be graded was extremely poorly communicated. Some assignments were posted on piazza, some on collab, others in a github repository, and often different parts were located in separate locations. Despite stating that late submissions were allowed on the syllabus, they were not.
Although there was certainly some carry over from Idris to Python, it was obvious that students were not connecting the dots like he was. A main problem was that portions of the class had major coding experience, as would be expected in a UVA intro CS class, while others had none at all. It was very obvious looking at the python game assignment in which the disparity amongst the student games was staggering. Naturally, Mr. Sullivan assumed that the transition was made easily by his students. Many sections on the final exam came from python material covered briefly on the last day of class as well.
Fall 2015 was the first year that this class was taught and that Professor Sullivan taught it and some hiccups were to be expected, so take everything I say with a grain of salt. However, if your interest was piqued by the description of CS 1113, like mine was, I would urge you to take the standard intro CS class instead.
Professor Sullivan knows what he's talking about, but isn't always the best at explaining things. The course material isn't all that difficult, but I think I would have gotten more out of it (as a non-CS major) if I had taken 1110 or a different intro class instead. 1113 can be abstract to the point of boredom, and I really didn't feel like I had learned very many useful skills at the end of the class. Overall I'd say it's a fairly easy A or B, but if you don't understand the material the resources out there aren't the greatest, especially because it starts in Idris, which is a programming language with very little non-technical (i.e. understandable to intro students) information found online, or even from the TA's sometimes. Overall I'd say that this class is probably easier than 1110 if you know a little bit about programming going in, but probably isn't worth your time.
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.