Let's begin introducing the object-oriented paradigm
SIGCSE '91 Proceedings of the twenty-second SIGCSE technical symposium on Computer science education
The object oriented paradigm in CS 1
SIGCSE '93 Proceedings of the twenty-fourth SIGCSE technical symposium on Computer science education
The top 10 reasons why object-oriented programming can't be taught in CS 1
SIGCSE '94 Proceedings of the twenty-fifth SIGCSE symposium on Computer science education
Programming in Java: student-constructed rules
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
A library to support a graphics-based object-first approach to CS 1
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
Java power tools: model software for teaching object-oriented design
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
Java Software Solutions: Foundations of Program Design
Java Software Solutions: Foundations of Program Design
DrJava: a lightweight pedagogic environment for Java
SIGCSE '02 Proceedings of the 33rd SIGCSE technical symposium on Computer science education
Teaching objects-first in introductory computer science
SIGCSE '03 Proceedings of the 34th SIGCSE technical symposium on Computer science education
Another breadth-first approach to CS I using python
SIGCSE '03 Proceedings of the 34th SIGCSE technical symposium on Computer science education
Python robotics: an environment for exploring robotics beyond LEGOs
SIGCSE '03 Proceedings of the 34th SIGCSE technical symposium on Computer science education
Journal of Computing Sciences in Colleges
Python Programming: An Introduction to Computer Science
Python Programming: An Introduction to Computer Science
Resolved: objects early has failed
Proceedings of the 36th SIGCSE technical symposium on Computer science education
A study of the difficulties of novice programmers
ITiCSE '05 Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education
The ACM java task force: final report
Proceedings of the 37th SIGCSE technical symposium on Computer science education
Proceedings of the 37th SIGCSE technical symposium on Computer science education
Successful approaches to teaching introductory computer science courses with python
Proceedings of the 37th SIGCSE technical symposium on Computer science education
Problems in the initial teaching of programming using Java: the case for replacing J2SE with J2ME
Proceedings of the 11th annual SIGCSE conference on Innovation and technology in computer science education
"Python first": a lab-based digital introduction to computer science
Proceedings of the 11th annual SIGCSE conference on Innovation and technology in computer science education
Learning to Program with Alice, Brief Edition
Learning to Program with Alice, Brief Edition
Object-Oriented Programming in Python
Object-Oriented Programming in Python
Breadth-first CS 1 for scientists
Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education
Introduction to Computing and Programming in Python, A Multimedia Approach
Introduction to Computing and Programming in Python, A Multimedia Approach
Starting Out with Python
PyMT: a post-WIMP multi-touch user interface toolkit
Proceedings of the ACM International Conference on Interactive Tabletops and Surfaces
Using a document classification task to introduce machine learning
Journal of Computing Sciences in Colleges
Hi-index | 0.00 |
There is an ongoing debate regarding the role of object orientation in the introductory programming sequence. While the pendulum swings to and fro between the "objects first" and "back to basics" extremes, there is general agreement that object-oriented programming is central to modern software development and therefore integral to a computer science curriculum. Developing effective approaches to teach these principles raises challenges that have been exacerbated by the use of Java or C++ as the first instructional language. In this paper, we recommend Python as an excellent choice for teaching an object-oriented CS1. Although often viewed as a "scripting" language, Python is a fully object-oriented language with a consistent object model and a rich set of built-in classes. Based upon our experiences, we describe aspects of the language that help support a balanced introduction to object orientation in CS1. We also discuss the downstream effects on our students' transition to Java and C++ in subsequent courses.