Evolving Boxes as Flexible Tools for Teaching High-School Students Declarative and Procedural Aspects of Logic Programming

  • Bruria Haberman
  • Zahava Scherz
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3422)


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.


Logic Program Logic Programming General Predicate Programming Paradigm Flexible Tool 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Aho, A.V., Ullman, J.D.: Foundations of Computer Science. W.H. Freeman and Company, New York (1992)zbMATHGoogle Scholar
  2. 2.
    Ben-Ari, M.: Understanding Programming Languages. John Wiley, Chichester (1995)Google Scholar
  3. 3.
    Buechi, M., Weck, W.: A plea for Grey-Box components. In: Workshop on Foundations of Object-Oriented Programming, Zürich (September 1997), Available:
  4. 4.
    Clancy, M.J., Linn, M.C.: Patterns and Pedagogy. ACM SIGCSE Bulletin 31(1), 37–42 (1999)CrossRefGoogle Scholar
  5. 5.
    Gal-Ezer, J., Beeri, C., Harel, D., Yehudai, A.: A high-school program in computer science. Computer 28(10), 73–80 (1995)CrossRefGoogle Scholar
  6. 6.
    Gal-Ezer, J., Harel, D.: Curriculum and course syllabi for high school CS program. Computer Science Education 9(2), 114–147 (1999)CrossRefGoogle Scholar
  7. 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. 8.
    Haberman, B.: Lists in Prolog. M.S. Thesis. The Weizmann Institute of Science, Rehovot, Israel (1990) (in Hebrew) Google Scholar
  9. 9.
    Haberman, B., Ben-David Kollikant, Y.: Activating black boxes instead of opening zippers – A method of teaching novices basic CS concepts. ACM SIGCSE Bulletin 33(3), 41–44 (2001)CrossRefGoogle Scholar
  10. 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),
  11. 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. 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. 13.
    Kiczales, G.: Why are black boxes so hard to reuse? In: Invited talk, OOPSLA 1994 (1994),
  14. 14.
    Resnick, M., Berg, R., Eisenberg, M.: Beyond black boxes: bringing transparency and aesthetics back to scientific investigation. Journal of the Learning Sciences 9(1), 7–30 (2000)CrossRefGoogle Scholar
  15. 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
  16. 16.
    Sterling, L., Shapiro, E.: The art of Prolog, 2nd edn. MIT Press, Cambridge (1994)zbMATHGoogle Scholar
  17. 17.
    Warford, J.S.: Black Box: A new Object-Oriented Framework for CS1/CS2. ACM SIGCSE Bulletin 31(1), 271–275 (1999)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Bruria Haberman
    • 1
  • Zahava Scherz
    • 2
  1. 1.Computer Science Dept., Holon Academic Institute of Technology, and Dept. of Science TeachingThe Weizmann Institute of ScienceRehovotIsrael
  2. 2.Dept. of Science TeachingThe Weizmann Institute of ScienceRehovotIsrael

Personalised recommendations