Difficulties teaching Java in CS1 and how we aim to solve them

  • Authors:
  • George R. S. Weir;Tamar Vilner;António José Mendes;Marie Nordström

  • Affiliations:
  • University of Strathclyde, Glasgow, UK;Open University of Israel, Raanana, Israel;Univ. Coimbra, Coimbra, Portugal;Umeå University, Umeå, Sweden

  • Venue:
  • ITiCSE '05 Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

In 1971 Dijkstra noted that as a teacher of programming he 'feels akin to a teacher of composition at a conservatory. He does not teach his pupils how to compose a particular symphony, he must help his pupils to find their own style and must explain to them what is implied by this' [1]. In similar vein, Don Knuth suggests that 'computer programming is an art, because it applies accumulated knowledge to the world, because it requires skill and ingenuity, and especially because it produces objects of beauty' [2].Traditionally, most Computer Science programs offer an introductory programming methodology course (CS1). In recent years, many institutions have subjected this course to major changes. One common alteration has been a move from a procedural paradigm to an Object Oriented (OO) paradigm. In many cases, this is manifested as a change to programming in Java. Emerging from this transition is the apparent anomaly that many students fail to understand OOP concepts, especially when required to use them in problem solving.Our panel represents researchers from four different countries who have all encountered such problems with a CS1 course. In this light, the panel focuses on CS1 difficulties and aims to address solutions to the 'Java problem'. Although we bring our own insights to the considered issues, we aim to engage the panel audience in discussing the nature of the problem and the propriety of the proposed solutions.