From Computing to Computational Thinking
eBook - ePub

From Computing to Computational Thinking

Paul S. Wang

Share book
  1. 266 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

From Computing to Computational Thinking

Paul S. Wang

Book details
Book preview
Table of contents
Citations

About This Book

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.

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is From Computing to Computational Thinking an online PDF/ePUB?
Yes, you can access From Computing to Computational Thinking by Paul S. Wang in PDF and/or ePUB format, as well as other popular books in Computer Science & Programming Games. We have over one million books available in our catalogue for you to explore.

Information

Year
2017
ISBN
9781351630221
Edition
1

Contents

Preface
Introduction
1 Why Did the Chicken Cross the Road?
1.1 The Computer
1.2 Turing Machine
CT: ABSTRACT AWAY
1.3 A Brief History of Computers
1.4 Software
1.5 Programming
1.6 Syntax and Semantics
CT: BEWARE OF SEMANTICS
1.7 Flowcharts
CT: READY FOR ALL CONTINGENCIES
CT: FIRST THINGS FIRST
CT: CHECK BEFORE PROCEEDING
1.8 Algorithms
CT: MAKE IT AN ALGORITHM
CT: CONSIDER EXTREME CASES
1.9 Pseudo Code
CT: STEP BY STEP
1.10 The Euclidean GCD Algorithm
CT: APPLY DOMAIN KNOWLEDGE
1.11 Goals and How to Get There
CT: BREAK IT DOWN
1.12 Road Crossing
Exercises
2 Bits, Bytes, and Words
2.1 Digital Computers
2.2 Binary Numbers
CT: MEANING OF SYMBOLS
2.2.1 Numbers in Other Bases
CT: EVALUATE DIFFERENT OPTIONS
2.3 Positive and Negative Integers
2.4 Modular Arithmetic
CT: MIND RESOURCE LIMITATIONS
CT: SYMBOLS CAN BE DECEIVING
2.5 Base Conversion
CT: START FROM THE END
2.6 Characters
2.6.1 US-ASCII
2.6.2 Unicode
CT: DATA CONTEXT
2.7 Editing Text
2.8 Data Output
CT: DELIVER THE MESSAGE
Exercises
3 True or False
3.1 Digital Electronic Circuits
CT: NOTICE THE LOGIC
CT: BOTTOM UP
CT: CREATE A VIRTUOUS CYCLE
3.2 Boolean Algebra
3.2.1 Expressions and Laws
3.2.2 Universal Gates
3.3 Decision Making
CT: LOGIC CHECKS
3.3.1 Conditions and Implications
CT: FOLLOW THE LOGIC
3.4 Logic Applied to Bits
CT: COMBINE BASIC COMPONENTS
3.5 Logic and Iteration
3.5.1 The while Loop
3.5.2 The for Loop
CT: PERFORM EVERYDAY PROGRAMMING
Exercises
4 Who Is the Master?
4.1 What Is an Operating System?
4.2 Operating System Kernel
4.2.1 System Programs
4.3 Open Source Software
CT: PROMOTE FREE AND OPEN
4.4 Graphical User Interface
4.5 Desktop Overview
4.5.1 Desktop Components
CT: KNOW YOUR ARENA
4.6 Are You Talking to Me?
4.6.1 Input Focus
CT: PAY ATTENTION TO DETAILS
4.6.2 Event Handling
4.7 Command-Line Interface
CT: MIND THE TRADE-OFF
4.8 Files
4.8.1 File Content Types
4.8.2 File Tree
CT: LEARN FROM TREES
4.8.3 File Management and Access Control
4.9 Processes
CT: KEEP IT IN CONTEXT
CT: CAPTURE THE STATE
4.9.1 Process Lifecycle
4.9.2 Process Address Space
4.9.3 Virtual Address Space Layout
4.9.4 Address Mapping
CT: TIMESHARING
4.10 Managing Tasks
4.11 Up and Running
CT: BETTER CONTROL BETTER SYSTEM
Exercises
5 Hello There!
5.1 What Is a Network?
5.2 The Internet
5.3 Local and Wide Area Networks
5.4 Internet Architecture
CT: REDUNDANCY FOR SAFETY
CT: ONE AND ALL
5.5 Wireless Networking
5.6 Networking Protocols
CT: FOLLOW PROTOCOL
5.7 IP Addresses
5.8 Domain Names
5.9 Client and Server
CT: INTEROPERATE
5.10 Peer to Peer
5.11 DNS Service
CT: INDIRECTION ADDS FLEXIBILITY
5.12 DNS Servers and Resolvers
CT: DECENTRALIZE
5.13 Domain Registration
5.13.1 Accessing Domain Registration Data
5.14 Packet Switching
5.15 Cloud Computing
CT: BACKUP IN THE CLOUD
Exercises
6 Home Sweet Homepage :-)
6.1 What Is a Web Server?
6.2 Web Browsers
6.3 A Brief History of the Web
6.4 URLs
CT: BE AWARE OF THE IMPLICIT CONTEXT
6.4.1 URL Encoding
CT: WEAR DIFFERENT HATS
6.5 HTML and HTML5
CT: MARK IT UP
6.6 Webpage Styling
6.7 Web Hosting
CT: REALLY USE YOUR WEBSITE
CT: BE CAREFUL WITH ONLINE INFORMATION
6.8 Dynamic Generation of Webpages
6.8.1 Active Server Pages
6.8.2 Database Access
6.9 Client-Side Scripting
6.10 Hypertext Transfer Protocol
6.10.1 HTTP Caching
CT: CACHE FOR SPEED
6.11 Website Development
CT: DEVELOP FOR USERS
6.12 Web Search Engines
CT: GOOGLE IT
CT: BELIEVE IT OR NOT
6.13 Web Services
6.14 Standard Web Technologies
Exercises
7 Keeping It Safe
7.1 Login
7.1.1 Website Login
CT: SAFEGUARD SECURITY REALMS
CT: PREVENT ILLICIT LOGIN
7.2 HTTPS and SSL/TLS
7.3 What Is a Digital Certificate?
7.4 Cryptography
7.4.1 Symmetric Cryptosystems
CT: SECURE SENSITIVE FILES
CT: ADD SECURITY LAYERS
7.5 Public-Key Cryptography
CT: BREAKTHROUGH
CT: BEWARE OF BUGS
7.6 RSA Public-Key Algorithm
7.7 Digital Signature
CT: SIGN DIGITALLY
7.8 Message Digests
7.9 Secure Email
7.9.1 Secure Email with Thunderbird
CT: FREE FROM SURVEILLANCE
7.10 Security Attacks and Defenses
CT: ALL FOR ONE AND ONE FOR ALL
Exercises
8 Solve That Problem
8.1 Solving Puzzles
8.1.1 Egg Frying
8.1.2 Liquid Measuring
8.1.3 A Magic Tray
8.2 Sorting
8.2.1 Bubble Sort
8.2.2 Improved Bubble Sort
CT: CUT IT DOWN
CT: BUILD IT UP
CT: STEPWISE REFINEMENT
CT: VERSION 2.O
8.3 Recursion
CT: REMEMBER RECURSION
8.3.1 Quicksort
8.4 Recursive Solution Formula
CT: APPLY THE RECURSION MAGIC
8.5 Tower of Hanoi
8.6 Eight Queens
8.7 General Backtracking
8.8 Tree Traversals
CT: FORM TREE STRUCTURES
8.9 Complexity
CT: WEIGH SPEED VS. COMPLEXITY
8.10 Heuristics
CT: DEVISE HEURISTICS
Exercises
9 Data everywhere
CT: GARBAGE IN, GARBAGE OUT
9.1 Digital Images
9.1.1 Representing Color
9.2 Raster Image Encoding
9.2.1 Raster Image Formats
CT: SMALL IS BEAUTIFUL
9.2.2 Vector Graphics
9.2.3 Scalable Vector Graphics
9.3 Audio and Video
9.3.1 Digital Audio
9.3.2 Audio Encoding Formats
9.4 Digital Video
9.4.1 Video Containers
9.4.2 Video Codecs
9.5 Format of Data and Files
CT: INTERPRETING DATA
CT: DATA IS APPLICATION DEPENDENT
CT: SAVE TREES WITH PDF
9.6 Data Sharing
9.7 Document Markup
9.7.1 What Is XML?
9.7.2 XML Document Format
9.7.3 XML for News Syndication
CT: MARKUP FOR INTEROPERABILITY
9.8 Data Compression
CT: COMPRESSION IS NOT ENCRYPTION
9.8.1 LZ Deflation
9.8.2 Huffman Code
CT: CUSTOMIZE FOR EFFICIENCY
9.9 Data Structures
CT: SYNTHESIZE AND SIMPLIFY
9.10 What Is a Database?
9.10.1 Relational Databases
9.10.2 SQL: Structured Query Language
CT: COMBINE WEB AND DATABASE
9.10.3 Big Data
CT: DATA ...

Table of contents