Being exposed to well-written code is a valuable experience for students -- especially when the code is larger or more complex than they are currently capable of writing. In addit...
Empirical skills are playing an increasingly important role in the computing profession and our society. But while traditional computer science curricula are effective in teaching...
Classifying is a central activity in object-oriented programming and distinguishes it from procedural programming. Traditional logic, initiated by Aristotle, assigns classificatio...
We look at the essential thinking skills students need to learn in the introductory computer science course based on object-oriented programming. We create a framework for such a ...
We propose an object-oriented (OO) formulation and implementation of lazy/delayed evaluation by reusing and extending an existing linear recursive structure (LRS) framework with t...
The paper elucidates two views (models) of algorithmic problem solving. The first one is static; it is based on the identification of several principal dimensions of algorithmic p...
Machine learning is typically considered a graduate-level course with an artificial intelligence course as a prerequisite. However, it does not need to be positioned this way, and...