SP/k: a system for teaching computer programming
Communications of the ACM
Communications of the ACM
Practical syntactic error recovery
Communications of the ACM
Design and implementation of a diagnostic compiler for PL/I
Communications of the ACM
A program to teach programming
Communications of the ACM
Debugging systems at the source language level
Communications of the ACM
An experiment in teaching programming languages
ACM SIGCSE Bulletin
Introductory computer science courses a modular design
SIGCSE '76 Proceedings of the ACM SIGCSE-SIGCUE technical symposium on Computer science and education
Introductory programming reconsidered - a user-oriented approach
SIGCSE '76 Proceedings of the ACM SIGCSE-SIGCUE technical symposium on Computer science and education
An instructional interpreter for basic
SIGCSE '76 Proceedings of the ACM SIGCSE-SIGCUE technical symposium on Computer science and education
An interactive program advising system
SIGCSE '76 Proceedings of the ACM SIGCSE-SIGCUE technical symposium on Computer science and education
A computer-aided flow diagram teaching system
SIGCSE '76 Proceedings of the ACM SIGCSE-SIGCUE technical symposium on Computer science and education
Tab, a Program Design Language for the classroom
SIGCSE '76 Proceedings of the sixth SIGCSE technical symposium on Computer science education
A self-paced introductory Fortran programming course
SIGCSE '76 Proceedings of the sixth SIGCSE technical symposium on Computer science education
Computer science: An essential course for the liberal arts
SIGCSE '76 Proceedings of the sixth SIGCSE technical symposium on Computer science education
Dynamic instructional models of computer organizations and programming languages
SIGCSE '73 Proceedings of the third SIGCSE technical symposium on Computer science education
New assertion concepts for self-metric software validation
Proceedings of the international conference on Reliable software
A system for reliable engineering software
Proceedings of the international conference on Reliable software
Testing large software with automated software evaluation systems
Proceedings of the international conference on Reliable software
What should we teach in an introductory programming course?
SIGCSE '74 Proceedings of the fourth 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
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
A course in effective programming
SIGCSE '75 Proceedings of the fifth SIGCSE technical symposium on Computer science education
Methods for teaching program verification
SIGCSE '75 Proceedings of the fifth SIGCSE technical symposium on Computer science education
Teaching structured programming in FORTRAN with IFTRAN
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
A program verifier
Error detection and recovery for syntax directed compiler systems
Error detection and recovery for syntax directed compiler systems
Interactive directed programming in computer-assisted instruction (cai).
Interactive directed programming in computer-assisted instruction (cai).
A language, a procedure, and automated tools for analysis of problems and design of algorithms in a student-oriented environment.
Getting more oomph from programming exercises
SIGCSE '81 Proceedings of the twelfth SIGCSE technical symposium on Computer science education
Microcomputers for non-professionals
SIGCSE '81 Proceedings of the twelfth SIGCSE technical symposium on Computer science education
A method for teaching programming
SIGCSE '81 Proceedings of the twelfth SIGCSE technical symposium on Computer science education
A software engineering approach to first year computer science courses
SIGCSE '82 Proceedings of the thirteenth SIGCSE technical symposium on Computer science education
The user as a learning component in a data system during the change-over and use periods
SIGCPR '81 Proceedings of the eighteenth annual computer personnel research conference
Integrating software engineering in computer programming education
Proceedings of the 10th ACM conference on SIG-information technology education
Evaluating information sources for computer programming learning and problem solving
ACS'09 Proceedings of the 9th WSEAS international conference on Applied computer science
Resources to support computer programming learning and computer science problem solving
Proceedings of the Workshop on Open Source and Design of Communication
CodeWave: a real-time, collaborative IDE for enhanced learning in computer science
Proceedings of the 43rd ACM technical symposium on Computer Science Education
Hi-index | 0.00 |
To improve introductory computer science courses and to update the teaching of computer programming, new teaching methods emphasizing structured programming and top-down design have been presented and a variety of automated instructional tools have been developed. The purpose of this paper is: (1) to survey a number of methods and tools used in the teaching of programming; (2) to present, with the aid of this survey, a number of areas where beginning programmers experience difficulties; (3) to present ways of improving some of the tools; and (4) to propose other possible aids.This paper is organized as follows. Section 1 introduces the topic and purpose of the paper. Section 2 reviews several teaching methods discussed in the literature. Section 3 surveys various student-oriented interactive and noninteractive tools. Section 4 discusses nonstudent-oriented aids and presents alternatives by discussing how to adapt similar aids to a student environment. Section 5 provides a summary of the paper and a conclusion. Pertinent problem areas and students' viewpoints are presented in each section.