Computability and complexity : from a programming perspective I. Toward the Theory. 1. Introduction. 2. The WHILE Language. 3. Programs as Data Objects II. Introduction to Computability. 4. Self interpretation: Universal Programs for WHILE and I. 5. Elements of Computability Theory. 6. Metaprogramming Self application and Compiler Generation. 7. Other Sequential Models of Computation. 8. Robustness of Computability. 9. Computability by Functional Languages Neil D. Jones and T. AE. Mogensen. 10. Some Natural Unsolvable Problems III. Other Aspects of Computability Theory. 11. Hilberts Tenth Problem M. H. Sorensen. 12. Inference Systems and Godels Incompleteness Theorem. 13. Computability Theory Based on Numbers. 14. More Abstract Approaches to Computability IV. Introduction to Complexity. 15. Overview of Complexity Theory. 16. Measuring Time Usage. 17. Time Usage of Tree manipulating Programs. 18. Robustness of Time bounded Computation. 19. Linear and Other Time Hierarchies for WHILE Programs