- 8 reviews
- 8 completed
This course is the final in a 3-part series. It briefly introduces Ruby along with dynamic dispatch, subtyping, contrasting OOP idioms and implementations to equivalent functional idioms and implementations, and other topics. The homework is challenging and allows students to make additions to a Tetris game that they can then play. As always, Dan's passion and great teaching shine.
A great continuation of Part A. It includes an introduction to Racket, mutation, memoization, thunking, and closures (among other topics). The homework is challenging and allows the opportunity to implement an interpreter. Dan is an excellent and passionate teacher.
Excellent introduction to basic programming language concepts through the lens of functional programming. Homework is challenging and rewarding, there is an auto-marker as well as peer-graded style assessments, and the instructor is passionate about what he is teaching. Highly recommended.
This course was okay. Introduction to design patterns was nice, but the content is a bit outdated and there was no testing of any diagramming done. The final project seemed easy compared to some of the homework, and the setup was out-of-date.
Excellent course. The instructor speaks well and the content holds students' attention. The course would really benefit from automatic marking rather than self-assessment.
Great introduction to the concepts of OOP. Concepts are presented clearly and at a pace that I imagine anyone could follow along with. Additional introduction to IDEA was a nice touch, but the course would do well to fix a couple minor issues with the course documentation and starter files.
This is an excellent introduction to the basis of computer science. By using BSL, students are taught the fundamentals of how programs should be structured. The course would benefit from programmatic marking, rather than self-marking, especially for the quizzes and final.
The course is a great intro to CS and provides problems that are of an appropriate difficulty but are still challenging. The course does teach using getters and setters in Python, which is frowned upon, but their introduction is good from an OOP standpoint.