Abstract
Introductory computing courses emerged during the sixties, under a variety of designations such as “programming” or “automatic computing”, offered to university students in a broad range of disciplines. Whereas the concept of a “first course in computer science” survived four decades, and even moved to the high school level, its goals and contents have been changing excessively, and have not as yet reached a stable state. We review the historical development of typical introductory CS courses and analyze the forces that shaped them. Inspired by more mature sciences, and the way their introductory courses evolved over centuries to simultaneously meet distinct expectations, we argue that an introductory CS course should address three goals: the development of skills in programming some simple system, appreciation of intellectual achievements, and the role of information technology in society. Although this requirement may be considered overly ambitious, we aim to show that it can be achieved if issues are presented in terms of well-chosen examples rather than in a general, abstract manner.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsAuthor information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Nievergelt, J. (2005). Why Teach Introductory Computer Science? Reconciling Diverse Goals and Expectations. In: Mittermeir, R.T. (eds) From Computer Literacy to Informatics Fundamentals. ISSEP 2005. Lecture Notes in Computer Science, vol 3422. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-31958-0_12
Download citation
DOI: https://doi.org/10.1007/978-3-540-31958-0_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-25336-5
Online ISBN: 978-3-540-31958-0
eBook Packages: Computer ScienceComputer Science (R0)