LEADER 05490nam 22006975 450 001 9910483749803321 005 20251117070022.0 010 $a3-540-77934-5 024 7 $a10.1007/978-3-540-77934-6 035 $a(CKB)1000000000490914 035 $a(SSID)ssj0000319786 035 $a(PQKBManifestationID)11237766 035 $a(PQKBTitleCode)TC0000319786 035 $a(PQKBWorkID)10354532 035 $a(PQKB)10432045 035 $a(DE-He213)978-3-540-77934-6 035 $a(MiAaPQ)EBC3063144 035 $a(MiAaPQ)EBC6284347 035 $a(PPN)127055487 035 $a(BIP)21077069 035 $a(EXLCZ)991000000000490914 100 $a20100301d2008 u| 0 101 0 $aeng 135 $aurnn|008mamaa 181 $ctxt 182 $cc 183 $acr 200 10$aReflections on the Teaching of Programming $eMethods and Implementations /$fedited by Jens Bennedsen, Michael E. Caspersen, Michael Kölling 205 $a1st ed. 2008. 210 1$aBerlin, Heidelberg :$cSpringer Berlin Heidelberg :$cImprint: Springer,$d2008. 215 $a1 online resource (X, 261 p.) 225 1 $aProgramming and Software Engineering ;$v4821 300 $aBibliographic Level Mode of Issuance: Monograph 311 08$a3-540-77933-7 320 $aIncludes bibliographical references and author index. 327 $aIssues in Introductory Programming Courses -- to Part I Issues in Introductory Programming Courses -- Exposing the Programming Process -- Apprentice-Based Learning Via Integrated Lectures and Assignments -- Experiences with Functional Programming in an Introductory Curriculum -- Learning Programming with the PBL Method ? Experiences on PBL Cases and Tutoring -- Using On-Line Tutorials in Introductory IT Courses -- Introducing Object-Oriented Programming -- to Part II Introducing Object-Oriented Programming -- Transitioning to OOP/Java ? A Never Ending Story -- Using BlueJ to Introduce Programming -- Model-Driven Programming -- CS1: Getting Started -- Teaching Software Engineering Issues -- to Part III Teaching Software Engineering Issues -- Experiences with a Focus on Testing in Teaching -- Teaching Software Development Using Extreme Programming -- Frameworks in Teaching -- Assessment -- to Part IV Assessment -- Active Learning and Examination Methods in a Data Structures and Algorithms Course -- Mini Project Programming Exams. 330 $aFor50years,wehavebeenteachingprogramming.Inthattime,wehaveseen- mentouschanges.Fromteachinga'rstcourseusinganassemblylanguageorF- tran I to using sophisticated functional and OO programming languages. From computerstouchedonlybyprofessionaloperatorstocomputersthatchildrenplay with. From input on paper tape and punch cards, with hour-long waits for o- put from computer runs, to instant keyboard input and instant compilation and execution.Fromdebuggingprogramsusingpages-longoctaldumpsofmemoryto sophisticateddebuggingsystemsembeddedinIDEs.Fromsmall,toyassignments to ones that inspire because of the ability to include GUIs and other supporting software. From little knowledge or few theories of the programming process to structured programming, stepwise re'nement, formal development methodo- gies based on theories of correctness, and software engineering principles. And yet, teaching programming still seems to be a black art. There is no consensus on what the programming process is, much less on how it should be taught. We do not do well on teaching testing and debugging. We have debates notonlyonwhether toteachOO'rstbutonwhether it can be taught'rst.This muddled situation manifests itself in several ways. Retention is often a problem. Our colleaguesin other disciplines expect students to be able to programalmost anything after a course or two, and many complain that this does not happen. In some sense, we are still ?oundering, just as we were 50 years ago. Part of the problem may be that we are not sure what we are teaching. Are we simply providing knowledge, or are we attempting to impart a skill? Many introductorytextsareorientedatteachingprograms ratherthanprogramming-- theycontainlittle materialonthe programmingprocessandonproblemsolving. 410 0$aProgramming and Software Engineering ;$v4821 606 $aEducation?Data processing 606 $aComputers and civilization 606 $aSoftware engineering 606 $aComputers and Education$3https://scigraph.springernature.com/ontologies/product-market-codes/I24032 606 $aComputers and Society$3https://scigraph.springernature.com/ontologies/product-market-codes/I24040 606 $aSoftware Engineering/Programming and Operating Systems$3https://scigraph.springernature.com/ontologies/product-market-codes/I14002 615 0$aEducation?Data processing. 615 0$aComputers and civilization. 615 0$aSoftware engineering. 615 14$aComputers and Education. 615 24$aComputers and Society. 615 24$aSoftware Engineering/Programming and Operating Systems. 676 $a005.107 702 $aBennedsen$b Jens$4edt$4http://id.loc.gov/vocabulary/relators/edt 702 $aCaspersen$b Michael E$4edt$4http://id.loc.gov/vocabulary/relators/edt 702 $aKölling$b Michael$4edt$4http://id.loc.gov/vocabulary/relators/edt 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a9910483749803321 996 $aReflections on the Teaching of Programming$9774403 997 $aUNINA