The BlueJ System and its Pedagogy
@article{Klling2003TheBS, title={The BlueJ System and its Pedagogy}, author={Michael K{\"o}lling and Bruce Quig and Andrew Patterson and John Rosenberg}, journal={Computer Science Education}, year={2003}, volume={13}, pages={249 - 268} }
Many teachers experience serious problems when teaching object-orientation to beginners or professionals. Many of these problems could be overcome or reduced through the use of more appropriate tools. In this paper, we introduce BlueJ, an integrated development environment designed for teaching object-orientation, and discuss how the use of this tool can change the approach to teaching.
514 Citations
A constructivist, mobile and principled approach to the learning and teaching of programming
- Computer Science, Education
- 2013
Novices in programming courses need to acquire a theoretical understanding of programming concepts as well as practical skills for applying them, but in traditional learning environments students…
Using BlueJ to Introduce Programming
- EducationReflections on the Teaching of Programming
- 2008
This chapter describes the BlueJ system and discusses experiences of using the system over eight years at various institutions, and discusses successes and failures as seen retrospectively today.
Position Paper : Towards Complexity Levels of Object Systems Used in Software Engineering Education
- Computer Science
- 2005
It is argued that well-chosen and widely accepted complexity levels for such small systems might help improving the education discipline.
Patterns for Teaching Software in Classroom
- EducationEuroPLoP
- 2007
This paper presents pedagogical patterns for the general context of teaching software concepts in classroom settings. These patterns are targeted at people who teach other people, whether in industry…
JeCo, a Collaborative Learning Tool for Programming
- Education, Computer Science2004 IEEE Symposium on Visual Languages - Human Centric Computing
- 2004
The new concept of collaborative program visualization is explained and a tool to support it is presented, called JeCo, that can help students work together on a platform that supports both collaborative authoring and program visualization.
Usage of Technology Enhanced Educational Tools for Delivering Programming Courses
- EducationInt. J. Emerg. Technol. Learn.
- 2011
Experiences gathered during years of a technology-enhanced approach in teaching Object-Oriented Programming (OOP) at two universities in two countries are presented and compared and emphasis is given on the technology- enhanced educational tools that were selected or developed by the two institutions for teaching OOP.
The Greenfoot Programming Environment
- Computer ScienceTOCE
- 2010
This article first describes Greenfoot and then goes on to discuss design goals and motivations, strengths and weaknesses of the system, and its relation to two environments with similar goals, Scratch and Alice.
A Case Study of an Integrated Programming Course Based on PBL
- Computer Science2019 IEEE Frontiers in Education Conference (FIE)
- 2019
A case study of a course that uses problem-based learning (PBL) to integrate the subjects of Object-Oriented Programming, Data Structures and Software Design and aims to explore student learning when this teaching-learning approach was applied in the second term of a Computer Engineering undergraduate program.
An “objects first, tests second” approach for software engineering education
- Education2015 IEEE Frontiers in Education Conference (FIE)
- 2015
The approach of “ objects first, tests second” is introduced, which incorporates unit testing into introductory programming classes and discusses requirements that teaching materials must meet to effectively support this approach.
NoobLab: An E-learning Platform for Teaching Programming
- Computer Science2014 IEEE 8th International Symposium on Embedded Multicore/Manycore SoCs
- 2014
Noob Lab is described, an e-learning platform for teaching programming that provides a complete suite of features surpassing prior work, and has successfully been used in a number of undergraduate modules to improve student outcomes, satisfaction, and inform pedagogy.
References
SHOWING 1-10 OF 21 REFERENCES
Guidelines for teaching object orientation with Java
- EducationITiCSE '01
- 2001
How to best teach object orientation to first year students is currently a topic of much debate. One of the tools suggested to aid in this task is BlueJ, an integrated development environment…
Teaching Java with the BlueJ Environment
- Computer Science, Education
- 2000
This paper reports on the first use of BlueJ to teach Java to an introductory programming class, in a computing degree in 1999, and found that BlueJ was helpful in the class.
The Problem of Teaching Object-Oriented Programming, Part 2: Environments
- Computer ScienceJ. Object Oriented Program.
- 1999
This month’s column is devoted to the discussion of environments: a suitable programming environment is crucial for the success of an introductory course and the suitability of environments for first-year teaching.
Evaluating Languages and Environments for Novice Programmers
- Computer SciencePPIG
- 2002
An existing method of comparing and evaluating programming languages is discussed, and how that method can be adapted to compare and evaluate integrated development environments, with a particular focus on environments for novice programmers.
Problem-Based Learning for Foundation Computer Science Courses
- Education, Computer ScienceComput. Sci. Educ.
- 2000
A summary of the experience over three years of PBL teaching and some of the pragmatic issues around introducing the radical change in teaching, maintaining staff support, and continuing refinement of the approach are discussed.
AAA and CS 1: the applied apprenticeship approach to CS 1
- Computer ScienceSIGCSE '95
- 1995
An application-based approach to introductory courses in computer science that follows an apprenticeship model of learning, where students begin by reading, studying, and extending programs written by experienced and expert programmers is developed.
Extreme Programming Explained
- Computer Science
- 2002
Extreme Programming (XP) was conceived and developed to address the specific needs of software development conducted by small teams in the face of vague and changing requirements. This new…
Conservatively radical Java in CS1
- Computer ScienceSIGCSE '00
- 2000
A “conservatively radical” middle ground where the conservatives teach the old course in Java syntax and the radicals restructure the course to include Graphical User Interfaces (GUIs) and concurrency.
The case for case studies of programming problems
- Computer ScienceCACM
- 1992
The authors' case studies explain and defend the decisions made by an expert to produce a solution to the problem at hand, and contrast effective and ineffective strategies for solving this problem and related problems.