skip to main content
article

Students' understanding of computer science soft ideas: the case of programming paradigm

Published:01 June 2007Publication History
Skip Abstract Section

Abstract

The article presents a research that focused on how the concept programming paradigm is understood in general, and on the understanding of the following three programming paradigms, in particular: functional, procedural, and object-oriented. The research population included seventeen prospective computer science teachers who were participating in a "Programming Paradigms" course. Research observations are organized within a framework that categorizes students' thinking about the concept of programming paradigm in three levels of abstraction.

References

  1. Abelson H., Sussman G., and Sussman J. (1996). Structure and Interpretation of Computer Programs, 2nd Edition, The MIT Press, Cambridge, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Ambler, A. L., Burnett, M. M. and Zimmerman, B. A. (1992). Operational versus definitional: a perspective on programming paradigms, Computer 25(9), pp. 28--43. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Carey, T. and Shepherd, M. (1988) Towards empirical studies of programming in new paradigms. Proceedings of the ACM Sixteenth Annual Conference on Computer Science (Atlanta, Georgia, United States), CSC '88. ACM Press, New York, pp. 72--78. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Coorder, C. (1990). Teaching Hard Teaching Soft: A Structured Approach to Planning and Running Effective Training Courses, Gower.Google ScholarGoogle Scholar
  5. Dubinsky, E. (1991). Reflective abstraction in advanced mathematical thinking, in D. Tall (ed.), Advanced Mathematical Thinking, Kluwer Academic Publishers, Dordrecht, pp. 95--123.Google ScholarGoogle Scholar
  6. Harel, G. and Kaput, J. (1991). The role of conceptual entities in building advanced mathematical concepts and their symbols, in D. Tall (ed.), Advanced Mathematical Thinking, Kluwer Academic Publishers, Dordrecht, The Netherlands, pp. 82--94.Google ScholarGoogle Scholar
  7. Floyd, R. W. (1979). The paradigms of programming, Comm. of the ACM22(8), pp. 445--460. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Kuhn, T. S. (1962). The Structure of Scientific Revolution, University of Chicago.Google ScholarGoogle Scholar
  9. Liskov, B. with Cuttag, J. (2001). Program Development in Java --- Abstraction, Specification, and Object-Oriented Design, Addison-Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Sethi, R (1996). Programming Languages Concepts & Constructs, 2nd Edition, Addison-Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Sfard, A (1991). On the dual nature of mathematical conceptions: Reflections on processes and objects as different sides of the same coin, Educational Studies in Mathematics 22, pp. 1--36.Google ScholarGoogle ScholarCross RefCross Ref
  12. Sfard, A and Linchevski, L. (1994). The gains and the pitfalls of reification---the case of algebra, Educational Studies in Mathematics 26, pp. 191--228Google ScholarGoogle ScholarCross RefCross Ref
  13. Tucker, A. and Noonan, R. (2002). Programming Languages --- Principles and Paradigms, McGraw Hill. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Tall, D. and Gray, E. (1994) Duality, ambiguity and flexibility: A proceptual view of simple arithmetic, The Journal for Research in Mathematics Education 26(2), pp. 115--141.Google ScholarGoogle Scholar
  15. Turkle, S. (1984). The Second Self: Computer and Human Spirits, Simon and Shuster. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Van Roy P. and Haridi S. (2002). Teaching programming with the kernel language approach, PLI2002 Workshop on Functional and Declarative Programming in Education.Google ScholarGoogle Scholar
  17. Van Roy P. and Haridi, S. (2004). Concepts, Techniques, and Models of Computer Programming, MIT Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Van Roy, P., Armstrong, J., Flatt, M., and Magnusson, B. (2003). The role of language paradigms in teaching programming. Proceedings of the 34th technical symposium on Computer science education, pp. 269--270. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Watt, D. A. (1990). Programming Language Concepts and Paradigms, Prentice Hall. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Students' understanding of computer science soft ideas: the case of programming paradigm

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader