Using induction to design algorithms
Communications of the ACM
The trouble with for-loop invariants
SIGCSE '88 Proceedings of the nineteenth SIGCSE technical symposium on Computer science education
Using concept expansion and level integration in an introductory computer science course
SIGCSE '88 Proceedings of the nineteenth SIGCSE technical symposium on Computer science education
Teaching calculation and discrimination: a more effective curriculum
Communications of the ACM
SIGCSE '91 Proceedings of the twenty-second SIGCSE technical symposium on Computer science education
Fundamentals of computing I: logic, problem solving, programs, and computers
Fundamentals of computing I: logic, problem solving, programs, and computers
Teaching loop invariants to beginners by examples
SIGCSE '92 Proceedings of the twenty-third SIGCSE technical symposium on Computer science education
Discrete mathematics as a precursor to programming
SIGCSE '90 Proceedings of the twenty-first SIGCSE technical symposium on Computer science education
Introduction to Algorithms: A Creative Approach
Introduction to Algorithms: A Creative Approach
The Science of Programming
A Method of Programming
SIGCSE '96 Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education
Hi-index | 0.00 |
In this paper, we present an approach for the introduction of problem solving and algorithm development in the first computer science course. Our technique is a more formal and systematic approach to programming based on generalizing a pattern after studying and expanding on a sequence of specific problem instances. In our approach, the algorithm and justification of its correctness are developed together.