This is a self-contained, systematic and comprehensive introduction to all the subjects and techniques important in scientific computing. The style and presentation are readily accessible to undergraduates and graduates. A large number of examples, accompanied by complete C++ and Java code wherever possible, cover every topic. "Classical and Quantum computing" provides a self-contained, systematic and comprehensive introduction to all the subjects and techniques important in scientific computing. The style and presentation are readily accessible to undergraduates and graduates. A large number of examples, accompanied by complete C++ and Java code wherever possible, cover every topic. Features and benefits: - Comprehensive coverage of the theory with many examples - Topics in classical computing include boolean algebra, gates, circuits, latches, error detection and correction, neural networks, Turing machines, cryptography, genetic algorithms - For the first time, genetic expression programming is presented in a textbook - Topics in quantum computing include mathematical foundations, quantum algorithms, quantum information theory, hardware used in quantum computing This book serves as a textbook for courses in scientific computing and is also very suitable for self-study. Students, professionals and practitioners in computer science, applied mathematics and physics will benefit from using the book and the included software simulations. Classical Computing Front Matter Pages 1-1 Algorithms Yorick Hardy, Willi-Hans Steeb Pages 3-22 Boolean Algebra Yorick Hardy, Willi-Hans Steeb Pages 23-50 Number Representation Yorick Hardy, Willi-Hans Steeb Pages 51-78 Logic Gates Yorick Hardy, Willi-Hans Steeb Pages 79-90 Combinational Circuits Yorick Hardy, Willi-Hans Steeb Pages 91-118 Latches and Registers Yorick Hardy, Willi-Hans Steeb Pages 119-124 Synchronous Circuits Yorick Hardy, Willi-Hans Steeb Pages 125-134 Recursion Yorick Hardy, Willi-Hans Steeb Pages 135-170 Abstract Data Types Yorick Hardy, Willi-Hans Steeb Pages 171-196 Error Detection and Correction Yorick Hardy, Willi-Hans Steeb Pages 197-214 Cryptography Yorick Hardy, Willi-Hans Steeb Pages 215-228 Finite State Machines Yorick Hardy, Willi-Hans Steeb Pages 229-250 Computability and Complexity Yorick Hardy, Willi-Hans Steeb Pages 251-260 Neural Networks Yorick Hardy, Willi-Hans Steeb Pages 261-312 Genetic Algorithms Yorick Hardy, Willi-Hans Steeb Pages 313-400 Quantum Computing Front Matter Pages 401-401 Quantum Mechanics Yorick Hardy, Willi-Hans Steeb Pages 403-449 Quantum Bits and Quantum Computation Yorick Hardy, Willi-Hans Steeb Pages 451-490 Measurement and Quantum States Yorick Hardy, Willi-Hans Steeb Pages 491-500 Quantum State Machines Yorick Hardy, Willi-Hans Steeb Pages 501-506 Teleportation Yorick Hardy, Willi-Hans Steeb Pages 507-514 Quantum Algorithms Yorick Hardy, Willi-Hans Steeb Pages 515-540 Quantum Information Theory Yorick Hardy, Willi-Hans Steeb Pages 541-554 Quantum Error Detection and Correction Yorick Hardy, Willi-Hans Steeb Pages 555-562 Quantum Hardware Yorick Hardy, Willi-Hans Steeb Pages 563-570 Internet Resources Yorick Hardy, Willi-Hans Steeb Pages 571-572 Back Matter Pages 573-589 Yorick Hardy, Willi-hans Steeb. Includes Bibliographical References (p. [573]-584) And Index. An algorithm [48, 63, 77, 97, 115] is a precise description of how to solve a problem.