Prelude to programming: problem solving and algorithms
Prelude to programming: problem solving and algorithms
Computer science: an overview
Discrete structures: an introduction to mathematics for computer science
Discrete structures: an introduction to mathematics for computer science
The algorithmic process: an introduction to problem solving
The algorithmic process: an introduction to problem solving
Software engineering (2nd ed.)
Software engineering (2nd ed.)
Computing and problem-solving with Pascal
Computing and problem-solving with Pascal
Mathematical structures for computer science (2nd ed.)
Mathematical structures for computer science (2nd ed.)
Computer science: a modern introduction (2nd ed.)
Computer science: a modern introduction (2nd ed.)
Software engineering concepts
The Psychology of How Novices Learn Computer Programming
ACM Computing Surveys (CSUR)
Problem Solving and Structured Programming in Pascal
Problem Solving and Structured Programming in Pascal
Problem-Solving Principles: Programming with Pascal
Problem-Solving Principles: Programming with Pascal
Structured Programming and Problem Solving with Pascal
Structured Programming and Problem Solving with Pascal
Structured Problem Solving with Pascal
Structured Problem Solving with Pascal
An Introduction to Programming and Problem Solving with Pascal
An Introduction to Programming and Problem Solving with Pascal
Mindstorms: children, computers, and powerful ideas
Mindstorms: children, computers, and powerful ideas
Human Problem Solving
A Socratic approach to helping novice programmers debug programs
SIGCSE '87 Proceedings of the eighteenth SIGCSE technical symposium on Computer science education
Modern introductory computer science
SIGCSE '87 Proceedings of the eighteenth SIGCSE technical symposium on Computer science education
SIGCSE '88 Proceedings of the nineteenth SIGCSE technical symposium on Computer science education
Using assembly language to teach concepts in the introductory course
SIGCSE '88 Proceedings of the nineteenth SIGCSE technical symposium on Computer science education
AIDE: an automated tool for teaching design in an introductory programming course
SIGCSE '89 Proceedings of the twentieth SIGCSE technical symposium on Computer science education
Computer organization/architecture: a threaded top-down design
CSC '88 Proceedings of the 1988 ACM sixteenth annual conference on Computer science
Forging connections between life and class using reading assignments: a case study
Proceedings of the 39th SIGCSE technical symposium on Computer science education
Hi-index | 0.00 |
An introductory computer science course is frequently the most difficult course in the curriculum to teach. Computer science educators must stay abreast of rapidly changing trends, text books, technology and teaching techniques. This paper provides an overview and perspective of introductory computer science courses, surveys some trends, and presents new alternative approaches regarding organization, foundations and material. It is based on the premise that the introductory course should create strong foundations upon which students can build, and that the curriculum should teach students to build software systems which people use and maintain, not just toy computer programs. The paper presents personal views and insights, motivates underlying concepts, and provides many useful suggestions which have been successfully employed in such introductory courses.