Overview of the Discipline of Computer Science

  • Orit HazzanEmail author
  • Tami Lapidot
  • Noa Ragonis


This chapter proposes how to address in the MTCS course topics associated with the nature of the discipline of computer science and with cross-curriculum topics. The importance of these topics is explained by the fact that even today no consensus has been reached with respect to one agreed-upon definition for computer science, and different scholars view it differently. Specifically, the following topics are discussed in this chapter: what is computer science, the history of computer science, computer scientists, social issues of computer science, programming paradigms, and computer science soft ideas. For each topic, its meaning and its importance and relevance in the context of computer science education are explained, and then, several activities which deal with the said topic are presented.


Computer Science Prospective Teacher Programming Paradigm Computational Thinking Computer Science Educator 
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.


  1. Abelson H, Sussman G, Sussman J (1996) Structure and interpretation of computer programs, 2nd edn. The MIT Press, Cambridge, MAzbMATHGoogle Scholar
  2. Ambler A L, Burnett M M, Zimmerman B A (1992) Operational versus definitional: A perspective on programming paradigms. Comput. 25(9): pp. 28–43CrossRefGoogle Scholar
  3. Carey T, Shepherd M (1988) Towards empirical studies of programming in new paradigms. Proc. of the ACM 16th Ann. Conf. on Comput. Sci. (Atlanta, Georgia, United States), CSC ‘88. ACM Press, New York: 72–78Google Scholar
  4. Corder C(1990) Teaching hard teaching soft: A structured approach to planning and running effective training courses. Gower.Google Scholar
  5. Denning P J, Comer D E, Gries D, Mulder M C, Tucker A., Turner A J, Young P R(1989) Computing as a discipline. Commun. of the ACM 32(I): 9–23CrossRefGoogle Scholar
  6. Denning P J (2005) Is computer science science? Commun. of the ACM 48(4): 27–31CrossRefMathSciNetGoogle Scholar
  7. Dijkstra E W (1986) On a cultural gap. The Math. Intell. 8(1): 48–52CrossRefzbMATHMathSciNetGoogle Scholar
  8. Floyd R W (1979) The paradigms of programming. Commun. of the ACM 22(8): 445–460CrossRefGoogle Scholar
  9. Haberman B, Ragonis N (2010) So different though so similar? – Or vice versa? Exploration of logic programming and of object oriented programming. Issues in Informing Sci. and Inf. Technol. 7: 393–402Google Scholar
  10. Hazzan O, Lapidot T (2004) Construction of a professional perception in the “Methods of Teaching Computer Science” course. Inroads – the SIGCSE Bull. 36(2): 57–61CrossRefGoogle Scholar
  11. Hazzan O, Lapidot T (2006) Social issues of Computer Science in the “Methods of Teaching Computer Science in the High School” course. Inroads – the SIGCSE Bull. 38(2): 72–75CrossRefGoogle Scholar
  12. Hazzan O (2008) Reflections on teaching abstraction and other soft ideas. Inroads – the SIGCSE Bull. 40(2): 40–43CrossRefGoogle Scholar
  13. Kuhn T S (1962) The structure of scientific revolution. University of ChicagoGoogle Scholar
  14. Lapidot T, Hazzan O (2003) Methods of Teaching Computer Science course for prospective teachers. Inroads – the SIGCSE Bull. 35(4): 29–34CrossRefGoogle Scholar
  15. Sethi R (1996) Programming languages concepts & constructs, 2nd edn. Addison-WesleyGoogle Scholar
  16. Stolin Y, Hazzan O (2007) Students’ understanding of Computer Science soft ideas: The case of programming paradigm. Inroads – the SIGCSE Bull. 39(2): 65–69CrossRefGoogle Scholar
  17. Tomayko J, Hazzan O (2004) Human aspects of software engineering. Charles River Media.Google Scholar
  18. Tucker A, Noonan R (2002) Programming languages – principles and paradigms. McGraw Hill.Google Scholar
  19. Turkle S (1984) The second self: Computer and human spirits. Simon and Shuster.Google Scholar
  20. Van Roy P, Haridi S (2004) Concepts, techniques, and models of computer programming/MIT Press.Google Scholar
  21. Van Roy P, Armstrong J, Flatt M, Magnusson B (2003) The role of language paradigms in teaching programming. Proc. of the 34th tech. symp.on Comput. Sci. Educ.: 269–270Google Scholar
  22. Watt D A (1990) Programming language concepts and paradigms. Prentice Hall.Google Scholar
  23. Wing J (2006) Computational thinking. Commun. of the ACM 49(3): 33–35CrossRefMathSciNetGoogle Scholar
  24. Microsoft Research (2006) Towards 2020 Science. Retrieved March 16, 2007, Accessed July 14 2010
  25. Ragonis N (2009) Computing pre-university: secondary level computing curricula. In: Wah B (ed) Wiley Encycl. of Comput. Sci. and Eng. 5(1): pp. 632–648, John Wiley & Sons, Inc., Hoboken, NJ, USA.Google Scholar

Copyright information

© Springer-Verlag London Limited 2011

Authors and Affiliations

  1. 1.Dept. Education in Technology & ScienceTechnion - Israel Institute of TechnologyHaifaIsrael
  2. 2.Computer Science Studies, School of EducationBeit Berl CollegeDoar Beit BerlIsrael

Personalised recommendations