Computer science: an overview; (2nd ed.)
Computer science: an overview; (2nd ed.)
Algorithmics: the spirit of computing
Algorithmics: the spirit of computing
Communications of the ACM
The new generation of computer literacy
SIGCSE '89 Proceedings of the twentieth SIGCSE technical symposium on Computer science education
Great Ideas in Computer Science: A Gentle Introduction
Great Ideas in Computer Science: A Gentle Introduction
Karel the Robot: A Gentle Introduction to the Art of Programming
Karel the Robot: A Gentle Introduction to the Art of Programming
Computer Power and Human Reason: From Judgment to Calculation
Computer Power and Human Reason: From Judgment to Calculation
Computers Today
Teaching a hierarchical model of computation with animation software in the first course
SIGCSE '94 Proceedings of the twenty-fifth SIGCSE symposium on Computer science education
Home-study software: flexible, interactive, and distributed software for independent study
SIGCSE '96 Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education
What (else) should CS educators know?
Communications of the ACM
Hands-on labs without computers
SIGCSE '03 Proceedings of the 34th SIGCSE technical symposium on Computer science education
Proceedings of the 36th SIGCSE technical symposium on Computer science education
Hi-index | 4.12 |
People read in the newspapers about computer chips, supercomputers, artificial intelligence, and myriad new technologies, and they want to understand them. Is there a better way to give them a grasp of computing than by providing the superficial view a typical of ordinary "computer literacy" courses, without making them struggle through the rigorous curriculum required in a computer science education? Yes, there is. This article describes a first course for nonmajors that covers a surprisingly broad set of topics in substantial depth. Advances in teaching methods involving an appropriate selection of topics, proper coverage of those topics, and the use of animated simulations can significantly ease the teaching of computer science to nonspecialists. The course described enables students to develop skill in programming, learn the fundamental mechanisms of computer hardware and software, and gain a substantial understanding of important topics such as computational intractability, noncomputability, parallel architectures, and artificial intelligence.