Ask HN: Where to Find Programming Challenges for Object-Oriented Design
4 points by linguae 2 months ago | 0 comments
Hello. I am a brand new professor at a community college teaching freshman- and sophomore-level computer science courses with nine years of industry research experience after graduate school. My courses are in C++ and roughly correspond to the ACM's CS 1 (introduction to procedural programming), CS 1.5 (introduction to object-oriented programming), and CS 2 (data structures and algorithms). I am able to easily create and find exercises for my CS 1 and CS 2 courses; the department's recommended textbook has many good exercises for CS 1, and I'm able to draw upon many good resources for CS 2 since there are many good algorithm and data structure textbooks out there.
However, I'm having a hard time finding and coming up with good exercises for CS 1.5, which focuses on teaching object-oriented concepts such as inheritance and polymorphism. I am disappointed with the quality of the textbook's exercises for inheritance and polymorphism (they are too simple), and while there are many good textbooks on object-oriented design such as the Gang of Four's Design Patterns and Object-Oriented Analysis and Design with Applications, they seem to be geared toward experienced programmers, not those who recently passed CS 1 and who are just learning what classes, inheritance, and polymorphism are.
There are many programming challenge books that focus on either procedural programming or honing one's problem-solving skills (think competitive programming or LeetCode-style interviews), but I'm having a hard time finding level-appropriate resources that evaluate how well students can design object-oriented programs. What are some good resources that I could use?