關(guān)于我們
書單推薦
新書推薦
|
計(jì)算機(jī)科學(xué)與工程導(dǎo)論
本書以培養(yǎng)學(xué)生對(duì)計(jì)算機(jī)科學(xué)與工程專業(yè)的興趣為宗旨,以培養(yǎng)問題解決能力為目標(biāo),從具體到抽象,將計(jì)算機(jī)科學(xué)的基本原理和動(dòng)手實(shí)踐有機(jī)結(jié)合,通過圖形化的編程語言、機(jī)器人實(shí)驗(yàn)、手機(jī)應(yīng)用和Web開發(fā)等工具及案例,使學(xué)生了解基本的程序設(shè)計(jì)、計(jì)算機(jī)原理、軟件工程等計(jì)算機(jī)知識(shí),并把整門課組織成了一個(gè)完整的工程項(xiàng)目。
計(jì)算機(jī)工業(yè)一直引導(dǎo)著世界工業(yè)的發(fā)展,也是其他行業(yè)前進(jìn)的動(dòng)力源。計(jì)算機(jī)科學(xué)和計(jì)算機(jī)工程專業(yè)是計(jì)算機(jī)工業(yè)以及相關(guān)產(chǎn)業(yè)發(fā)展的源泉,也一直是全世界最有價(jià)值的專業(yè)之一。然而,2000 年的網(wǎng)絡(luò)泡沫使計(jì)算機(jī)工業(yè)受到重創(chuàng),也使計(jì)算機(jī)科學(xué)及相關(guān)專業(yè)的學(xué)位價(jià)值第一次受到質(zhì)疑。計(jì)算機(jī)科學(xué)和計(jì)算機(jī)工程專業(yè)的生源也受到挑戰(zhàn),甚至出現(xiàn)了一場(chǎng)世界范圍內(nèi)的計(jì)算機(jī)科學(xué)生源危機(jī)。然而,2000年的網(wǎng)絡(luò)泡沫的影響是短暫的,計(jì)算機(jī)工業(yè)很快恢復(fù)并創(chuàng)造出更高的價(jià)值。例如,亞馬遜的市值在2000 年從其峰值107 美元/ 股一度跌到7美元/ 股。今天,亞馬遜的市值已經(jīng)遠(yuǎn)遠(yuǎn)超過2000 年的107 美元/ 股的峰值,并發(fā)展成為一家云計(jì)算服務(wù)的主要提供商。Google更是從一家網(wǎng)絡(luò)公司發(fā)展成為世界最大的公司之一,其業(yè)務(wù)包含互聯(lián)網(wǎng)、云計(jì)算、移動(dòng)計(jì)算、智能手表、汽車等行業(yè)。
然而,計(jì)算機(jī)工業(yè)的恢復(fù)并沒有消除計(jì)算機(jī)專業(yè)的生源危機(jī)。以美國亞利桑那州立大學(xué)(ASU)為例。2002 年前,ASU 每年有200 名新生進(jìn)入計(jì)算機(jī)科學(xué)專業(yè)。到2004 年,就只有100 名新生入學(xué)。美國其他大學(xué)的情況也與之類似。2008 年,美國計(jì)算機(jī)協(xié)會(huì)(ACM)發(fā)布的計(jì)算機(jī)科學(xué)教學(xué)大綱報(bào)告(http://www.acm.org/ education/curricula/ComputerScience2008.pdf)正式定義2000 年之后計(jì)算機(jī)科學(xué)進(jìn)入生源危機(jī),必須采取有效措施來解決這一危機(jī)。ACM 在長達(dá)108 頁的報(bào)告中用了一整章來闡述這一危機(jī)的解決方案。 ACM 的報(bào)告指出,網(wǎng)絡(luò)泡沫的影響只是計(jì)算機(jī)科學(xué)專業(yè)進(jìn)入生源危機(jī)的導(dǎo)火索,致使計(jì)算機(jī)科學(xué)生源持續(xù)危機(jī)的真正原因是陳舊的教學(xué)方法和內(nèi)容。計(jì)算機(jī)科學(xué)專業(yè)課程,特別是計(jì)算機(jī)入門課程的教學(xué)方法和內(nèi)容必須使學(xué)生感興趣,想挑戰(zhàn),還要能激發(fā)學(xué)生的創(chuàng)造性。ACM 報(bào)告建議從三方面來改進(jìn)教學(xué)方法和內(nèi)容。 第一,應(yīng)用領(lǐng)域。計(jì)算機(jī)科學(xué)的教學(xué)內(nèi)容必須更緊密地與應(yīng)用相結(jié)合。 第二,課程設(shè)置。計(jì)算機(jī)科學(xué)的教學(xué)必須增加學(xué)生感興趣的課程,例如,游戲編程、多媒體計(jì)算、機(jī)器人、移動(dòng)計(jì)算。 第三,教學(xué)方法。教學(xué)過程必須生動(dòng)有趣,以激發(fā)學(xué)生的學(xué)習(xí)興趣,聽課的同時(shí)必須動(dòng)手實(shí)踐,內(nèi)容有挑戰(zhàn)性但必須基于學(xué)生的接受能力,教學(xué)必須與就業(yè)機(jī)會(huì)相結(jié)合。 在ACM 大綱的指導(dǎo)下,很多大學(xué)開始在計(jì)算機(jī)的課程中增加學(xué)生感興趣的內(nèi)容。機(jī)器人的引入最為廣泛。 為什么基于機(jī)器人的計(jì)算機(jī)科學(xué)入門課程沒有在10 年、20 年或30 年前發(fā)生呢?有多方面的原因: 第一,計(jì)算機(jī)科學(xué)專業(yè)的生源一直很好,計(jì)算機(jī)教育主要注重內(nèi)容和系統(tǒng)化,沒有太多考慮學(xué)生的興趣。 第二,機(jī)器人硬件價(jià)格高,無法用于大班課程。 第三,機(jī)器人涉及硬件和軟件,編程復(fù)雜,不宜作為入門課程的內(nèi)容。 近10 年來,這幾方面都發(fā)生了根本的變化。計(jì)算機(jī)科學(xué)專業(yè)的生源在2000 年后受到挑戰(zhàn)。機(jī)器人硬件價(jià)格大幅下降,特別是面向服務(wù)的軟件技術(shù)、云計(jì)算和可視化編程技術(shù)使機(jī)器人的編程應(yīng)用在大學(xué)一年級(jí)甚至高中教學(xué)中成為可能。計(jì)算機(jī)教育專家和計(jì)算機(jī)工程師攜手合作,開發(fā)了多種可視化的教育編程平臺(tái),使沒有計(jì)算機(jī)知識(shí)和編程基礎(chǔ)的高中生和大學(xué)低年級(jí)的學(xué)生能夠很快學(xué)會(huì)計(jì)算機(jī)應(yīng)用編程。例如,美國MIT開發(fā)的Scratch以及卡內(nèi)基·梅隆大學(xué)開發(fā)的Alice動(dòng)畫和編程平臺(tái)能讓學(xué)生把他們的故事變成電影和游戲。MIT的App Inventor能讓學(xué)生很快學(xué)會(huì)手機(jī)App編程。 樂高的NXT 2.0和EV3機(jī)器人編程平臺(tái)采取了軌道式積木編程模式,簡單易學(xué),適合中小學(xué)的興趣教學(xué)。然而,NXT 2.0和EV3只能用于編程樂高機(jī)器人,而樂高機(jī)器人在中國價(jià)格昂貴,限制了它的廣泛應(yīng)用。 Intel最新開發(fā)的物聯(lián)網(wǎng)服務(wù)編排層(IoT Services Orchestration Layer)在Linux操作系統(tǒng)上用可視化的語言編程物聯(lián)網(wǎng)設(shè)備,可以讀寫連接于物聯(lián)網(wǎng)控制板上的設(shè)備。 微軟的機(jī)器人開發(fā)工作室(MRDS)的VPL(Visual Programming Language,可視化程序設(shè)計(jì)語言)可用于編程和控制樂高NXT機(jī)器人和多種機(jī)器人,包括iRobot、Fischertechnik、LEGO Mindstorms NXT、Parallax robots和微軟的仿真機(jī)器人等。MRDS VPL可以用于編程從簡單到復(fù)雜的各種應(yīng)用,廣泛用于高中和大學(xué)教學(xué)中。從2006年發(fā)布至今,MRDS VPL建立了一個(gè)巨大的用戶社區(qū)。遺憾的是,在微軟的重構(gòu)過程中,MRDS VPL項(xiàng)目被終止。盡管微軟繼續(xù)支持MRDS VPL的免費(fèi)下載,但MRDS VPL不再支持新的機(jī)器人平臺(tái),例如,MRDS VPL不支持取代樂高NXT的EV3機(jī)器人。 為了讓MRDS VPL的用戶社區(qū)能夠繼續(xù)他們的機(jī)器人程序開發(fā),基于對(duì)工作流和可視化語言多年的研究和開發(fā),亞利桑那州立大學(xué)(ASU)于2015年發(fā)布了ASU VIPLE機(jī)器人開發(fā)平臺(tái),該平臺(tái)由陳以農(nóng)博士領(lǐng)導(dǎo)的物聯(lián)網(wǎng)及機(jī)器人教育實(shí)驗(yàn)室開發(fā)。陳以農(nóng)博士于2003年和2005年受微軟資助,參與了MRDS VPL的早期研究。從2006年微軟發(fā)布起,ASU一直使用MRDS VPL作為計(jì)算機(jī)導(dǎo)論課實(shí)驗(yàn)工具。當(dāng)微軟終止MRDS VPL項(xiàng)目后,ASU物聯(lián)網(wǎng)及機(jī)器人教育實(shí)驗(yàn)室以MRDS VPL功能和編程模式為設(shè)計(jì)說明,自主開發(fā)了VIPLE平臺(tái)。VIPLE有以下特點(diǎn): 繼承了MRDS VPL的屬性和編程模式,具有MRDS VPL編程經(jīng)歷的教師和學(xué)生可以直接使用VIPLE。VPL的教學(xué)資料也能為VIPLE平臺(tái)所用。 擴(kuò)展了MRDS VPL支持的機(jī)器人平臺(tái),例如,VIPLE可以編程樂高的EV3機(jī)器人。使用MRDS VPL編程樂高NXT機(jī)器人的學(xué)?梢灾苯由(jí)到EV3。 在VIPLE程序與機(jī)器人之間采用了面向服務(wù)的標(biāo)準(zhǔn)通信接口JSON和開源的機(jī)器人中間件,可讓通用機(jī)器人平臺(tái)接入。 開發(fā)了以Linux為操作系統(tǒng)的VIPLE中間件并以Intel Edison的機(jī)器人作為默認(rèn)平臺(tái)和套件。VIPLE中間件已經(jīng)移植到其他機(jī)器人平臺(tái)。Galileo和Edison的機(jī)器人價(jià)格不到樂高EV3的一半,從而可使基于VIPLE和Intel機(jī)器人的教學(xué)能夠推廣到更多學(xué)校。 除了MRDS VPL的機(jī)器人編程功能外,VIPLE還支持通用的服務(wù)計(jì)算。VIPLE支持C#源代碼模塊的插入,也可以調(diào)用Web服務(wù)來完成VIPLE庫程序中沒有的功能。 ASU VIPLE支持設(shè)計(jì)思維和使用可視化編程。開發(fā)者只需繪制應(yīng)用程序的流程圖(規(guī)格設(shè)計(jì))而無須編寫文本代碼。開發(fā)環(huán)境中的編譯工具能夠把流程圖直接轉(zhuǎn)換成可執(zhí)行的程序,從而使軟件開發(fā)變得更容易、更快速。整個(gè)軟件的開發(fā)過程就是一個(gè)簡單的拖放過程,即把代表服務(wù)的模塊拖放到流程圖的設(shè)計(jì)平面,然后用連線把它們連接起來。這個(gè)簡單的過程可以使沒有程序設(shè)計(jì)經(jīng)驗(yàn)的人在幾分鐘內(nèi)創(chuàng)建自己的機(jī)器人應(yīng)用程序。經(jīng)過一個(gè)學(xué)期的學(xué)習(xí)和動(dòng)手實(shí)踐后,學(xué)生可以編出較為復(fù)雜的智能程序,使機(jī)器人能探索未知迷宮并走出迷宮。 ASU VIPLE可用作機(jī)器人導(dǎo)論、計(jì)算機(jī)導(dǎo)論、通信導(dǎo)論或工程導(dǎo)論等課程的實(shí)驗(yàn)工具。 下面通過幾個(gè)程序案例來展示VIPLE編程的簡單性和實(shí)用性,特別是與計(jì)算機(jī)導(dǎo)論的相關(guān)性和對(duì)計(jì)算機(jī)導(dǎo)論課程實(shí)驗(yàn)的支持。 案例1:ASU VIPLE實(shí)現(xiàn)的計(jì)數(shù)器該計(jì)數(shù)器程序從0計(jì)到10,并用語音輸出服務(wù)讀出所生成的數(shù)字:The number is 0,1,2,3,4,5,6,7,8,9,10。 案例2:車庫門遙控器下圖的有限狀態(tài)機(jī)描述了一個(gè)單鍵遙控器。當(dāng)車庫門處于關(guān)閉狀態(tài)時(shí),按下遙控鍵將使車庫門開啟。當(dāng)車庫門處于開啟狀態(tài)時(shí),按下遙控鍵將使車庫門關(guān)閉。當(dāng)車庫門處于開啟或關(guān)閉過程中時(shí),按下遙控鍵將使車庫門停止運(yùn)動(dòng),再按下遙控鍵將使車庫門繼續(xù)向之前的方向運(yùn)行。 上圖的有限狀態(tài)機(jī)可用下圖的ASU VIPLE程序?qū)崿F(xiàn)。所使用的單鍵是控制鍵Ctrl。 案例3:遙控Intel機(jī)器人以下VIPLE程序可以實(shí)現(xiàn)用計(jì)算機(jī)鍵盤(方向鍵)來遙控Intel機(jī)器人的移動(dòng),空格鍵是停止移動(dòng)。 案例4:迷宮機(jī)器人編程以下程序展示了迷宮機(jī)器人編程過程。該機(jī)器人具有一個(gè)測(cè)距傳感器,根據(jù)前方、左方和右方的距離來決定下一步的走向。 與通常的介紹原理的教材不同,本書是一本介紹原理并實(shí)現(xiàn)原理的教材。學(xué)懂一個(gè)原理后,學(xué)生還必須把該原理應(yīng)用到實(shí)踐中。比如,當(dāng)學(xué)懂了運(yùn)算器的工作原理后,學(xué)生必須用VPL 編寫一個(gè)運(yùn)算器,并測(cè)試實(shí)現(xiàn)的運(yùn)算器能否正確完成運(yùn)算任務(wù)。當(dāng)設(shè)計(jì)了一個(gè)迷宮漫游算法后,學(xué)生必須把該算法編程到機(jī)器人中,測(cè)試機(jī)器人能否在迷宮中不迷路。 所以,我們的教材不但必須保證原理的正確,還必須保證正確的原理能被學(xué)生在給定的時(shí)間內(nèi)實(shí)現(xiàn)。為此,我們必須驗(yàn)證每一個(gè)實(shí)驗(yàn)和每一個(gè)練習(xí)的正確性和時(shí)間要求。編寫這樣的教材和講授這樣的課程,會(huì)花費(fèi)更多的精力和時(shí)間,但是我們堅(jiān)信這樣的教材和這樣的課程是學(xué)生想要學(xué)的,是學(xué)生能學(xué)透和記住的,這樣才能培養(yǎng)出真正有知識(shí)和能力的學(xué)生。正是這樣的教學(xué)理念,使我們走到一起,聯(lián)手編寫了本書。 本教材的第1版于2013年出版,本教材的第2版在第1版的基礎(chǔ)上做了重大的改進(jìn)。首先,主要的編程軟件從微軟的MRDS VPL更新到ASU VIPLE (Visual IoT/Robotics Programming Language Environment)。支持的機(jī)器人平臺(tái)也從樂高增加到多個(gè)其他平臺(tái),包括Intel Edison和Galileo平臺(tái)、ARM pcDuino平臺(tái)、TI的平臺(tái)。VIPLE還有三個(gè)內(nèi)建仿真平臺(tái):Unity模擬器平臺(tái)、Web 2D模擬器平臺(tái)和Web 3D模擬器平臺(tái)。ASU VIPLE可以在中文和英文菜單之間隨時(shí)切換。 由于工作量巨大,還有許多老師和學(xué)生參與了編寫和校驗(yàn)工作,在此表示衷心的感謝。本教材基于自主開發(fā)的軟件平臺(tái),許多學(xué)生參與了開發(fā)工作。 Garrett Drown開發(fā)了第1版的eRobotics的可視化編程語言;Calvin Cheng為VIPLE的早期開發(fā)提供幫助,并在EV3 API的開發(fā)上做出了貢獻(xiàn);Gennaro De Luca負(fù)責(zé)VIPLE的主要開發(fā)工作;Tara De Vries對(duì)VIPLE開發(fā)中的服務(wù)集成做出了貢獻(xiàn);Megan Plachecki、John Robertson和Sami Mian在JSON的接口設(shè)計(jì)、Edison機(jī)器人的中間件實(shí)現(xiàn)以及機(jī)器人的硬件實(shí)現(xiàn)方面做出了貢獻(xiàn);Matthew De Rosa開發(fā)了第1版VIPLE Unity模擬器;Yufeng Ouyang 和Kaiyi Huang等開發(fā)了第2版的Unity模擬器;Adam Lew、Joshua Owens、Ankit Patel、Harshil Patel、Peter Tueller和Spencer Rodewald在Web 2D模擬器開發(fā)中做出了貢獻(xiàn); Alexandra Porter、David Orellana、Matthew Miller 開發(fā)了Web 3D 模擬器。 如何開設(shè)一門受學(xué)生歡迎的計(jì)算機(jī)入門課程是一個(gè)值得持續(xù)探索的課題,我們也在進(jìn)一步的嘗試和不斷完善中。因此,本書中難免有疏漏和不當(dāng)之處,歡迎各位同行和讀者批評(píng)指正。 作者201
陳以農(nóng),亞利桑那州立大學(xué)計(jì)算機(jī)系高級(jí)講師。機(jī)器人程序主任、軟件實(shí)驗(yàn)室科學(xué)家。編寫過多本教材。
推薦序
前 言 教學(xué)建議 第1章 職業(yè)發(fā)展機(jī)會(huì)和團(tuán)隊(duì)建設(shè) 1 1.1計(jì)算機(jī)科學(xué)和工程的課程體系及職業(yè)發(fā)展 1 1.1.1計(jì)算機(jī)科學(xué)和工程的課程體系 1 1.1.2 計(jì)算機(jī)就業(yè)形勢(shì)分析 2 1.1.3 計(jì)算機(jī)不同領(lǐng)域的職業(yè)機(jī)會(huì) 5 1.2 團(tuán)隊(duì)建設(shè) 6 1.2.1 合作模式 6 1.2.2 團(tuán)隊(duì)組建 6 第2章機(jī)器人開發(fā)環(huán)境和VIPLE入門 7 2.1 工作流和可視化編程 7 2.2 VIPLE IoT/機(jī)器人開發(fā)環(huán)境 12 2.2.1 VIPLE的工程設(shè)計(jì)過程 12 2.2.2 VIPLE的活動(dòng)和服務(wù) 13 2.3 VIPLE的使用 18 2.3.1創(chuàng)建程序顯示“Hello World” 19 2.3.2 最喜歡的電影 20 2.3.3使用或并和If活動(dòng)創(chuàng)建條件循環(huán) 21 2.3.4 使用While循環(huán) 24 2.3.5 使用全局變量創(chuàng)建一個(gè)活動(dòng) 25 2.3.6 創(chuàng)建Counter活動(dòng) 27 2.3.7 建立一個(gè)2-1多路選擇器 28 第3章 邏輯設(shè)計(jì)與計(jì)算機(jī)組成 31 3.1仿真——設(shè)計(jì)過程中的關(guān)鍵步驟 31 3.2 計(jì)算機(jī)系統(tǒng) 32 3.2.1 計(jì)算機(jī)系統(tǒng)的類型 32 3.2.2 計(jì)算機(jī)系統(tǒng)的組成 33 3.3在VIPLE中創(chuàng)建計(jì)算機(jī)系統(tǒng)部件 39 3.3.1 創(chuàng)建邏輯與門 39 3.3.2 創(chuàng)建一個(gè)1位全加器 41 3.3.3 創(chuàng)建一個(gè)2-1多路選擇器 42 3.3.4 創(chuàng)建一個(gè)4-1多路選擇器 42 3.3.5 創(chuàng)建一個(gè)1位ALU 43 3.3.6 自動(dòng)測(cè)試 44 第4章事件驅(qū)動(dòng)編程和有限狀態(tài)機(jī) 46 4.1 引言 46 4.2 事件驅(qū)動(dòng)編程 46 4.3 有限狀態(tài)機(jī) 48 4.4用ASU VIPLE來解決事件驅(qū)動(dòng)問題 51 4.4.1 創(chuàng)建一個(gè)事件驅(qū)動(dòng)計(jì)數(shù)器 52 4.4.2 實(shí)現(xiàn)一個(gè)自動(dòng)售貨機(jī) 52 4.4.3 用事件來實(shí)現(xiàn)自動(dòng)售貨機(jī) 52 4.4.4 車庫門控制器 53 4.4.5 奇偶校驗(yàn) 54 4.4.6 并行計(jì)算 55 4.4.7 線控的模擬 55 第5章模擬環(huán)境下的機(jī)器人以及迷宮導(dǎo)航 58 5.1 VIPLE機(jī)器服務(wù) 58 5.2 VIPLE支持的機(jī)器人平臺(tái) 60 5.3 穿越迷宮的算法 62 5.4使用有限狀態(tài)機(jī)的迷宮導(dǎo)航算法 63 5.5在VIPLE模擬器中實(shí)現(xiàn)自治迷宮導(dǎo)航算法 66 5.5.1 理解迷宮算法 66 5.5.2 學(xué)習(xí)沿墻算法 67 5.5.3編程Web機(jī)器人使之繞右墻走 67 5.5.4使用兩距離局部最優(yōu)算法遍歷迷宮 68 5.5.5理解Unity模擬器和VIPLE程序 68 5.5.6 實(shí)現(xiàn)VIPLE框圖 69 5.5.7實(shí)現(xiàn)兩距離局部最優(yōu)算法的活動(dòng) 69 5.5.8兩距離局部最優(yōu)算法的Main框圖 70 5.5.9 Web 2D模擬器 71 5.5.10配置VIPLE以使用Web模擬器 72 5.5.11在Web模擬器中實(shí)現(xiàn)沿墻算法的Main框圖 73 5.5.12在Web模擬器中實(shí)現(xiàn)沿墻算法所涉及的活動(dòng) 73 5.5.13在Web模擬器中實(shí)現(xiàn)兩距離局部最優(yōu)算法的Main框圖 75 5.5.14在Web 2D模擬器中實(shí)現(xiàn)兩距離局部最優(yōu)算法所涉及的活動(dòng) 76 5.5.15 Web 3D模擬器 76 第6章 機(jī)器人硬件組成 77 6.1 VIPLE計(jì)算與通信模型 77 6.2 機(jī)器人硬件總體結(jié)構(gòu) 79 6.3 主控板 79 6.3.1 Intel Galileo開發(fā)板 80 6.3.2 Intel Edison模塊 81 6.3.3 Arduino/Genuino 101 82 6.3.4 TI CC3200 LaunchPad 83 6.3.5 專用機(jī)器人主控模塊 84 6.4 傳感器模塊 84 6.4.1 超聲波傳感器 85 6.4.2 紅外傳感器 85 6.4.3 光傳感器/顏色傳感器 86 6.5 舵機(jī) 87 6.6 組裝伽利略機(jī)器人 90 6.7愛迪生機(jī)器人硬件和軟件的安裝 97 6.7.1 愛迪生機(jī)器人的硬件安裝 97 6.7.2 愛迪生機(jī)器人的軟件安裝 101 第7章 Intel機(jī)器人編程 109 7.1 采用沿墻算法的迷宮導(dǎo)航 109 7.1.1 沿墻迷宮導(dǎo)航(Main框圖的第一部分) 109 7.1.2 沿墻迷宮導(dǎo)航(Main框圖的第二部分) 110 7.1.3 Init活動(dòng) 110 7.1.4 Left1和Right1活動(dòng) 110 7.1.5 Right90和Left90活動(dòng) 111 7.1.6 Backward和Forward活動(dòng) 111 7.1.7 ResetState活動(dòng) 112 7.2 采用局部最優(yōu)算法的迷宮導(dǎo)航 112 7.2.1 用兩距離算法解決迷宮問題 112 7.2.2 在VIPLE里控制Intel機(jī)器人 114 7.2.3 在VIPLE程序里實(shí)現(xiàn)活動(dòng) 114 7.2.4 使用一個(gè)簡化的有限狀態(tài)機(jī) 115 7.3 使用事件驅(qū)動(dòng)編程的迷宮導(dǎo)航 115 7.3.1 使用事件驅(qū)動(dòng)編程的Left90活動(dòng) 116 7.3.2 使用事件驅(qū)動(dòng)編程的Left1和Backward活動(dòng) 116 7.3.3 基于事件驅(qū)動(dòng)活動(dòng)的Main框圖 116 7.4 使用光傳感器實(shí)現(xiàn)基本相撲算法 117 第8章 樂高EV3機(jī)器人編程 118 8.1 準(zhǔn)備知識(shí) 118 8.1.1 從EV3 Brick得到傳感器讀數(shù) 118 8.1.2 藍(lán)牙連接 118 8.1.3 通過程序得到傳感器讀數(shù) 119 8.1.4 通過藍(lán)牙或者Wi-Fi將機(jī)器人連接到VIPLE 119 8.2 遠(yuǎn)程控制EV3機(jī)器人 121 8.2.1 在VIPLE中通過連線驅(qū)動(dòng)機(jī)器人 121 8.2.2 改進(jìn)驅(qū)動(dòng)體驗(yàn) 122 8.3 使用VIPLE的循跡和相撲機(jī)器人程序 122 8.3.1 安裝一個(gè)顏色傳感器 122 8.3.2 循跡 122 8.3.3 使用光傳感器實(shí)現(xiàn)基本相撲算法 123 8.3.4 使用光傳感器和接觸傳感器的相撲算法 124 8.4 使用VIPLE的EV3沿墻程序 124 8.4.1 沿墻迷宮導(dǎo)航(Main框圖) 124 8.4.2 編寫Init活動(dòng) 125 8.4.3 編寫Left1活動(dòng) 126 8.4.4 編寫Right90活動(dòng) 126 8.4.5 編寫B(tài)ackward活動(dòng) 126 8.4.6 編寫ResetState活動(dòng) 126 8.4.7 編寫Forward活動(dòng) 127 8.4.8 在沿墻算法里配置傳感器 127 8.5 使用事件驅(qū)動(dòng)編程的沿墻算法 127 8.5.1 使用事件驅(qū)動(dòng)編程的Left90活動(dòng) 128 8.5.2 基于事件驅(qū)動(dòng)活動(dòng)的Main框圖 128 8.6 采用局部最優(yōu)試探算法的迷宮導(dǎo)航 129 8.6.1 實(shí)現(xiàn)局部最優(yōu)算法的Main框圖 129 8.6.2 實(shí)現(xiàn)SensorRight90 130 第9章機(jī)器人現(xiàn)場(chǎng)測(cè)試和機(jī)器人比賽準(zhǔn)備 131 9.1 準(zhǔn)備工作 131 9.2 實(shí)驗(yàn)作業(yè) 131 9.2.1 討論和會(huì)議紀(jì)要 131 9.2.2 尋寶比賽 131 9.2.3 迷宮導(dǎo)航比賽的實(shí)踐 132 9.2.4 相撲機(jī)器人比賽的實(shí)踐 132 9.2.5 完成會(huì)議紀(jì)要 132 第10章 機(jī)器人比賽 133 10.1 尋寶 133 10.2 自治迷宮遍歷 133 10.3 相撲機(jī)器人 134 第11章服務(wù)計(jì)算與Web應(yīng)用的開發(fā) 135 11.1 并行處理技術(shù) 135 11.2 文本語言編程的基本概念 136 11.3 面向服務(wù)的架構(gòu)的基本概念 140 11.4 Visual Studio編程環(huán)境 144 11.5 實(shí)驗(yàn)內(nèi)容 145 11.5.1VIPLE中的并行和面向服務(wù)計(jì)算 145 11.5.2開始使用Visual Studio開發(fā)環(huán)境和C#進(jìn)行編程 146 11.5.3 創(chuàng)建你自己的Web瀏覽器 150 11.5.4 創(chuàng)建一個(gè)Web應(yīng)用程序 151 11.5.5創(chuàng)建一個(gè)在線自動(dòng)售貨機(jī) 154 11.5.6使用加密/解密服務(wù)建立一個(gè)安全的應(yīng)用程序 157 第12章Android手機(jī)App的開發(fā) 161 12.1 預(yù)備知識(shí) 161 12.2 Android手機(jī)編程 162 12.2.1 Hello World 163 12.2.2 Magic 8 Ball 164 12.2.3 Paint Pic 165 12.2.4 摩爾泥游戲 165 12.2.5 股票報(bào)價(jià) 165 12.2.6 股票走勢(shì) 165 12.2.7 射盤子游戲 167 12.2.8 射擊多個(gè)盤子 170 12.2.9 打磚塊游戲 172 12.2.10 使用App Inventor編程N(yùn)XT Robot 177 12.2.11 猜數(shù)游戲 181 12.2.12 簡單的側(cè)滑板游戲 183 12.2.13 記憶游戲 186 第13章 演講文稿設(shè)計(jì) 197 13.1 演講前的準(zhǔn)備 197 13.1.1 組織演講稿的技術(shù)內(nèi)容 197 13.1.2 演示幻燈片設(shè)計(jì) 198 13.1.3用Excel求解模型和創(chuàng)建圖表 199 13.1.4演示幻燈片的評(píng)價(jià)和評(píng)分標(biāo)準(zhǔn) 200 13.2 演講實(shí)踐前的測(cè)驗(yàn) 200 13.3 演講內(nèi)容設(shè)計(jì)與實(shí)踐 201 13.3.1 截屏和圖片的編輯 201 13.3.2 插入視頻 201 13.3.3使用Excel求解模型和創(chuàng)建圖表 202 13.3.4 復(fù)制和特殊粘貼 203 13.3.5正式會(huì)議中的會(huì)議紀(jì)要和幻燈片設(shè)計(jì) 203 13.3.6 創(chuàng)建PPT幻燈片 204 13.3.7 幻燈片制作的分工 204 第14章 演講和演講評(píng)分 205 附錄 機(jī)器人課程設(shè)計(jì)項(xiàng)目和比賽規(guī)則 206
你還可能感興趣
我要評(píng)論
|