We introduce a new software tool, JKarelRobot, for supporting an Inside/Out pedagogy in introductory programming courses. Extending the original conception of "Karel the Robot", with Bloom's Taxonomy of Educational Objectives as a guiding principle, we have provided a mechanism for designing exercises that are cognitively appropriate to the developmental levels of our students. JKarelRobot is platform independent (written in Java) and language/paradigm independent, supporting Pascal, Java, and Lisp style environments.
The most commonly stated definition of abstract data type (ADT) is that it is a domain of values and the operations over that domain. So, for example, a language's built-in types, like int are seen to be ADTs. It is our opinion that a pure interpretation of this definition yields a semantics in which using an ADT is the same as using built-in types: the operations are side effect free and there is no concern over alias, shallow copy or synchronization problems. Unfortunately, the term abstract data type has over time been associated with at least three distinct meanings, and those incompatible definitions have often been conflated, causing confusion to students and textbook authors alike. We believe that this has resulted in a loss of appreciation for the value-based semantics of ADTs.
To promote reliability, the adoption of deferred error coding within computer science curricula is advocated. It is both a sound development strategy and aligned well pedagogically. By deferring specific error handling (first, doing no harm) the student better appreciates error handling's subtleties and its importance as an independent topic.The presentation will also include taxonomies of exceptions and exception handlers, and the relationships between them. Much of the discussion is language independent, but specific attention is given to the Java checked exception controversy.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.