前言
歡迎選用本書①!本書講解基本的計算理念。今天的學(xué)生生活在一個計算機無處不在的世界,幾乎生來就知道怎樣使用它們。但會用并不等于理解。這個世界要求學(xué)生具有“計算思維”,從而更高效地利用計算。學(xué)生成為專業(yè)程序員的概率很小,但大多數(shù)都應(yīng)該想好平時怎樣才能更好地運用計算。許多學(xué)生都殷切希望通過新的方式讓計算機服務(wù)于大眾。為了有效地完成這些任務(wù),必須理解基本的計算理念。這正是本書的宗旨。
第6版新增內(nèi)容
和之前各版本相比,第6版讓你更“通曉”信息技術(shù)。雖然基本概念沒有變,但它們的實際表現(xiàn)可謂日新月異。第6版保留了構(gòu)成“通曉”愿景的所有基本理念,但許多內(nèi)容都進行了修訂,以適應(yīng)當(dāng)今涌現(xiàn)的大量技術(shù)進步,包括智能手機、HTML5、CSS3、瀏覽器增強的JavaScript編程支持和云技術(shù)等,F(xiàn)在必須通過這些新的體驗來理解和利用基本的信息技術(shù)概念。眾包、隱私、安全性、釣魚、AI、網(wǎng)絡(luò)禮儀和版權(quán)等概念也有了新的發(fā)展,所以必須與時俱進,用學(xué)生熟悉的語言重新闡釋它們。“環(huán)境認知”②也有了變化。例如,和以前不同,今天的學(xué)生最起碼都聽說過像“算法”這樣的詞。但知道并不等于理解。所以,第6版進行了全面修訂,以新的、更直觀的方式解釋這些概念。其他新詞也以類似方式處理。
熟悉本書老版本的學(xué)生可仔細體會一下新版本的變化。第6版保留了核心的“通曉”愿景,但采用的是21世紀第二個十年的新技術(shù)。
簡單地說,第6版的總共4部分內(nèi)容發(fā)生了以下變化!
第1部分進行了全面修訂。第1章、第3章和第5章提供了全新的內(nèi)容。第4章針對HTML5和CSS3進行了修訂。第2章和第6章進行了大幅修訂!
第2部分重寫了第7章講解位的內(nèi)容。完全重寫了第9章新的內(nèi)容更容易理解。重寫了第10章的內(nèi)容,進行了大幅簡化!
在第3部分,第11章大多數(shù)內(nèi)容都是新的。第12章進行了全面修訂,涵蓋了最近暴露的隱私威脅(斯諾登事件和NSA)和愈演愈烈的安全攻擊。講解電子表格的第13章和第14章進行了修訂以兼容不同的實現(xiàn)(包括Excel的新老版本)。第15章對關(guān)系模型進行了全面修訂。第16章進行了大量修訂。
最后,第4部分對JavaScript的第17章~第21章進行了重新設(shè)計,用Firefox Scratchpad(代碼草稿紙)沙盒進行代碼開發(fā),這是本書教學(xué)方式的重大進步!
大量Try It練習(xí)和章末習(xí)題進行了大幅修訂,添加了許多新習(xí)題。
① 原書名為“Fluency 6”,注意,“Fluency”是“通曉”的意思。本書的宗旨是讓你從技能、概念和能力三個方面“通曉”信息技術(shù)!g注
② 即“ambient knowledge”,社會學(xué)家用這個詞描繪一種新形式的“社會意識”。強調(diào)人們現(xiàn)在通過互聯(lián)網(wǎng)和社交媒體來相互了解對方,不需要見面就可以知道對方的好多事情。—譯注
Fluency,用風(fēng)趣的語言和內(nèi)容清楚地闡釋計算機科學(xué)原理
“通曉信息技術(shù)”(稍后會解釋)的愿景是向大學(xué)學(xué)生介紹基本的計算概念,本書宗旨就是實現(xiàn)該愿景!坝嬎銠C科學(xué)原理”(CS Principles)的愿景幾乎完全一致,只不過它面向的是高中生。本書同時適合這兩門課程。高中生應(yīng)該可以通過“AP CS Principles”(大學(xué)預(yù)修計算機科學(xué)原理)課程拿到大學(xué)“通曉信息技術(shù)”課程的學(xué)分。
取決于教師的特殊需要,兩門課在概念和思路上有85%~90%的重合。兩者都涵蓋算法、數(shù)字數(shù)據(jù)和元數(shù)據(jù)、編程、互聯(lián)網(wǎng)基礎(chǔ)、安全和隱私、AI,等等。區(qū)別主要是側(cè)重點而非內(nèi)容不同。課程目標分別是“通曉計算理念以增強學(xué)生的計算能力”和“理解計算理念以增長科學(xué)見聞”。兩個目標都很重要(且互不排斥)。本書確保了這兩個目標的達成。
具體來講,“計算機科學(xué)原理”的課程設(shè)置由七大概念所引導(dǎo)(www.csprinciples.org)。所以,本書像下面這樣安排章節(jié)內(nèi)容來迎合這些概念!
創(chuàng)新—4, 5, 6, 10, 16, 18, 19, 20, 21
抽象—1, 4, 10, 17, 18, 19, 20, 21
數(shù)據(jù)—7, 8, 13, 14, 15, 16, 17, 22
算法—1, 2, 7, 8, 9, 10, 22
編程—4, 6, 9, 10, 16, 17, 18, 19, 20, 21, 22
互聯(lián)網(wǎng)—3, 4, 5, 8, 11, 12, 16, 19, 20, 21
全球影響—1, 2, 3, 4, 5, 9, 11, 12, 22
本書“教師資源”會更詳盡地解釋算法。
什么是“通曉信息技術(shù)”?
寫作本教材的靈感源于“美國國家研究委員會”(National Research Council,NRC)發(fā)布的一篇題為“通曉信息技術(shù)”(Being Fluent with Information Technology)的報告。在美國國家自然科學(xué)基金會(National Science Foundation,NSF)委托做出的這篇報告中指出,傳統(tǒng)計算機普及教育無法讓現(xiàn)已能熟練運用計算機的學(xué)生及時跟進信息技術(shù)的飛速發(fā)展。報告得出的結(jié)論是,如果學(xué)生具備的知識背景已演進并順應(yīng)了信息技術(shù)的日新月異,就需要提高教育的“層級”。
推薦采用的方法便稱為“通曉信息技術(shù)”或簡稱FIT,這是一種面向項目的學(xué)習(xí)方法,涵蓋技能、概念和能力這三方面,旨在幫助人們立即成為高效率的IT用戶,并為將來的學(xué)習(xí)打好基礎(chǔ)。
愿景
本書實現(xiàn)了“通曉信息技術(shù)”(簡稱“通曉”)的愿景。該愿景由三部分構(gòu)成,不同部分通過具體的項目來加以整合。為了使學(xué)生立即成為高效率的IT用戶,并為將來的學(xué)習(xí)打好基礎(chǔ),需要教給他們?nèi)齻方面的知識:技能、概念和能力!
技能是指能熟悉計算機應(yīng)用,比如收發(fā)電子郵件、進行文字處理和上網(wǎng)搜索等。這些以前被奉為“高大上”的知識現(xiàn)在是個學(xué)生都會,不需要專門花時間教學(xué)。本書只保留“高級技能”的內(nèi)容(主要是電子表格和數(shù)據(jù)庫查詢)!
概念是指支撐整個信息技術(shù)的基礎(chǔ)知識,比如計算機的工作原理、信息的數(shù)字表示和信息可信度的評估等。概念可以幫助學(xué)生掌握一些基本原理,幫助他們在信息技術(shù)演進的同時抓住最基本的東西!
能力是指更高層次的思考過程,比如解決問題、追根溯源(亦即推理)、透過現(xiàn)象看本質(zhì)以及故障診斷等。能力體現(xiàn)在思維模式上,這些模式是研究信息技術(shù)的核心要素,但它們的應(yīng)用非常廣泛。追根溯源、解決問題等是教育的標準構(gòu)成部分,它們在IT中被大量運用,使其成為“通曉”的重要主題。
針對每個組成部分,NRC的報告分別列出了十大要點,本書會根據(jù)需要進行解釋。
本書讀者
本書為非技術(shù)專業(yè)的大學(xué)低年級學(xué)生設(shè)計。主修專業(yè)不是科學(xué)、工程和數(shù)學(xué)。技術(shù)專業(yè)的學(xué)生也能從本書獲益。但由于“高手”有時會讓“新手”產(chǎn)生“自卑”感,所以并不鼓勵他們上這種課,而是鼓勵參加一些速成班或強化班。對除了四則運算之外的數(shù)學(xué)知識沒有要求。不需要先修課程。
章和章之間的依賴關(guān)系
本書進行了精心組織,允許以多種順序授課。除了第1章和第2章的預(yù)備知識和第23章的終章,本書各章之間沒有特別明顯的依賴關(guān)系。幾個連續(xù)的章專門圍繞著一個主題進行講解: 第3~5章,聯(lián)網(wǎng)、HTML和信息
第7~10章,數(shù)據(jù)表示、計算機和算法
第13~16章,電子表格和數(shù)據(jù)庫原理
第17~21章,JavaScript編程
利用這個設(shè)計的一個方式是布置4個大作業(yè),每個作業(yè)持續(xù)兩周或更長的時間。在學(xué)生完成作業(yè)期間完成對每章內(nèi)容的講解。
盡管還有其他許多授課順序,但有三種順序是我感覺最常用。
始于聯(lián)網(wǎng),終于聯(lián)網(wǎng)。本章各章的自然順序是先講解信息和聯(lián)網(wǎng),中間講解計算、數(shù)據(jù)庫和JavaScript,最后回到聯(lián)網(wǎng)主題。這是1~23章本來的順序,可根據(jù)實際情況修改。
互聯(lián)網(wǎng)優(yōu)先。我采用的順序是1~10章,17~21章,11~16章,22~23章。該順序是先講解信息和HTML,接著講解算法,然后跳到JavaScript延續(xù)網(wǎng)頁設(shè)計主題,最后講解數(shù)據(jù)庫。一個季度(約10周)的課程建議采用該順序授課!
傳統(tǒng)。傳統(tǒng)授課方式以技術(shù)的出現(xiàn)時間為準。所以將信息表示和計算機放到聯(lián)網(wǎng)之前。具體順序是1~2章、第22章(可選)、7~16章、3~6章以及17~23章。第22章包含一些高級內(nèi)容,如圖靈測試、卡斯帕羅夫和深藍的國際象棋比賽,這些內(nèi)容也應(yīng)該提前介紹。
這些授課方式各有特點。具體選擇哪個更多取決于教師的個人喜好和課程安排,沒必要拘泥于章節(jié)順序。
本書特色
每章開頭都提供了“學(xué)習(xí)目標”,列出了當(dāng)前章的重要概念。讀完這一章后應(yīng)掌握這些概念。
此外,為方便學(xué)生理解,書中還穿插了大量特色內(nèi)容。
有關(guān)計算機日常使用的實用技巧與建議
有意思的真相和統(tǒng)計數(shù)據(jù)
對常見錯誤的警告和解釋
章內(nèi)小練習(xí),章末有參考答案
本書提供了以下值得一讀的補充內(nèi)容。
計算歷史上的一些重要人物和里程碑
術(shù)語:重要術(shù)語在正文中加黑,書末還提供了術(shù)語表
答案:書末提供部分習(xí)題答案
附錄A:HTML5參考
附錄B:RSA公鑰加密
附錄C:第16章iDiary項目的配套XML數(shù)據(jù)庫和XSL模板
附錄D:JavaScript編程規(guī)則
附錄E:Bean Counter程序,一個完整的JavaScript和HTML例子
附錄F:Memory Bank網(wǎng)頁,一個完整的JavaScript和HTML例子
附錄G:Smooth Motion程序,一個完整的JavaScript和HTML例子
本書網(wǎng)絡(luò)補充資源
本書配套網(wǎng)站(www.pearsonhighered.com/snyder①)提供以下學(xué)生資源。
① 中文版配套網(wǎng)站是https://bookzhou.com。—譯注
23個上機實驗(每章一個),旨在更全面地探索書中的概念,測試學(xué)生對這些概念的理解,更好地理解它們在自己的生活中的應(yīng)用。以第1章為例,實驗探索了公開信息和隱私之間的利益沖突。它指導(dǎo)學(xué)生訪問各種網(wǎng)上資源,理解他們(以及他們的設(shè)備)正在共享的信息。這些信息有的會非常私人,有時甚至能“按圖索驥”到個人。理解信息共享的范圍和類型,有助于理解幕后發(fā)生的事情!扒把浴弊詈蠛蛍ww.pearsonhighered.com/snyder都提供了完整的實驗清單
Sharon Scollard寫的Computer Skills Workbook,介紹了Microsoft Office辦公套件,包含涉及Excel,Word,PowerPoint和其他主題的14個完整實驗
視頻講解(VideoNote)。本書的一些重要概念提供了短的“視頻講解”① 本書用到的所有例子的HTML代碼、數(shù)據(jù)庫設(shè)計和JavaScript代碼
JavaScript參考卡
生詞卡
Alice和Alice開發(fā)環(huán)境手冊(PDF)
符合資格的教師可申請以下補充資源。請發(fā)送郵件到coo@netease.com,聯(lián)系當(dāng)?shù)豍earson Education代表,或訪問www.pearsonhighered.com了解詳情。
PowerPoint幻燈片
教師手冊
題庫
測驗生成器(支持Blackboard Learn,Blackboard CE/Vista,Moodle,Angel,Sakai和D2L平臺)
學(xué)生須知
通曉信息技術(shù)是一個非同尋常的主題,導(dǎo)致本書也有些與眾不同。用好本書的關(guān)鍵在于“循序漸進”。順利學(xué)完本書將改變你的思維方式,讓你能更好地解決問題,更好地推理,更好地排錯等。不管在IT領(lǐng)域還是在生活中的其他地方,這些能力都非常有用。所以,本書可以說是你的“良師益友”。
但是,書買回來放著不看,這些改變是不可能發(fā)生的。只有學(xué)習(xí)才能改變?nèi)松榱藢W(xué)好本書,必須有一些良好的學(xué)習(xí)習(xí)慣:看書、做章末習(xí)題(書末提供了部分答案)、早點開始寫作業(yè)以及提問等。推薦每天都花一些時間進行線上研究(而不是簡單地沖一下浪就完了)。觀念需要時間來沉淀。上好這門課,良好的學(xué)習(xí)習(xí)慣很重要,這有助于提高解決問題的能力,還能為其他學(xué)科的學(xué)習(xí)打好基礎(chǔ)。剛開始可能比較痛苦,但豐碩回報可期。
最后,手邊最好隨時有臺可用的計算機,這樣才能隨時練習(xí)。示例文件從本書配套網(wǎng)站下載。祝你好運!寫作本書的過程令人愉悅,希望你看書時也如此。
① 由于是英文視頻,所以為了方便索引,書中保留了這些視頻的英文名稱。—譯注
上機實驗
這一系列實驗旨在幫助學(xué)生理解不同的技術(shù)要點,獲得使用工具的第一手體驗,并在實驗過程中思考技術(shù)之于現(xiàn)實世界的意義,它們對于日常生活有什么影響。
每個實驗都包含一個Introduction、一個To Consider小節(jié)、一系列練習(xí)和一個Moving On小結(jié)。熟悉一個實驗后,其他實驗可以“依葫蘆畫瓢”。
實驗具體請訪問www.pearsonhighered.com/snyder。①
Lab 00 簡介和資源
Lab 01 網(wǎng)上的信息
Lab 02 人機界面
Lab 03 互聯(lián)網(wǎng)如何連接
Lab 04 HTML5入門
Lab 05 搜索
Lab 06 調(diào)試
Lab 07 數(shù)字編碼
Lab 08 數(shù)字媒體
Lab 09 獲取/執(zhí)行周期
Lab 10 算法思考
Lab 11 網(wǎng)上協(xié)作
Lab 12 隱私
Lab 13 電子表格入門
Lab 14 數(shù)據(jù)和信息可視化
Lab 15 數(shù)據(jù)庫入門
Lab 16 為iDiary添加RSS源
Lab 17 JavaScript入門
Lab 18 擴展Bean Counter程序
Lab 19 創(chuàng)建JavaScript函數(shù)
Lab 20 JavaScript循環(huán)
Lab 21 更多JavaScript知識(人機交互)
Lab 22 AI和機器人
Lab 23 跟上IT發(fā)展潮流
學(xué)而時習(xí)之,不亦說乎?
—孔子
① 聯(lián)機實驗要求用本書英文原版進行注冊。中文版暫不支持。——譯注