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