Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Teaching CS1 with karel the robot in Java

Published: 01 February 2001 Publication History

Abstract

Most current Java textbooks for CS1 (and thus most current courses) begin either with fundamentals from the procedural paradigm (assignment, iteration, selection) or with a brief introduction to using objects followed quickly with writing objects. We have found a third way to be most satisfying for both teachers and students: using interesting predefined classes to introduce the fundamentals of object-oriented programming (object instantiation, method calls, inheritance) followed quickly by the traditional fundamentals of iteration and selection, also taught using the same predefined classes.Karel the Robot, developed by Richard Pattis [6] and well-known to many computer science educators, has aged gracefully and is a vital part of our CS1 curriculum. This paper explains how Karel may be used and the advantages of doing so.

References

[1]
Becker, Byron Weber. Pedagogiesfor Teaching CS1 in Java. http://www.math.uwaterloo.ca/-bwbecker/ papers/sigcse2001/iavaPedagogies/index.html.
[2]
Bergin, Joseph, Mark Stehlik, Jim Roberts, and Richard Pattis. Karel++: A Gentle Introduction to the Art of Object-Oriented Programming. John Wiley & Sons, 1997.
[3]
Buck, Duane and David J. Stucki. Design Early Considered Harmful: Graduated Exposure to Complexity and Structure Based on Levels of Cognitive Development. SIGCSE Bulletin 1 (2000), p. 75-79.
[4]
Lewis, Johia and William Loftus. Java Software Solutions. Addison-Wesley, 2000.
[5]
Morelli, Ralph. Java, Java, Java: Object-Oriented Problem Solving. Prentice-Hall, 2000.
[6]
Patfis, Richard E. Karel the Robot: A Gentle Introduction to the Art of Programming, John Wiley & Sons, 1981.
[7]
Pattis, Richard E. Teaching tOP in C++ Using an Artificial Life Framework. SIGCSE Bulletin 1 (1997), p. 39-43.
[8]
Resnick, Mitchel. Turtles, termites, and traffic jams: explorations in massively parallel microworlds. The MIT Press, 1994.
[9]
Slack, James M. Programming and Problem Solving with Java. Brooks/Cole, 2000.
[10]
Wu, C. Thomas. An Introduction to Object-Oriented Programming with Java. WCB/McGraw-Hill, 1999.

Cited By

View all
  • (2022)Game design and didactic transposition of knowledge. The case of progo, a game dedicated to learning object-oriented programmingEducation and Information Technologies10.1007/s10639-022-11158-628:1(283-302)Online publication date: 29-Jun-2022
  • (2021)Is programming relevant to CS1 students' interests?Journal of Computing Sciences in Colleges10.5555/3512469.351247537:1(45-53)Online publication date: 1-Oct-2021
  • (2021)Teaching and Learning to Program: Umbrella Review of Introductory Programming in Higher EducationMathematics10.3390/math91517379:15(1737)Online publication date: 23-Jul-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGCSE Bulletin
ACM SIGCSE Bulletin  Volume 33, Issue 1
March 2001
432 pages
ISSN:0097-8418
DOI:10.1145/366413
Issue’s Table of Contents
  • cover image ACM Conferences
    SIGCSE '01: Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
    February 2001
    456 pages
    ISBN:1581133294
    DOI:10.1145/364447
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 February 2001
Published in SIGCSE Volume 33, Issue 1

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)15
  • Downloads (Last 6 weeks)0
Reflects downloads up to 12 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2022)Game design and didactic transposition of knowledge. The case of progo, a game dedicated to learning object-oriented programmingEducation and Information Technologies10.1007/s10639-022-11158-628:1(283-302)Online publication date: 29-Jun-2022
  • (2021)Is programming relevant to CS1 students' interests?Journal of Computing Sciences in Colleges10.5555/3512469.351247537:1(45-53)Online publication date: 1-Oct-2021
  • (2021)Teaching and Learning to Program: Umbrella Review of Introductory Programming in Higher EducationMathematics10.3390/math91517379:15(1737)Online publication date: 23-Jul-2021
  • (2021)Is Augmented Reality Robot as Effective as Physical Robot in Motivating Students to Learn Programming?2021 IEEE International Conference on Engineering, Technology & Education (TALE)10.1109/TALE52509.2021.9678820(1-8)Online publication date: 5-Dec-2021
  • (2021)Children’s Debugging Processes and Strategies with a Simulated Robot: A Case StudyEducation in & with Robotics to Foster 21st-Century Skills10.1007/978-3-030-77022-8_6(64-74)Online publication date: 14-May-2021
  • (2020)Design and analysis of microworlds and puzzles for block-based programmingComputer Science Education10.1080/08993408.2020.183281332:1(66-104)Online publication date: 28-Oct-2020
  • (2019)Teaching Based on Ludic Environments for the First Session of Computer Programming - Experience With Digital NativesIEEE Revista Iberoamericana de Tecnologias del Aprendizaje10.1109/RITA.2019.292284714:2(34-42)Online publication date: May-2019
  • (2019)A graphical methodology to promote programming language concepts in novice2019 International Conference on Innovative Computing (ICIC)10.1109/ICIC48496.2019.8966727(1-5)Online publication date: Nov-2019
  • (2018)Effectiveness of Physical Robot Versus Robot Simulator in Teaching Introductory Programming2018 IEEE International Conference on Teaching, Assessment, and Learning for Engineering (TALE)10.1109/TALE.2018.8615190(486-493)Online publication date: Dec-2018
  • (2016)Teaching Abstraction, Function and Reuse in the first class of CS1Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education10.1145/2899415.2925505(256-257)Online publication date: 11-Jul-2016
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media