《高等學校“十二五”公共課計算機規(guī)劃教材:計算思維基礎(chǔ)》從計算機基礎(chǔ)教學中如何培養(yǎng)大學生計算思維能力出發(fā),對“大學計算機基礎(chǔ)”課程教學改革進行了一些探討和研究,將思維訓練融入教學的各環(huán)節(jié)中,以期進一步提升大學生的綜合素質(zhì)和能力,挖掘大學生的學習潛能。全書共7章,主要內(nèi)容包括計算機與計算思維、信息技術(shù)基礎(chǔ)、問題求解、數(shù)據(jù)的組織與管理、算法設(shè)計、算法分析與問題優(yōu)化、綜合案例等。書中引入了國外先進教學理念,貫徹了啟發(fā)思辨原則。
《高等學校“十二五”公共課計算機規(guī)劃教材:計算思維基礎(chǔ)》可作為高等學校非計算機各專業(yè)、計算機成人教育各類進修班與培訓班學習計算思維基礎(chǔ)知識的教材,也可供廣大工程技術(shù)人員和管理人員。
隨著信息科學在電子商務(wù)、虛擬制造、高精尖數(shù)字設(shè)備、信息化醫(yī)療設(shè)備等領(lǐng)域得到越來越廣泛的應(yīng)用,本科生信息基礎(chǔ)課程的培養(yǎng)要求越來越高——要求從單純知識和技能的培養(yǎng)層面,提高到意識和思維的培養(yǎng)層面。
近年來,國內(nèi)外對計算思維課程的討論如火如荼,在高校設(shè)置計算思維課程體系的理論探究與實踐也陸續(xù)出現(xiàn)。例如,由李國杰院士任組長的中國科學院信息領(lǐng)域戰(zhàn)略研究組撰寫的《中國至2050年信息科技發(fā)展路線圖》中,對“計算思維”給予了足夠的重視,認為計算思維的培育是克服“狹義工具論”的有效途徑,是解決其他信息科技難題的基礎(chǔ)。又如,國家自然科學基金委員會信息科學部二處處長劉克教授,強調(diào)了在大學中推進“計算思維”這一基本理念的必要性。
計算思維課程應(yīng)并非僅面向計算機科學專業(yè),而是面向所有專業(yè)。例如,主修英語或數(shù)學等,可從事于各行各業(yè);計算機科學也一樣,主修計算機科學,也可以從事任何類型的工作。我們應(yīng)當激發(fā)學生對計算機科學的興趣,讓學生熱愛計算機科學并積極探索,傳播計算機科學的快樂和力量,致力于使計算思維成為公眾的常識,真正融入人類的一切活動中。
本書認為,計算主義創(chuàng)造自動模型,建立捕獲處理的模型,處理依次可自動化并可操作,不需要人完成每一步,但需要有使每一步成為可用和可能的計劃。
本書還認為,思維是人腦對客觀事物本質(zhì)屬性和內(nèi)部規(guī)律的間接(在已有經(jīng)驗基礎(chǔ)上,通過推理來認識事物)或概括(對一類事物共同本質(zhì)特征和規(guī)律性聯(lián)系的歸納)反映過程。
本書共包含7章。第1章計算機與計算思維由夏耘老師編寫,第2章信息技術(shù)基礎(chǔ)由黃春梅老師和程國曙老師編寫,第3章問題求解由黃小瑜老師編寫,第4章數(shù)據(jù)的組織與管理由劉麗霞老師編寫,第5章算法設(shè)計由臧勁松老師編寫,第6章算法分析與問題優(yōu)化由楊贊老師編寫,第7章綜合案例由馬立新老師編寫。夏耘、黃小瑜老師負責全書的總體策劃與統(tǒng)稿、定稿工作。
在本書的編寫過程中,得到了其他高等學校(復旦大學、西安交通大學和同濟大學)的關(guān)心、支持和幫助,他們在書稿的審閱中提出了寶貴的意見與建議,在此對于各位老師的幫助,以及有關(guān)專家、教師長期以來對我們工作的支持和關(guān)心,表示衷心感謝。
由于作者本身的水平有限,再加上寫作時間倉促,不當之處在所難免,衷心希望讀者給予批評指正。
編者
2012年6月
第1章 計算機與計算思維
1.1 計算機
1.1.1 什么是計算
1.1.2 計算工具
1.1.3 計算機的工作原理和用途
1.2 計算機應(yīng)用系統(tǒng)的計算模式
1.2.1 單主機計算模式
1.2.2 分布式客戶/服務(wù)器計算模式
1.2.3 瀏覽器/服務(wù)器計算模式
1.3 新的計算模式
1.3.1 普適計算
1.3.2 網(wǎng)格計算
1.3.3 云計算
1.3.4 人工智能
1.3.5 物聯(lián)網(wǎng)
思考題
第2章 信息技術(shù)基礎(chǔ)
2.1 信息的編碼與解碼
2.1.1 數(shù)制與運算
2.1.2 信息的編碼
2.2 計算機硬件基礎(chǔ)
2.2.1 布爾邏輯與門電路
2.2.2 計算機基本結(jié)構(gòu)和工作原理
2.2.3 指令與指令系統(tǒng)
2.2.4 信息在計算機內(nèi)的表示
思考題
第3章 問題求解
3.1 問題求解概念
3.1.1 一般問題解決過程
3.1.2 計算機求解問題的過程
3.1.3 編程思想
3.2 計算機編程的基本概念
3.2.1 常量和變量
3.2.2 數(shù)據(jù)類型
3.2.3 函數(shù)與表達式
3.2.4 繪圖工具Visio介紹
3.3 程序結(jié)構(gòu)
3.3.1 順序結(jié)構(gòu)
3.3.2 條件結(jié)構(gòu)
3.3.3 循環(huán)結(jié)構(gòu)
思考題
第4章 數(shù)據(jù)的組織與管理
4.1 數(shù)據(jù)結(jié)構(gòu)
4.1.1 線性表
4.1.2 樹形結(jié)構(gòu)
4.1.3 圖結(jié)構(gòu)
4.2 數(shù)據(jù)庫技術(shù)
4.2.1 數(shù)據(jù)管理技術(shù)
4.2.2 數(shù)據(jù)庫管理系統(tǒng)
4.2.3 查詢語言SQL
4.2.4 設(shè)計和創(chuàng)建數(shù)據(jù)庫
4.2.5 數(shù)據(jù)庫案例分析
思考題
第5章 算法設(shè)計
5.1 算法的基本概念
5.1.1 算法定義與性質(zhì)
5.1.2 設(shè)計算法原則和過程
5.1.3 算法的基本表達
5.2 算法策略
5.2.1 枚舉法
5.2.2 遞歸法
5.2.3 分治法
5.2.4 回溯法
5.3 基本算法
5.3.1 基礎(chǔ)知識
5.3.2 排序
5.3.3 查找
思考題
第6章 算法分析與問題優(yōu)化
6.1 算法分析
6.1.1 算法時間復雜度分析
6.1.2 算法空間復雜度分析
6.2 問題優(yōu)化
6.2.1 貪心法
6.2.2 動態(tài)規(guī)劃
思考題
第7章 綜合案例
7.1 案例1 五子棋游戲開發(fā)
7.2 案例2 車牌競拍系統(tǒng)開發(fā)
思考題
附錄A JDK與Eclipse的安裝設(shè)置
附錄B Visual C++中編寫C代碼
參考文獻