Evolving Boxes as Flexible Tools for Teaching High-School Students Declarative and Procedural Aspects of Logic Programming
During the last decade a new computer science curriculum has been taught in Israeli high schools. The curriculum introduces CS concepts and problem-solving methods and combines both theoretical and practical issues. The Logic Programming elective module of the curriculum was designed to introduce to students a second programming paradigm. In this paper we describe how we used evolving boxes, when teaching abstract data types (ADTs), to introduce the interweaving declarative and procedural aspects of logic programming. The following types of evolving boxes were used: (a) black boxes that could be used transparently, (b) white boxes that could be modified to suit specific needs, and (c) grey boxes that reveal parts of their internal workings.
We conducted a study aimed at assessing students’ use of ADTs. The findings indicated that the students demonstrated an integrative knowledge of ADT boxes as programming tools, and employed unique autonomous problem-solving strategies when using ADTs in programming.
KeywordsLogic Program Logic Programming General Predicate Programming Paradigm Flexible Tool
Unable to display preview. Download preview PDF.
- 2.Ben-Ari, M.: Understanding Programming Languages. John Wiley, Chichester (1995)Google Scholar
- 3.Buechi, M., Weck, W.: A plea for Grey-Box components. In: Workshop on Foundations of Object-Oriented Programming, Zürich (September 1997), Available: http://www.cs.iastate.edu/~leavens/FoCBS/buechi.html
- 7.Eckstein, J.: Empowering framework users. In: Fayad, M.E., Schmidt, D.C., Johnson, R.E. (eds.) Building Application Frameworks: Object-Oriented Foundations of Framework Design, pp. 505–522. John Wiley & Sons, Chichester (1999)Google Scholar
- 8.Haberman, B.: Lists in Prolog. M.S. Thesis. The Weizmann Institute of Science, Rehovot, Israel (1990) (in Hebrew) Google Scholar
- 10.Haberman, B., Scherz, Z.: Abstract data types as tools for project development – High school students’ views. Journal of Computer Science Education online (January 2003), http://iste.org/sigcs/community/jcseonline/
- 11.Haberman, B., Shapiro, E., Scherz, Z.: Are black boxes transparent? – High school students’ strategies of using abstract data types. Journal of Educational Computing Research 27(4), 236–411 (2002)Google Scholar
- 12.Helm, R., Holland, M., Gangopadhyay, D.: Contracts: Specifying behavioral compositions in Object-Oriented systems. In: Proceedings of the European Conference on Object-Oriented Programming on Object-oriented programming systems, languages and applications (ECOOP/OOPSALA), Ottawa Canada, October 1990, vol. 25, pp. 169–180 (1990)Google Scholar
- 13.Kiczales, G.: Why are black boxes so hard to reuse? In: Invited talk, OOPSLA 1994 (1994), http://www.parc.xerox.com/spl/projects/oi/towards-talk/transcript.html
- 15.Scherz, Z., Haberman, B.: The role of abstract data types in the project development process. Submitted to Journal of Computer Science Education (2003)Google Scholar