A Generic Programming
Concept Web

David R. Musser

Incomplete Draft, January 3, 2000

For printing the full set of pages at this Web site, a postscript file is available, in three formats: gzip compressed (about 60Kb), zip compressed (about 60Kb), or uncompressed (about 140Kb). Printing from this file is more convenient than printing each page using your Web browser, and the result is better formatted, but of course the internal hypertext links must be represented as textual cross-references and the external ones as urls.

  • 1 Introduction
  • 2 Concept Webs
  • 2.1 Overview and examples
  • 2.2 The Concept of a Concept
  • 2.3 Abstractions
  • 2.3.1 Interfaces
  • 2.3.2 Properties
  • 2.4 Models of Concepts
  • 2.5 Requirements Specifications
  • 2.6 Concept Refinement
  • 2.7 Knowledge Representation
  • 2.7.1 Computer Representation of Knowledge
  • 3 An Example of Concept Webs: Programming Concepts
  • 3.1 Programming
  • 3.2 Programming Language
  • 3.3 Computer Program
  • 3.4 Generic Computational Method
  • 3.5 Definite (Nongeneric) Computational Method
  • 3.6 Generic Algorithm--A Finite Generic Computational Method
  • 3.7 Algorithm--A Finite and Definite Computational Method
  • 3.8 Generic Programming
  • 3.9 Generic Algorithm Specialized by Input Type
  • 3.10 Generic Sequence Algorithm
  • 3.11 Generic Algorithm Specialized by I/O-Relation
  • 3.12 Generic Algorithm Specialized by Strategy
  • 3.13 Generic Divide-and-Conquer Algorithm
  • 3.14 Generic Divide-and-Conquer Sequence Algorithm
  • 3.15 Generic Sorting Algorithm
  • 3.16 Generic Search Algorithm
  • 3.17 Generic Divide-and-Conquer Sorting Algorithm
  • 3.18 Generic Binary Search
  • 3.19 Some Areas for Expansion of this Concept Web
  • 3.19.1 Generic linear search
  • 3.19.2 Generic matrix algorithm
  • 3.19.3 Generic tree algorithm
  • 3.19.4 Generic graph algorithm
  • 3.19.5 Generic dynamic programming algorithm
  • 3.19.6 Generic greedy algorithm
  • 3.19.7 Generic quicksort
  • 3.19.8 Generic mergesort
  • References
  • Footnotes

  • musser@cs.rpi.edu