Skip to main content

Overview of the Discipline of Computer Science

  • Chapter
  • First Online:
Guide to Teaching Computer Science

Abstract

This chapter proposes how to address in the Methods of Teaching Computer Science (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, computer science soft ideas, computer science as an evolving discipline, and computer science as an integrated and integral part of other disciplines. For each topic, its meaning and its importance and relevance in the context of computer science education are explained, and then, activities which deal with the said topic are presented.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    See also Hal Abelson’s 10-min talk on What is “Computer Science”? at http://www.youtube.com/watch?v = zQLUPjefuWA.

  2. 2.

    See 2001: http://www.acm.org/education/curric_vols/cc2001.pdf

    2008: http://www.acm.org/education/curricula/ComputerScience2008.pdf

    2013: http://www.acm.org/education/CS2013-final-report.pdf.

  3. 3.

    The report is available online at http://research.microsoft.com/towards2020science/background_overview.htm.

  4. 4.

    Based on Hazzan and Lapidot (2006).

  5. 5.

    See http://www.cra.org/uploads/documents/resources/workforce_history_reports/using.history.pdf.

  6. 6.

    Source: http://en.wikipedia.org/wiki/Turing_Award#cite_note-ACM-1;http://awards.acm.org/homepage.cfm?srt = all&awd = 140.

  7. 7.

    Based on Hazzan and Lapidot (2006).

  8. 8.

    See Computing Curricula:

    2001: http://www.acm.org/education/curric_vols/cc2001.pdf

    2008: http://www.acm.org/education/curricula/ComputerScience2008.pdf

    2013: http://www.acm.org/education/CS2013-final-report.pdf.

  9. 9.

    Source: http://en.wikipedia.org/wiki/Science,_technology_and_society.

  10. 10.

    See http://www.acm.org/constitution/code.html.

  11. 11.

    Based on Stolin and Hazzan (2007).

  12. 12.

    Based on Hazzan (2008).

  13. 13.

    ©Migvan—Research and Development in Computer Science Education, The Department of Education in Science and Technology, Technion Israel Institute of Technology.

  14. 14.

    Based on Lapidot and Hazzan (2003).

  15. 15.

    E.g., the Cybersecurity Education at UMD program at http://cyber.umd.edu/education.

References

  • Abelson H, Sussman G, Sussman J (1996) Structure and interpretation of computer programs, 2nd edn. The MIT, Cambridge

    MATH  Google Scholar 

  • Ambler AL, Burnett MM, Zimmerman BA (1992) Operational versus definitional: a perspective on programming paradigms. Comput 25(9):28–43

    Article  Google Scholar 

  • Anderson P, Bowring J, McCauley R, Pothering G, Starr C (2014) An undergraduate degree in data science: curriculum and a decade of implementation experience. Proceedings of SIGCSE 2014—the 45th ACM technical symposium on computer science education Atlanta, Georgia, pp. 145–150

    Google Scholar 

  • Ashenhurst RL, Graham S (1987) ACM turing award lectures-the First Twenty Years. ACM Press, New York, NY

    Google Scholar 

  • Carey T, Shepherd M (1988) Towards empirical studies of programming in new paradigms. Proceedings of the ACM 16th Annual Conference on Computer Science. (Atlanta, Georgia, United States), CSC ‘88. ACM Press, New York, pp. 72–78

    Google Scholar 

  • Corder C (1990) Teaching hard teaching soft: a structured approach to planning and running effective training courses. Gower, Brookfield, VT

    Google Scholar 

  • Denning PJ (2005) Is computer science science? Commun ACM 48(4):27–31

    Article  MathSciNet  Google Scholar 

  • Denning PJ, Comer DE, Gries D, Mulder MC, Tucker A, Turner AJ, Young PR (1989) Computing as a discipline. Commun ACM 32(I):9–23

    Article  Google Scholar 

  • Dijkstra EW (1986) On a cultural gap. Math Intell 8(1):48–52

    Article  MATH  MathSciNet  Google Scholar 

  • Floyd RW (1979) The paradigms of programming. Commun ACM 22(8):445–460

    Article  Google Scholar 

  • Haberman B, Ragonis N (2010) So different though so similar?-Or vice versa? Exploration of logic programming and of object oriented programming. Issues Inf Sci Inf Tech 7:393–402

    Google Scholar 

  • Hazzan O (2008) Reflections on teaching abstraction and other soft ideas. Inroads- SIGCSE Bull 40(2):40–43

    Article  Google Scholar 

  • Hazzan O, Lapidot T (2004) Construction of a professional perception in the methods of teaching computer science course. Inroads- SIGCSE Bull 36(2):57–61

    Article  Google Scholar 

  • Hazzan O, Lapidot T (2006) Social issues of Computer Science in the Methods of Teaching Computer Science in the High School course. Inroads- SIGCSE Bull 38(2):72–75

    Article  Google Scholar 

  • Hazzan O, Har-shai G (2013) Teaching computer science soft skills as soft concepts. SIGCSE 2013—the 44th ACM technical symposium on computer science education. Denver, CO:59–64.

    Google Scholar 

  • Hazzan O, Har-shai G (2014). Teaching and learning computer science soft skills using soft skills: the students’ perspective. Proceedings of SIGCSE 2014—the 45th ACM technical symposium on computer science education. Atlanta, USA, pp. 567–572

    Google Scholar 

  • Kuhn TS (1962) The structure of scientific revolution. University of Chicago, Chicago, IL

    Google Scholar 

  • Lapidot T, Hazzan O (2003) Methods of teaching computer science course for prospective teachers. Inroads- SIGCSE Bull 35(4):29–34

    Article  Google Scholar 

  • Lave J, Wenger E (1991) Situated learning: legitimate peripheral participation (Learning in Doing: SOCIAL, Cognitive and Computational Perspectives). Cambridge University Press, Cambridge, UK

    Google Scholar 

  • Microsoft Research (2005). Towards 2020 science. http://research.microsoft.com/en-us/um/cambridge/projects/towards2020science/downloads/T2020S_ReportA4.pdf. Accessed August 2014

  • Microsoft Research (2006) Towards 2020 science. Retrieved March 16, 2007, http://research.microsoft.com/towards2020science/background_overview.htm. Accessed July 14 2010

  • Ragonis N (2009) Computing pre-university: secondary level computing curricula. In: Wah B (ed) Wiley encyclopedia of computer science and engineering, (pp 632–648), 5(1), Wiley, Hoboken.

    Google Scholar 

  • Sethi R (1996) Programming languages concepts & constructs, 2nd edn. Addison-Wesley, Reading, MA

    Google Scholar 

  • Stolin Y, Hazzan O (2007) Students’ understanding of computer science soft ideas: the case of programming paradigm. Inroads- SIGCSE Bull 39(2):65–69

    Article  Google Scholar 

  • Sukhoo A, Barnard A, Eloff MM, Van der Poll JA (2005) Accommodating soft skills in software project management. Issues Inf Sci Inf Tech 2:691–704

    Google Scholar 

  • Tomayko J, Hazzan O (2004) Human aspects of software engineering. Charles River Media, Newton Center, MA

    Google Scholar 

  • Tucker A, Noonan R (2002) Programming languages-principles and paradigms. McGraw Hill, New York, NY

    Google Scholar 

  • Turkle S (1984) The second self: computer and human spirits. Simon and Shuster, New York, NY

    Google Scholar 

  • Van Roy P, Haridi S (2004) Concepts, techniques, and models of computer programming/MIT Press, Cambridge, MA

    Google Scholar 

  • Van Roy P, Armstrong J, Flatt M, Magnusson B (2003) The role of language paradigms in teaching programming. Proceedings of the 34th technical symposium on computer science education, Reno, Nevada, pp 269–270

    Google Scholar 

  • Watt DA (1990) Programming language concepts and paradigms. Prentice Hall, Upper Saddle River, NJ

    Google Scholar 

  • Wing J (2006) Computational thinking. Commun ACM 49(3):33–35

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Orit Hazzan .

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer-Verlag London Limited

About this chapter

Cite this chapter

Hazzan, O., Lapidot, T., Ragonis, N. (2014). Overview of the Discipline of Computer Science. In: Guide to Teaching Computer Science. Springer, London. https://doi.org/10.1007/978-1-4471-6630-6_3

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-6630-6_3

  • Published:

  • Publisher Name: Springer, London

  • Print ISBN: 978-1-4471-6629-0

  • Online ISBN: 978-1-4471-6630-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics