Turtles, termites, and traffic jams: explorations in massively parallel microworlds
Turtles, termites, and traffic jams: explorations in massively parallel microworlds
Teaching OOP in C++ using an artificial life framework
SIGCSE '97 Proceedings of the twenty-eighth SIGCSE technical symposium on Computer science education
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
Programming and Problem Solving with Java
Programming and Problem Solving with Java
An Introduction to Object-Oriented Programming with Java
An Introduction to Object-Oriented Programming with Java
Karel the Robot: A Gentle Introduction to the Art of Programming
Karel the Robot: A Gentle Introduction to the Art of Programming
Karel++: A Gentle Introduction to the Art of Object-Oriented Programming
Karel++: A Gentle Introduction to the Art of Object-Oriented Programming
Java, Java, Java!: Object-Oriented Problem Solving with Cdrom
Java, Java, Java!: Object-Oriented Problem Solving with Cdrom
Java Software Solutions: Foundations of Program Design
Java Software Solutions: Foundations of Program Design
Teaching a Java-based CS1 course in an academically-diverse environment
SIGCSE '02 Proceedings of the 33rd SIGCSE technical symposium on Computer science education
Teaching introductory Java through LEGO MINDSTORMS models
SIGCSE '02 Proceedings of the 33rd SIGCSE technical symposium on Computer science education
Introducing computer science through animation and virtual worlds
SIGCSE '02 Proceedings of the 33rd SIGCSE technical symposium on Computer science education
Jeroo: a tool for introducing object-oriented programming
SIGCSE '03 Proceedings of the 34th SIGCSE technical symposium on Computer science education
Classroom experience with Jeroo
Journal of Computing Sciences in Colleges
Experiences incorporating Java into the introductory sequence
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
Teaching Java first: experiments with a pigs-early pedagogy
ACE '04 Proceedings of the Sixth Australasian Conference on Computing Education - Volume 30
greenfoot: combining object visualisation with interaction
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
The use of MUPPETS in an introductory java programming course
CITC5 '04 Proceedings of the 5th conference on Information technology education
Student competitions and bots in an introductory programming course
Journal of Computing Sciences in Colleges
Evaluating assessments of novice programming environments
Proceedings of the first international workshop on Computing education research
Freedom to succeed: a three course introductory sequence using Python and Java
Journal of Computing Sciences in Colleges
An open-source CVE for programming education: a case study
SIGGRAPH '05 ACM SIGGRAPH 2005 Courses
A survey of literature on the teaching of introductory programming
Working group reports on ITiCSE on Innovation and technology in computer science education
Visualization of Program Behaviors: Physical Robots Versus Robot Simulators
ISSEP '08 Proceedings of the 3rd international conference on Informatics in Secondary Schools - Evolution and Perspectives: Informatics Education - Supporting Computational Thinking
A simple framework for interactive games in CS1
Proceedings of the 40th ACM technical symposium on Computer science education
Learning to Program with Personal Robots: Influences on Student Motivation
ACM Transactions on Computing Education (TOCE)
NoobLab: An Intelligent Learning Environment for Teaching Programming
WI-IAT '12 Proceedings of the The 2012 IEEE/WIC/ACM International Joint Conferences on Web Intelligence and Intelligent Agent Technology - Volume 03
An evaluation of interactive test-driven labs with WebIDE in CS0
Proceedings of the 2013 International Conference on Software Engineering
Investigating the effectiveness of early programming-centric models for IT education
Proceedings of the 14th annual ACM SIGITE conference on Information technology education
Hi-index | 0.00 |
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.