Programming pedagogy—a psychological overview
ACM SIGCSE Bulletin
A participative approach to teaching programming
ITiCSE '98 Proceedings of the 6th annual conference on the teaching of computing and the 3rd annual conference on Integrating technology into computer science education: Changing the delivery of computer science education
The psychology of computer programming (silver anniversary ed.)
The psychology of computer programming (silver anniversary ed.)
Peopleware (2nd ed.): productive projects and teams
Peopleware (2nd ed.): productive projects and teams
Software Engineering: A Practitioner's Approach
Software Engineering: A Practitioner's Approach
Robocode throughout the curriculum
Journal of Computing Sciences in Colleges
The use of MUPPETS in an introductory java programming course
CITC5 '04 Proceedings of the 5th conference on Information technology education
Robocode: using games to teach artificial intelligence
Journal of Computing Sciences in Colleges
PSP(sm): A Self-Improvement Process for Software Engineers (Sei Series in Software Engineering)
PSP(sm): A Self-Improvement Process for Software Engineers (Sei Series in Software Engineering)
Learning styles across the curriculum
ITiCSE '05 Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education
Software engineering as a model of understanding for learning and problem solving
Proceedings of the first international workshop on Computing education research
Programming competition problems as a basis for an algorithms and data structures course
Journal of Computing Sciences in Colleges
Poogle and the unknown-answer assignment: open-ended, sharable cs1 assignments
Proceedings of the 39th SIGCSE technical symposium on Computer science education
Caching and incrementalisation in the java query language
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Unified Behavior Framework for Reactive Robot Control
Journal of Intelligent and Robotic Systems
FIE'09 Proceedings of the 39th IEEE international conference on Frontiers in education conference
Proceedings of the 15th Conference on Pattern Languages of Programs
Using personal robots in CS1: experiences, outcomes, and attitudinal influences
Proceedings of the fifteenth annual conference on Innovation and technology in computer science education
Review of recent systems for automatic assessment of programming assignments
Proceedings of the 10th Koli Calling International Conference on Computing Education Research
Game-based concept visualization for learning programming
MTDL '11 Proceedings of the third international ACM workshop on Multimedia technologies for distance learning
CTArcade: learning computational thinking while training virtual characters through game play
CHI '12 Extended Abstracts on Human Factors in Computing Systems
On the design of effective learning materials for supporting self-directed learning of programming
Proceedings of the 12th Koli Calling International Conference on Computing Education Research
Towards a new massive multiplayer online role playing game for introductory programming
Proceedings of the 6th Balkan Conference in Informatics
Teaching Agile Software Engineering Using Problem-Based Learning
International Journal of Information and Communication Technology Education
Teaching Agile Software Engineering Using Problem-Based Learning
International Journal of Information and Communication Technology Education
Hi-index | 0.00 |
The fundamental principle behind Problem-based Learning (PBL) is that the problem is the driving force that initiates the learning. In order to function effectively in a PBL environment a good set of problems is required. Solving problems is a vital element within Computer Science and yet the discipline has been slow to embrace PBL as an approach to learning. The net result means that there are few good PBL problems available to assist new practitioners with implementation. PBL emphasizes a real-world approach to learning, and we present a RoboCode Competition as a candidate for a good, realistic PBL problem within the computer science discipline. We list and identify the criteria that categorise a PBL problem as good and validate the RoboCode domain against these criteria. We argue that the concept of freedom --- in different guises --- plays a key role in making PBL a good mechanism for teaching programming, and for making RoboCode a good domain for PBL.