Systematic Programming: An Introduction
Systematic Programming: An Introduction
Structured programming
Chapter I: Notes on structured programming
Structured programming
A survey of the literature in computer science education since curriculum '68
Communications of the ACM
SP/k: a system for teaching computer programming
Communications of the ACM
Identifying predictors of programming skill
ACM SIGCSE Bulletin
Teaching disciplined Fortran programming via unfort
ACM SIGCSE Bulletin
An "introduction to computing" experiment that failed
ACM-SE 16 Proceedings of the 16th annual Southeast regional conference
A tool designed to facilitate structured programming
SIGCSE '77 Proceedings of the seventh SIGCSE technical symposium on Computer science education
Methodology for teaching introductory computer science
SIGCSE '77 Proceedings of the seventh SIGCSE technical symposium on Computer science education
An approach to the introductory computer science course for non-majors
SIGCSE '77 Proceedings of the eighth SIGCSE technical symposium on Computer science education
Another look at the discrete structures course
SIGCSE '76 Proceedings of the ACM SIGCSE-SIGCUE technical symposium on Computer science and education
A two-semester course sequence in introductory programming using PL/1—a rationale and overview
SIGCSE '78 Proceedings of the ninth SIGCSE technical symposium on Computer science education
Implementing a computer science curriculum merging two curriculum models
SIGCSE '78 Proceedings of the ninth SIGCSE technical symposium on Computer science education
Structured programming concepts in an introductory COBOL course
SIGCSE '76 Proceedings of the sixth SIGCSE technical symposium on Computer science education
Another approach to service courses
SIGCSE '79 Proceedings of the tenth SIGCSE technical symposium on Computer science education
The integration of a Problem Solving Process in the first course
SIGCSE '79 Proceedings of the tenth SIGCSE technical symposium on Computer science education
On the need for teaching problem-solving in a Computer Science Curriculum
SIGCSE '75 Proceedings of the fifth SIGCSE technical symposium on Computer science education
An automatic tutor for introductory programming students
SIGCSE '75 Proceedings of the fifth SIGCSE technical symposium on Computer science education
A first course in computer science: What it should be and why.
SIGCSE '75 Proceedings of the fifth SIGCSE technical symposium on Computer science education
B4Tran: A structured mini-language approach to the teaching of Fortran
SIGCSE '75 Proceedings of the fifth SIGCSE technical symposium on Computer science education
Structured FORTRAN programming
SIGCSE '75 Proceedings of the fifth SIGCSE technical symposium on Computer science education
The roots of structured programming
SIGCSE '78 Papers of the SIGCSE/CSA technical symposium on Computer science education
SIGCSE '78 Papers of the SIGCSE/CSA technical symposium on Computer science education
Revealing the programming process
Proceedings of the 36th SIGCSE technical symposium on Computer science education
What do teachers teach in introductory programming?
Proceedings of the second international workshop on Computing education research
A novice's process of object-oriented programming
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
A survey of literature on the teaching of introductory programming
Working group reports on ITiCSE on Innovation and technology in computer science education
Introduction to programming for engineers following the parachute paradigm
FIE'09 Proceedings of the 39th IEEE international conference on Frontiers in education conference
BlueJ Visual Debugger for Learning the Execution of Object-Oriented Programs?
ACM Transactions on Computing Education (TOCE)
Eighth workshop on pedagogies and tools for the teaching and learning of object oriented concepts
ECOOP'04 Proceedings of the 2004 international conference on Object-Oriented Technology
Can we teach algorithm development skills?
Proceedings of the 50th Annual Southeast Regional Conference
Hi-index | 0.03 |
An introductory course (and its successor) in programming should be concerned with three aspects of programming: 1. How to solve problems, 2. How to describe an algorithmic solution to a problem, 3. How to verify that an algorithm is correct. I should like to discuss mainly the first two aspects. The third is just as important, but if the first two are carried out in a systematic fashion, the third is much easier than commonly supposed. (Note that the third step is not “debugging,” because the word “debugging” conveys the impression that errors are alright—that they are a natural phenomenon which, like flies in a house, must be found and swatted. If “debugging” was called “getting rid of one's mistakes,” I'm sure most programmers would change their attitude and work harder at producing a correct program initially.)