| Teaching an object-oriented CS1 -: with Python |
| Full text |
Pdf
(135 KB)
|
Source
|
Annual Joint Conference Integrating Technology into Computer Science Education
archive
Proceedings of the 13th annual conference on Innovation and technology in computer science education
table of contents
Madrid, Spain
SESSION: Beginning programming
table of contents
Pages 42-46
Year of Publication: 2008
ISBN:978-1-60558-078-4
Also published in ...
|
|
Authors
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 23, Downloads (12 Months): 141, Citation Count: 0
|
|
|
ABSTRACT
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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
 |
2
|
Owen Astrachan , Kim Bruce , Elliot Koffman , Michael Kölling , Stuart Reges, Resolved: objects early has failed, Proceedings of the 36th SIGCSE technical symposium on Computer science education, p.451-452, February 23-27, 2005, St. Louis, Missouri, USA
|
| |
3
|
|
 |
4
|
|
 |
5
|
|
 |
6
|
|
 |
7
|
|
| |
8
|
|
 |
9
|
|
 |
10
|
|
| |
11
|
A. B. Downey, J. Elkner, and C. Meyers. How to Think Like a Computer Scientist: Learning with Python. Green Tea Press, Needham, MA, 2002.
|
 |
12
|
|
| |
13
|
T. Gaddis. Starting Out with Python. Addison-Wesley, 2009.
|
| |
14
|
|
| |
15
|
M. Guzdial. Introduction to Computing and Programming in Python: A Multimedia Approach. Prentice Hall, 2005.
|
| |
16
|
Joint Task Force on Computing Curricula. Computing Curricula 2001: Computer Science Final Report. IEEE Computer Society and the Association for Computing Machinery, Dec. 2001. http://www.computer.org/education/cc2001/final.
|
| |
17
|
M. Kölling, B. Quig, A. Patterson, and J. Rosenberg. The BlueJ system and its pedagogy. J. Computer Science Education, 4(13):249--268, Dec. 2004.
|
 |
18
|
|
| |
19
|
|
 |
20
|
|
 |
21
|
David Ranum , Bradley Miller , John Zelle , Mark Guzdial, Successful approaches to teaching introductory computer science courses with python, Proceedings of the 37th SIGCSE technical symposium on Computer science education, March 03-05, 2006, Houston, Texas, USA
|
 |
22
|
|
 |
23
|
|
 |
24
|
|
 |
25
|
Eric Roberts , Kim Bruce , James H. Cross, II , Robb Cutler , Scott Grissom , Karl Klee , Susan Rodger , Fran Trees , Ian Utting , Frank Yellin, The ACM java task force: final report, Proceedings of the 37th SIGCSE technical symposium on Computer science education, March 03-05, 2006, Houston, Texas, USA
|
 |
26
|
|
 |
27
|
|
 |
28
|
|
| |
29
|
|
|