Computer programming as an art
Communications of the ACM
Breadth-first CS 1 for scientists
Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education
Fundamental concepts of CS1: procedural vs. object oriented paradigm - a case study
Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education
Evaluating a breadth-first cs 1 for scientists
Proceedings of the 39th SIGCSE technical symposium on Computer science education
Has the paradigm shift in CS1 a harmful effect on data structures courses: a case study
Proceedings of the 40th ACM technical symposium on Computer science education
ITiCSE 2010 working group report motivating our top students
Proceedings of the 2010 ITiCSE working group reports
A programming environment supporting a prototype-based introduction to OOP
Proceedings of the International Workshop on Smalltalk Technologies
Hi-index | 0.00 |
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.