6 months ago
This is probably as abstract as it can get in CS (which is by itself an abstraction). The most relevant analogy from the humanities might be a course in epistemology. In other words, this requires some heavy thinking. The written course materials were of great quality, very carefully prepared, and there is also a book for those who want to go deeper. Actually this is almost a must, because it's one of the subjects where the lectures can be understood better if you did the readings first.
Don't expect an easy entertainment from this course, but if you are interested in the theoretical basis behind the modern computation and are prepared to invest some time into the learning, then give it a try. A substantial exposure to the formal thinking (theorem-proving and the logic in general might be more relevant here than the actual programming experience) is a prerequisite for this one, you won't go too far otherwise.
I am very grateful to Prof.Ullman for having the trouble to offer this high-quality course as a MOOC. For the software development practitioner, it's a good opportunity to look into the depth beyond the familiar concepts. It also helps to understand what the Computer Science is about.
At the very least, you will find out what P=NP means! :)
Was this review helpful?