Skip to main content
Log in

High-School Students' Attitudes Regarding Procedural Abstraction

  • Published:
Education and Information Technologies Aims and scope Submit manuscript

Abstract

During the last decade a new computer science curriculum has been taught in Israeli high schools. This curriculum introduces CS concepts and problem-solving methods independently of specific computers and programming languages, along with the practical implementation of those concepts and methods encountered in actual programming languages. The advanced study unit of the curriculum, Software Design, introduces the students to various aspects of software systems design through the use of abstract data types (ADTs). One main goal of the unit is to develop abstract thinking skills and problem-solving abilities. More specifically, the unit presents principles such as procedural abstraction, data abstraction, information hiding, modularity, efficiency, and reuse of code.

We present the results of a preliminary study whose aim was to assess students' attitudes regarding procedural abstraction. The research population consisted of high-school students who attended the Software Design course (beginners), and a control group of undergraduate CS students (advanced). The results of the study clearly indicated a significant difference between the attitudes of the two groups. We found that the advanced students preferred algorithms that were formulated to some extent with high-level abstraction; however, they encountered a cognitive barrier when dealing with algorithms that they had evaluated as too abstract for them. However, beginners felt more comfortable with algorithms with low-level abstraction. Nevertheless they showed open-mindedness toward some degree of procedural abstraction. The results of the study were used to design scaffolding problem-solving tools for algorithm development, utilizing procedural abstraction techniques that can be adapted to various student populations (Haberman, B. (2002) SIGCSE Bulletin, 34(4), 60–64).

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  • Aho, A. V. and Ullman, J. D. (1995) Foundations of Computer Science, C Edition. Computer Science Press, W. H. Freeman and Company, New York.

    Google Scholar 

  • Astrachan, O. L. (1997) A Computer Science Tapestry, 2nd edition. McGraw-Hill, New York.

    Google Scholar 

  • Brandeis, O., et al. (1997) Software Design (in Hebrew).

  • Bucci, P., Long, T. J., and Weide, B. W. (2001) Do we really teach abstraction? In Proceedings of the 31th SIGCSE Technical Symposium on CS Education, pp. 26-30.

  • Colburn, T. R. (1999) Software, abstraction, and ontology. Monist, a Quarterly Magazine Devoted to the Philosophy of Science, 82(1), 3–19.

    Google Scholar 

  • Computing Curricula (1991) Report of the joint ACM/IEEE-CS Curriculum Task Force.

  • Computing Curricula (2001a) Journal of Educational Resources in Computing (JERIC), 1(3), September.

  • Computing Curricula (2001b) CC2001 Computer Science volume, Final Report (December, 2001), p. 12.

  • Dale, N. and Walker, H. M. (1996) Abstract Data Types-Specifications, Implementations, and Applications. D.C. Heath and Company.

  • Denning, P. J., Comer, D. E., Greis, D., Mulder, M. C., Tucker, A., Turner, J., and Young, P. R. (1989) Computing as a discipline. Communication of the ACM, 32(1), 9–23.

    Google Scholar 

  • Evans, M. D. (1996) A new emphasis and pedagogy for CS1 course. SIGCSE Bulletin, 28(3), 12–16.

    Google Scholar 

  • Fleury, A. E. (1993) Students' beliefs about Pascal programming. Journal of Educational Computing Research, 9(3), 355–371.

    Google Scholar 

  • Gal-Ezer, J., Beeri, C., Harel, D., and Yehudai, A. (1995) A high-school program in computer science. Computer, 28(10), 73–80.

    Google Scholar 

  • Gal-Ezer, J. and Harel, D. (1999) Curriculum and course syllabi for high school CS program. Computer Science Education, 9(2), 114–147.

    Google Scholar 

  • Gal-Ezer, J. and Zeldes, A. (2000) Teaching software designing skills. Computer Science Education, 10(1), 25–38.

    Google Scholar 

  • Ginat, D. and Shifroni, E. (1999) Teaching recursion in a procedural environment-How much should we emphasize the computing model? In Proceedings of the 30th SIGCSE Technical Symposium on Computer Science Education, pp. 127-131.

  • Haberman, B. (2002) Frames and boxes: A pattern-based method for manipulating binary trees. SIGSCE Bulletin, 34(4), 60–64.

    Google Scholar 

  • Haberman, B., Shapiro, E., and Scherz, Z. (2002) Are black boxes transparent?-High school students' strategies of using abstract data types. Journal of Educational Computing Research, 27(4), 411–436.

    Google Scholar 

  • Hoadley, C., Mann, L., Linn, M., and Clancy, M. (1996) When, why, and how do novice programmers reuse code? In Empirical Studies of Programmers: 6th Workshop, W. D. Gray and D. A. Boehm-Davis (eds). Ablex Publishing, Norwood, NJ, pp. 109–129.

    Google Scholar 

  • Hoare, C. A. R. (1986) Mathematics of Programming Byte, August, pp. 115-124, 148-150.

  • Kiper, J. D. and Bishop-Clark, C. (1995) Abstraction, design, and theory in computer science: A liberal arts course. Computer Science Education, 6(1), 93–100.

    Google Scholar 

  • Koppelman, H. (2001) Teaching abstraction explicitly. In Proceedings of the 6th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education, p. 191.

  • Leron, U. (1987) Abstraction barriers in mathematics and computer science. In Proceedings of the 3rd International Logo and Mathematics Education Conference, J. Hillel (ed.). Montreal, pp. 12-26.

  • Linn, M. C. and Clancy, M. J. (1992) The case for case studies of programming problems. Communications of the ACM, 35(3), 121–132.

    Google Scholar 

  • Machanick, P. (1998) The abstraction-first approach to data abstraction and algorithms. Computers and Education, 31(2), 135–150.

    Google Scholar 

  • Marion, W. (1999) CS1: What should we be teaching? Inroads SIGCSE Bulletin, 31(4), (1999), 35–38.

    Google Scholar 

  • Nguyen, D. (1998) Design patterns for data structures. In Proceedings of the 28th SIGCSE Technical Symposium on CS Education, pp. 336-340.

  • Rist, R. S. (1989) Schema creation in programming. Cognitive Science, 13, 389–414.

    Google Scholar 

  • Soloway, E. (1985) From problems to programs via plans: The content and structure of knowledge for introductory lisp programming. Journal of Educational Computing Research, 1(2), (1985), 157–172.

    Google Scholar 

  • Sooriamurthi, R. (2001) Problems in comprehending recursion and suggested solutions. In Proceedings of the 6th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education, pp. 25-28.

  • Ye, N. and Salvendy, G. (1996) Expert-novice differences in computer programming knowledge at different levels of abstraction. Ergonomics, 39(3), 461–481.

    Google Scholar 

  • Webster's New World Dictionary of the American Language, 2nd College Edition, D. B. Guralnik (ed.). Simon and Schuster, New York, 1984.

    Google Scholar 

Download references

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Haberman, B. High-School Students' Attitudes Regarding Procedural Abstraction. Education and Information Technologies 9, 131–145 (2004). https://doi.org/10.1023/B:EAIT.0000027926.99053.6f

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/B:EAIT.0000027926.99053.6f

Navigation