Computational Thinking (CT) involves fundamental concepts and reasoning, distilled from computer science and other computational sciences, which become powerful general mental tools for solving problems, increasing efficiency, reducing complexity, designing procedures, or interacting with humans and machines. An easy-to-understand guidebook, From Computing to Computational Thinking gives you the tools for understanding and using CT. It does not assume experience or knowledge of programming or of a programming language, but explains concepts and methods for CT with clarity and depth.
Successful applications in diverse disciplines have shown the power of CT in problem solving. The book uses puzzles, games, and everyday examples as starting points for discussion and for connecting abstract thinking patterns to real-life situations. It provides an interesting and thought-provoking way to gain general knowledge about modern computing and the concepts and thinking processes underlying modern digital technologies.
Paul S. Wang, PhD, is professor of computer science at Kent State University, Ohio. He received his PhD from MIT. He has published 10 computer science textbooks, all of which have been well-received in the US and worldwide. Several have been translated into other languages.
Why Does the Chicken Cross the Road? The Computer Turing Machine A Brief History of Computers Software Programming Syntax and Semantics Flowcharts Algorithms Pseudo Code The Euclidean GCD Algorithm Goals and How to Get There Road Crossing Bits, Bytes, and Words Digital Computers Binary Numbers Positive and Negative Integers Modular Arithmetic Base Conversion Characters Editing Text Data Output True or False Digital Electronic Circuits Boolean Algebra Decision Making Logic Applied to Bits Logic and Iteration Who Is the Master? What Is an Operating System? Operating System Kernel Open Source Software Graphical User Interface Desktop Overview Are You Talking to Me? Command-Line Interface Files Processes Managing Tasks Up and Running Hello There! What Is a Network? The Internet Local and Wide Area Networks Internet Architecture Wireless Networking Networking Protocols IP Addresses Domain Names Client and Server Peer to Peer DNS Service DNS Servers and Resolvers Domain Registration Packet Switching Cloud Computing Home Sweet Homepage What Is a Web Server? Web Browsers A Brief History of the Web URLs HTML and HTML5 Webpage Styling Web Hosting Dynamic Generation of Webpages Client-Side Scripting Hypertext Transfer Protocol Website Development Web Search Engines Web Services Standard Web Technologies Keeping It Safe Login HTTPS and SSL/TLS What is a Digital Certificate? Cryptography Public-Key Cryptography RSA Public-Key Algorithm Digital Signature Message Digests Secure Email Security Attacks and Defenses Solve That Problem Solving Puzzles Sorting Recursion Recursive Solution Formula Tower of Hanoi Eight Queens General Backtracking Tree Traversals Complexity Heuristics Data Everywhere Digital Images Raster Image Encoding Audio and Video Digital Video Format of Data and Files Data Sharing Document Markup Data Compression Data Structures What Is a Database? Protecting Personal Data Get That App Key Programs Knowing Your Apps Program Configuration and Customization Process Cooperation Machine Language Programs Assembly Language Programs High-Level Programs Compilers Software Development Object-Oriented Programming Object-Oriented Design