ABSTRACT
In this article, we try to create a general, worldwide picture of teachers' opinion about what should be taught in introductory programming courses. We focus on the debate about restructuring CS1. The study explores what teachers believe is important to teach, what they actually teach, and what students find most difficult (according to their teachers). what is the general approach to teaching (programming language, IDE, object-orientation or not, type of institution), what topics are taught, and what role do the areas that novices find difficult play in introductory programming course.In addition, we explore how these specific topics fit into a larger conceptual classification: Earlier studies of topics taught in introductory programming focuses only on one dimension of a given topic - either relevance or difficulty. In this study, we evaluate each topic regarding three dimensions: relevance, difficulty and the cognitive level (according to Bloom's taxonomy). This allows giving a more faceted picture of teachers' beliefs in teaching introductory programming courses.Furthermore, we assess the role of findings from the eighties in today's teaching: The need to understand five different areas of programming. Are these areas still in focus; are they relevant, and what is the connection to the topics taught - especially object-oriented (OO) topics?A special focus is given on students' understanding of the execution of a (OO) program; one of the five areas. In order to connect the ideas of a notional machine to OO concepts we present a four levelled competence hierarchy for object-interaction.Teachers assessed the area 'understanding the notional machine' as least important. Despite this, they assessed the herachy of object-interaction - meant as basis for a notional machine for the OO-paradigm - as an important aspect.Although teachers stress the importance of teaching general abstract structures, teaching seems to focus on concrete programming issues. A conclusion for further research on teaching OO programming and concerning the hierarchy of object interaction is that teaching is not only a matter of topics, but also a matter of perspective on teaching the topics.
- Koenigstein. (Last accessed May 14, 2006) http://koenigstein.inf.tu-dresden.deGoogle Scholar
- Baldwin, D. & Tymann, P. SIGCSE 2006. (Last accessed March 24, 2006) http://www.cs.rit.edu/~sigcse06/Google Scholar
- Ben-Ari, M. Constructivism in Computer Science Education. Journal of Computers in Mathematics and Science Teaching, 20, 1 (2001), 45--73. Google ScholarDigital Library
- Bennedsen, J. & Schulte, C. Interaction hierarchy. (Last accessed May, 04, 2006) http://www.daimi.au.dk/~jbb/icer06.htmlGoogle Scholar
- Bloom, B. S., Krathwohl, D. R. & Masia, B. B. (1956). Taxonomy of educational objectives. the classification of educational goals. handbook I: Cognitive domain.Google Scholar
- Christensen, H. B. (2004). Frameworks: putting design patterns into perspective. In ITiCSE '04: Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education (Leeds, United Kingdom, ACM Press, 142--145. Google ScholarDigital Library
- Dale, N. Course Content Survey. (Last accessed March 23, 2006) http://www.cs.utexas.edu/users/ndale/ContentResults.htmlGoogle Scholar
- Dale, N. Course Content Survey Results (publisher's list group). (Last accessed April 4, 2006) http://www.cs.utexas.edu/users/ndale/ContentResults2.htmlGoogle Scholar
- Dale, N. Course Content Survey Results (SIGCSE group). (Last accessed April 4, 2006) http://www.cs.utexas.edu/users/ndale/ContentResults.htmlGoogle Scholar
- Dale, N. Content and emphasis in CS1. SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education), 37, 4 (2005), 69--73. Google ScholarDigital Library
- Detienne, F. Assessing the cognitive consequences of the object-oriented approach: A survey of empirical research on object-oriented design by individuals and teams. Interacting with Computers, 9, 1 (1997), 47--72.Google ScholarCross Ref
- DMLF. Danish Association of Datamatecian Educators. (Last accessed April 4, 2006) http://www.dmlf.dk/Google Scholar
- du Boulay, B. (1989). Some difficulties of learning to program. In Soloway, E. and Spohrer, J. C. (Eds): Studying the novice programmer, 57--73.Google Scholar
- du Boulay, B., O'Shea, T. & Monk, J. (1989). The black box in-side the glass box: Presenting computing concepts to novices. In Soloway, E. and Spohrer, J. C. (Eds): Studying the novice programmerGoogle Scholar
- Engel, G. & Roberts, E. Computing Curricula 2001 Computer Science, Final Report. (Last accessed March 10, 2006) http://www.computer.org/portal/cms_docs_ieeecs/ieeecs/education/cc2001/cc2001.pdfGoogle Scholar
- Goold, A. & Rimmer, R. Factors affecting performance in first-year computing. SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education), 32, 2 (2000), 39--43. Google ScholarDigital Library
- Gries, D. (1974). What should we teach in an introductory programming course? In SIGCSE '74: Proceedings of the fourth SIGCSE technical symposium on Computer science education ACM Press, 81--89. Google ScholarDigital Library
- Guzdial, M. (1995). Centralized mindset: a student problem with object-oriented programming. In SIGCSE '95: Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education (Nashville, Tennessee, United States, ACM Press, 182--185. Google ScholarDigital Library
- Howe, E., Thornton, M. & Weide, B. W. (2004). Components-first approaches to CS1/CS2: principles and practice. In SIGCSE '04: Proceedings of the 35th SIGCSE technical symposium on Computer science education (Norfolk, Virginia, USA, ACM Press, 291--295. Google ScholarDigital Library
- Inroads. 37, 4 (2005),Google Scholar
- Inroads. 37, 2 (2005),Google Scholar
- ITiCSE. The tenth annual conference on innovation and technology in Computer Science Education, Universisidade Nova de Lisboa, Monte da Caparica, Portugal. June 27-29, 2005. (Last accessed April 4, 2006) http://www.iticse05.unl.pt/Google Scholar
- Lahtinen, E., Ala-Mutka, K. & Jäärvinen, H. (2005). A study of the difficulties of novice programmers. In ITiCSE '05: Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education (Caparica, Portugal, ACM Press, 14--18. Google ScholarDigital Library
- Lidtke, D. K. & Zhou, H. H. (1999). A new approach to an introduction to computer science. In Procedings of 29th Annual Frontiers in Education Conference, pp. 12A4/23 vol.1.Google ScholarCross Ref
- Lister, R. Mixed methods: positivists are from Mars, constructivists are from Venus. SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education), 37, 4 (2005), 18--19. Google ScholarDigital Library
- Marion, W. CS1: what should we be teaching? In ITiCSE-WGR '99: Working group reports from ITiCSE on Innovation and technology in computer science education (1999) (Cracow, Poland), ACM Press, 35--38. Google ScholarCross Ref
- Milne, I. & Rowe, G. Difficulties in Learning and Teaching Programming - Views of Students and Tutors. Education and Information Technologies, 7, 1 (2002), 55--66. Google ScholarDigital Library
- Moritz, S. H., Wei, F., Parvez, S. M. & Blank, G. D. (2005). From objects-first to design-first with multimedia and intelligent tutoring. In ITiCSE '05: Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education (Caparica, Portugal), ACM Press, 99--103. Google ScholarDigital Library
- OOPSLA. 20th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications. (Last accessed April 4, 2006) http://www.oopsla.org/2005/ShowPage.do?id=HomeGoogle Scholar
- OOPSLA. 19th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications. (Last accessed April 4, 2006) http://www.oopsla.org/2004/ShowPage.do?id=HomeGoogle Scholar
- Pattis, R. E. (1993). The "procedures early" approach in CS 1: a heresy. In SIGCSE '93: Proceedings of the twenty-fourth SIGCSE technical symposium on Computer science education (Indianapolis, Indiana, United States, ACM Press, 122--126. Google ScholarDigital Library
- QuestionPro. Online Survey Software. (Last accessed April 4, 2006) http://www.questionpro.com/Google Scholar
- Raadt, M. D., Watson, R. & Toleman, M. (2002). Language Trends in Introductory Programming Courses. In Proceedings of the Informing Science + IT Education Conference (Cork, Ireland, June 19-21) 329--337.Google ScholarCross Ref
- Ragonis, N. & Ben-Ari, M. (2005). On understanding the statics and dynamics of object-oriented programs. In SIGCSE '05: Proceedings of the 36th SIGCSE technical symposium on Computer science education (St. Louis, Missouri, USA, ACM Press, 226--230. Google ScholarDigital Library
- Reges, S. (2006). Back to basics in CS1 and CS2. In SIGCSE '06: Proceedings of the 37th SIGCSE technical symposium on Computer science education (Houston, Texas, USA, ACM Press, 293--297. Google ScholarDigital Library
- Robins, A., Rountree, J. & Rountree, N. Learning and Teaching Programming: A Review and Discussion. Journal of Computer Science Education, 13, 2 (2003), 137--172.Google ScholarCross Ref
- Rountree, N., Rountree, J., Robins, A. & Hannah, R. Interacting factors that predict success and failure in a CS1 course. In ITiCSE-WGR '04: Working group reports from ITiCSE on Innovation and technology in computer science education (Leeds, United Kingdom), (2004). ACM Press, 101--104. Google ScholarDigital Library
- Salakoski, T. Koli Calling. (Last accessed March 24, 2006) http://www.it.utu.fi/koli05/proceedings/final_composition.b5.060207.pdfGoogle Scholar
- Schulte, C. (2005). Dynamic object structures as a conceptual framework for teaching object-oriented concepts to novices. In Proceedings of 5th Annual Finnish/Baltic Sea Conference on Computer Science Education (Koli, Finland, November 17-20)Google Scholar
- SIGCSE-members. Archives of [email protected]. (Last accessed March 22, 2006) http://listserv.acm.org/archives/sigcse-members.htmlGoogle Scholar
- Wiedenbeck, S., Fix, V. & Scholtz, J. Characteristics of the mental representations of novice and expert programmers: an empirical study. 39, 5 (1993), 793--812. Google ScholarDigital Library
- Winslow, L. E. Programming pedagogy - a psychological overview. SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education), 28, 3 (1996), 17--22. Google ScholarDigital Library
Index Terms
- What do teachers teach in introductory programming?
Recommendations
Introductory programming: a systematic literature review
ITiCSE 2018 Companion: Proceedings Companion of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science EducationAs computing becomes a mainstream discipline embedded in the school curriculum and acts as an enabler for an increasing range of academic disciplines in higher education, the literature on introductory programming is growing. Although there have been ...
Teaching Introductory Programming: A Quantitative Evaluation of Different Approaches
Teaching programming to beginners is a complex task. In this article, the effects of three factors—choice of programming language, problem-solving training, and the use of formative assessment—on learning to program were investigated. The study adopted ...
A Survey of Introductory Programming Courses in Ireland
ITiCSE '19: Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science EducationBetween January and April of 2018, a comprehensive survey of introductory programming courses was undertaken across all sectors of Irish third-level institutions (universities, institutes of technology, and private colleges). The survey instrument was ...
Comments