Let's begin introducing the object-oriented paradigm
SIGCSE '91 Proceedings of the twenty-second SIGCSE technical symposium on Computer science education
The analytical engine: an introduction to computer science using Hypercard
The analytical engine: an introduction to computer science using Hypercard
Object Concept: An Introduction to Computer Programming Using C++
Object Concept: An Introduction to Computer Programming Using C++
Pascal's Triangle: Reading, Writing, and Reasoning about Programs
Pascal's Triangle: Reading, Writing, and Reasoning about Programs
Requirements for a first year object-oriented teaching language
SIGCSE '95 Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education
On using C++ and object-orientation in CS1: the message is still more important than the medium
SIGCSE '95 Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education
Umbriel—imperative programming for unsophisticated students
ACM SIGCSE Bulletin
ACM SIGCSE Bulletin
Object-centered design: a five-phase introduction to object-oriented programming in CS1–2
SIGCSE '96 Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education
Blue—a language for teaching object-oriented programming
SIGCSE '96 Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education
Object-orientation and the principles of learning theory: a new look at problems and benefits
SIGCSE '96 Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education
The first programming paradigm and language dilemma
SIGCSE '96 Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education
3C ON-LINE
CS1 using Java language features gently
ITiCSE '99 Proceedings of the 4th annual SIGCSE/SIGCUE ITiCSE conference on Innovation and technology in computer science education
The versatile list: a pathway to abstraction
ACSE '00 Proceedings of the Australasian conference on Computing education
A paradigm shift to OOP has occurred…implementation to follow
CCSC '00 Proceedings of the fourteenth annual consortium on Small Colleges Southeastern conference
Journal of Computing Sciences in Colleges
Rethinking computer science education from a test-first perspective
OOPSLA '03 Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Using software testing to move students from trial-and-error to reflection-in-action
Proceedings of the 35th SIGCSE technical symposium on Computer science education
Rethinking of Teaching Objects-First
Education and Information Technologies
What is a good first programming language?
Crossroads
Proceedings of the 37th SIGCSE technical symposium on Computer science education
Parson's programming puzzles: a fun and effective learning tool for first programming courses
ACE '06 Proceedings of the 8th Australasian Conference on Computing Education - Volume 52
Research perspectives on the objects-early debate
ITiCSE-WGR '06 Working group reports on ITiCSE on Innovation and technology in computer science education
An open-source CVE for programming education: a case study
SIGGRAPH '05 ACM SIGGRAPH 2005 Courses
An objective comparison of languages for teaching introductory programming
Proceedings of the 6th Baltic Sea conference on Computing education research: Koli Calling 2006
Teaching an object-oriented CS1 -: with Python
Proceedings of the 13th annual conference on Innovation and technology in computer science education
Legacy system program transformation by Lyee methodology
Knowledge-Based Systems
Exploring teachers' attitudes towards object oriented modelling and programming in secondary schools
Proceedings of the Sixth international workshop on Computing education research
Programming techniques and environments in a technology management department
Proceedings of the Fifth Balkan Conference in Informatics
Hi-index | 0.00 |
Over the past year we have changed our CS 1 course from a standard Pascal-based, procedural programming course into one that emphasizes C++ and object-oriented programming (OOP). While our experience to date indicates that this was a good decision for both our students and our department, the decision did not come easy. We struggled long and hard with many, if not most, of the questions and issues that have come to be associated with teaching OOP to undergraduates. This paper recounts our struggles, and presents our responses to the more serious of the pedagogical questions that we considered. In hindsight, many of the reasons we came up with for not using OOP in CS1 are seen to reflect our lack of understanding of the paradigm, our fear of the language, and our past experience teaching Pascal and the procedural paradigm. Furthermore, we believe that our reservations (which appear to be quite common) stemmed from a growing body of misleading OOP folklore that is contrary to our experience and that this paper attempts to dispel.