Logo - springer
Slogan - springer

Computer Science - General Issues | Reflections on the Teaching of Programming - Methods and Implementations

Reflections on the Teaching of Programming

Methods and Implementations

Bennedsen, Jens, Caspersen, Michael E., Kölling, Michael (Eds.)

2008, X, 261 p.

Available Formats:

Springer eBooks may be purchased by end-customers only and are sold without copy protection (DRM free). Instead, all eBooks include personalized watermarks. This means you can read the Springer eBooks across numerous devices such as Laptops, eReaders, and tablets.

You can pay for Springer eBooks with Visa, Mastercard, American Express or Paypal.

After the purchase you can directly download the eBook file or read it online in our Springer eBook Reader. Furthermore your eBook will be stored in your MySpringer account. So you can always re-download your eBooks.


(net) price for USA

ISBN 978-3-540-77934-6

digitally watermarked, no DRM

Included Format: PDF

download immediately after purchase

learn more about Springer eBooks

add to marked items


Softcover (also known as softback) version.

You can pay for Springer Books with Visa, Mastercard, American Express or Paypal.

Standard shipping is free of charge for individual customers.


(net) price for USA

ISBN 978-3-540-77933-9

free shipping for individuals worldwide

usually dispatched within 3 to 5 business days

add to marked items

For50years,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.

Content Level » Research

Keywords » IT training - Java - assessment - code reusability - computer science education - education - extreme programming - frameworks - informatics didactics - informatics education - informatics instruction - informatics teaching - model-based programming - object-oriented

Related subjects » General Issues - Software Engineering

Table of contents 

Issues 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.

Popular Content within this publication 



Read this Book on Springerlink

Services for this book

New Book Alert

Get alerted on new Springer publications in the subject area of Computers and Education.