Programming language concepts and paradigms
Programming language concepts and paradigms
Elements of ML programming (ML97 ed.)
Elements of ML programming (ML97 ed.)
Teaching objects-first in introductory computer science
SIGCSE '03 Proceedings of the 34th SIGCSE technical symposium on Computer science education
Taming the tiger: teaching the next version of Java
Proceedings of the 35th SIGCSE technical symposium on Computer science education
Resolved: objects early has failed
Proceedings of the 36th SIGCSE technical symposium on Computer science education
Communications of the ACM - Self managed systems
Proceedings of the 37th SIGCSE technical symposium on Computer science education
Computing is a natural science
Communications of the ACM - Creating a science of games
Java Software Solutions: Foundations of Program Design
Java Software Solutions: Foundations of Program Design
Hi-index | 0.00 |
"Objects-first" is a popular teaching approach in CS1/2 courses, particularly those designed around the Java programming language. Recently, theory-based criticisms of this approach have been used at some noteworthy universities to justify delaying object orientation to second year courses in favor of functional-based introductory curricula, and even treating object orientation as an optional advanced topic. In this paper we present a case for adopting a co-existential approach between object-orientation and functional programming based on the view that development of "computational thinking" skills should be a fundamental goal of CS1/2 courses. Towards this end, a tight relationship between ML and Java is explored and examined by means of several illustrative examples.