From Computing to Computational Thinking
eBook - ePub

From Computing to Computational Thinking

Paul S. Wang

Condividi libro
  1. 266 pagine
  2. English
  3. ePUB (disponibile sull'app)
  4. Disponibile su iOS e Android
eBook - ePub

From Computing to Computational Thinking

Paul S. Wang

Dettagli del libro
Anteprima del libro
Indice dei contenuti
Citazioni

Informazioni sul libro

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.

Domande frequenti

Come faccio ad annullare l'abbonamento?
È semplicissimo: basta accedere alla sezione Account nelle Impostazioni e cliccare su "Annulla abbonamento". Dopo la cancellazione, l'abbonamento rimarrà attivo per il periodo rimanente già pagato. Per maggiori informazioni, clicca qui
È possibile scaricare libri? Se sì, come?
Al momento è possibile scaricare tramite l'app tutti i nostri libri ePub mobile-friendly. Anche la maggior parte dei nostri PDF è scaricabile e stiamo lavorando per rendere disponibile quanto prima il download di tutti gli altri file. Per maggiori informazioni, clicca qui
Che differenza c'è tra i piani?
Entrambi i piani ti danno accesso illimitato alla libreria e a tutte le funzionalità di Perlego. Le uniche differenze sono il prezzo e il periodo di abbonamento: con il piano annuale risparmierai circa il 30% rispetto a 12 rate con quello mensile.
Cos'è Perlego?
Perlego è un servizio di abbonamento a testi accademici, che ti permette di accedere a un'intera libreria online a un prezzo inferiore rispetto a quello che pagheresti per acquistare un singolo libro al mese. Con oltre 1 milione di testi suddivisi in più di 1.000 categorie, troverai sicuramente ciò che fa per te! Per maggiori informazioni, clicca qui.
Perlego supporta la sintesi vocale?
Cerca l'icona Sintesi vocale nel prossimo libro che leggerai per verificare se è possibile riprodurre l'audio. Questo strumento permette di leggere il testo a voce alta, evidenziandolo man mano che la lettura procede. Puoi aumentare o diminuire la velocità della sintesi vocale, oppure sospendere la riproduzione. Per maggiori informazioni, clicca qui.
From Computing to Computational Thinking è disponibile online in formato PDF/ePub?
Sì, puoi accedere a From Computing to Computational Thinking di Paul S. Wang in formato PDF e/o ePub, così come ad altri libri molto apprezzati nelle sezioni relative a Informatique e Programmation de jeux. Scopri oltre 1 milione di libri disponibili nel nostro catalogo.

Informazioni

Anno
2017
ISBN
9781351630221
Edizione
1
Argomento
Informatique

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 ...

Indice dei contenuti