誰說不能從武俠學程式?
作者 | 李開周 |
---|---|
出版社 | 時報文化出版企業股份有限公司 |
商品描述 | 誰說不能從武俠學程式?:破譯武林招式,看懂程式設計!‧郭靖的小紅馬在Scratch裡能任意變色?‧韋小寶加盟天地會誓詞是高階程式語言?‧黃蓉的計算能力比Python還強?‧用 |
作者 | 李開周 |
---|---|
出版社 | 時報文化出版企業股份有限公司 |
商品描述 | 誰說不能從武俠學程式?:破譯武林招式,看懂程式設計!‧郭靖的小紅馬在Scratch裡能任意變色?‧韋小寶加盟天地會誓詞是高階程式語言?‧黃蓉的計算能力比Python還強?‧用 |
內容簡介 破譯武林招式,看懂程式設計! ‧郭靖的小紅馬在Scratch裡能任意變色? ‧韋小寶加盟天地會誓詞是高階程式語言? ‧黃蓉的計算能力比Python還強? ‧用費波那契數列就能進入桃花島? 以武俠小說的場景為媒介,讓武林絕招和程式設計理論緊密結合。只要你摸過電腦、玩過電動遊戲,熟悉鍵盤和滑鼠的操作,就能讀懂本書的程式邏輯。 讀者朋友可以一邊學習編寫程式的基礎知識,一邊跟著範例練習編寫代碼,不但能真正感受到程式設計的樂趣,還能解決生活中很多意想不到的大小問題。 本書從用PowerPoint製作基本動畫講起,再進入麻省理工學院開發的入門級動畫軟體Scratch,最後敲開程式設計的利器Python,循序漸進帶領讀者朋友理解程式世界的奧祕,並享受數位科技帶來的樂趣。 「如果你擁有電腦,卻沒有安裝Python,那叫暴殄天物。」~李開周
作者介紹 李開周李開周 一九八○年生,河南開封人,青年學者,專欄作家。 大學念的是工程學,曾任測量工程師,從事測量、預算和土地規劃等工作。曾在《新京報》、《中國經營報》、《世界新聞報》、《羊城晚報》、《中國烹飪》和《萬科周刊》等媒體開設專欄。 著有《誰說不能從武俠學數學?》、《誰說不能從武俠學化學?》、《誰說不能從武俠學物理?》、《從奈米到光年:有趣的度量衡簡史》、《逛一回鮮活的宋朝民俗》、《擺一桌絕妙的宋朝茶席》、《過一場歡樂的宋朝新年》、《吃一場有趣的宋朝飯局》、《歷史課本聞不到的銅臭味》、《民國房地產戰爭》、《包公哪有那麼黑》等。
產品目錄 開場白 程式設計讓生活更美好 第一章 下命令給電腦 讓小紅馬動起來 讓小紅馬跑起來 下命令不等於程式設計 程式設計語言與江湖黑話 第二章 幫俠客做計算 《九陰真經》有多少字? 郭靖對黃蓉說了多少句? 替你的電腦裝上Python 從大鬍子到大蟒蛇 將Python當成超級計算器 是黃蓉算錯了,還是Python算錯了? 遇到浮點數,拿出工具包 變數:江湖上的未知數 第三章 控制語句,三招兩式 直譯器和編輯器 編譯器和一燈大師 段譽比劍 段譽賞花 郭靖磕頭 別讓郭靖死在閉環裡 結構總共三招,只學兩招就夠 第四章 函數和計算的本質 戰鬥力計算模型 函數盒子有機關 神鵰不吃草,閃電貂不吃糖 自訂函數 隨機函數與凌波微步 讓你飛起來的函式庫 用費波那契數列進入桃花島 第五章 寫出人人能用的程式 袁承志尋寶 尋寶升級 溫度轉換器 什麼是「物件導向」? 消耗內力的遞迴
書名 / | 誰說不能從武俠學程式? |
---|---|
作者 / | 李開周 |
簡介 / | 誰說不能從武俠學程式?:破譯武林招式,看懂程式設計!‧郭靖的小紅馬在Scratch裡能任意變色?‧韋小寶加盟天地會誓詞是高階程式語言?‧黃蓉的計算能力比Python還強?‧用 |
出版社 / | 時報文化出版企業股份有限公司 |
ISBN13 / | 9786263357785 |
ISBN10 / | 6263357789 |
EAN / | 9786263357785 |
誠品26碼 / | 2682229587005 |
頁數 / | 272 |
開數 / | 25K |
注音版 / | 否 |
裝訂 / | P:平裝 |
語言 / | 1:中文 繁體 |
尺寸 / | 21X14.8X1.6CM |
級別 / | N:無 |
內文 : 【開場白】程式設計讓生活更美好
有一年暑假,我的八歲兒子迷上網路遊戲。
老師每天在線上發布作業,他要嘛不寫,要嘛少寫,不然就是唰唰唰地亂寫一通,趕緊拍照交差,騰出時間打遊戲。
我帶他進行戶外運動,他要嘛不去,要嘛拖延,要嘛找藉口提前離開,趕緊回家打遊戲。
打遊戲的時間太長,不僅學業成績倒退,視力下降,注意力也會受影響。但想讓孩子離開網路遊戲,就像讓賭徒離開牌桌一樣困難,也許還更加艱難。
我知道不只一個孩子沉迷遊戲,也不只是孩子沉迷。有些男人年近而立,或者年過而立,不願做家務,不願管孩子,甚至不願工作,只顧著天天打遊戲。給他一箱泡麵和一款大型網路遊戲,他可以連續一個月不出門,完全忘記在這個世界上還有「責任」兩個字。
我不認為遊戲全是壞東西,能讓大人和小孩無憂無慮地玩,正是現代科技與和平環境提供的美好福利。但如果毫無節制,遊戲就類似毒品,會讓人上癮。我覺得應該讓人掌控遊戲,而不是讓遊戲掌控自己。
怎樣才能讓人掌控遊戲?怎樣才能從遊戲陷阱中拔出腿呢?一個至今看起來還算有效的方法是:想辦法讓玩家了解遊戲的核心。
無論網路遊戲或單機遊戲,無論電腦遊戲或手機遊戲,無論2D遊戲或3D遊戲,核心都是一堆代碼,由程式設計師編寫的電腦代碼。程式設計師用電腦聽得懂的語言設計指令,這個過程叫做「程式設計」。當孩子學會程式設計後,他就會不由自主地從上帝視角看待遊戲,才更有可能擺脫遊戲的掌控。
道理非常簡單──假如我們試圖戰勝一個很難打敗的敵人,首先要了解敵人。「知己知彼,百戰百勝」,這句老話絕對不是亂說。所以在那個暑假,我開始教兒子電腦知識,學習
程式設計。
我先讓他熟悉鍵盤,再陪他看完整套兒童電腦入門影片(網路很多,許多出版商也製作過很多這類產品),接著帶他學習一款非常適合小學生入門的程式設計軟體──由麻省理工
(MIT)開發的積木式程式軟體Scratch。
我帶著他學習Scratch一年,到第二年暑假,就讓他接觸真正的程式語言。我幫他選的程式語言是Python,因為十分流行,且愈來愈大眾化。更重要的是,Python是一門在入門階段相對簡單的高級程式語言,能讓初學者找到成就感,而成就感才是學習的最佳驅動力。
第三年暑假、第四年暑假……我們利用假期,偶爾會利用週末,斷斷續續地學習Python,隔三差五地編寫代碼。學習效果如何呢?上國中時,我兒子終於可以獨立編寫一些能在生活中用到的小程式了。他是否還在打遊戲呢?是的,但他不再痴迷遊戲,而是在學習和運動累了以後,用遊戲放鬆一下。事實上,如今他喜歡自己動手編寫遊戲,就是那種非常簡陋的單機版遊戲,用來向朋友們炫耀。同時我不得不承認,他在程式設計方面缺乏悟性,絕對不是天生適合做程式設計師的天才少年。
當然,我沒有非要把孩子培養成程式設計師的計畫,因為我自己也不是程式設計師。
我現在的職業是作家,以前的職業是測量和製圖員。我在大學時期才學習程式設計,當時可不是為了擺脫遊戲,而是為了賺錢。
請允許我用一些篇幅分享學習程式設計的經歷。
一九九九年,我上大學後,第一節電腦課,老師在電腦教室裡向幾十位同學提問:
「學過電腦的請舉手。」
不到一半同學舉手。
「用電腦打過遊戲的請舉手。」
舉手的超過一半。
「有沒有從來沒摸過電腦的?」
我舉了手,又放下,因為整間教室只有我一個人舉手。
課堂上,我不敢碰任何按鍵,唯恐弄壞要賠。課後偷偷問旁邊的同學:「老師說移動滑鼠,滑鼠是什麼東西啊?」
那節課過後,我開始發憤學電腦。第一,我感覺到「別人都知道而我不知道」的那種壓力;第二,我在報紙上看到一篇新聞 ─某公司招聘程式設計師,月薪新臺幣二萬三千元。
現在月薪二萬三千元屬於低薪,但在二十多年前,可是一筆了不起的鉅款,夠我繳兩年學費!為了這筆錢,我必須學電腦,必須學程式設計,我希望將來也要賺到這麼多錢!
老師讓學盲打,我既沒有電腦,也不捨得花錢買鍵盤,乾脆在紙上畫一個鍵盤。
老師教Word和Excel,說學會了萬用字元和規則運算式的學生,將來會很搶手。我去圖書館借了一本《office高級辦公》教材,背熟上面的所有萬用字元。
二○○○年,我們開始上程式設計,兩個星期才有一次去教室免費上機的機會,平常則要花每小時七元的費用租用電腦。我不捨得花這筆錢,就在紙上寫代碼,想像實際運行的樣
子。後來電腦考試,我是滿分通過。
當然,課堂上那些電腦知識遠遠不夠用,但每所大學都有圖書館,裡面都能借到程式設計參考書。從《VB程式設計》到《C++入門》,從網頁設計手冊到資料庫管理手冊,一本一
本地借,一本一本地啃,看見很酷的代碼就先抄到紙上,再找機會借電腦實測。
從二○○一年下半年起,我已經可以憑程式設計的技能賺錢了。我用FoxPro(一款早已過氣的資料庫管理系統)編寫一個外掛程式,還用 VB 編寫一些能自動計算變異數、標準
差、相關係數,能自動繪製關聯模型的小程式,幫助做課題的導師省去大量毫無意義的手算環節。導師沒有讓我白忙,有段時間按照每月一千三百元的標準發給我補貼。
二○○二年,我為一家勘測規劃機構開發一款「平差計算器」,能夠把測量誤差平均分配到圖紙上。透過這款小軟體,我賺了二千六百元和一臺即將報廢的電腦,這是我擁有的第一臺電腦,一直用到大學畢業。
我當時經常去3C賣場買1.44MB的磁片,把我寫的代碼存到裡面。後來還斥資買了一個32MB的隨身碟,像寶貝一樣掛在脖子上,經常被別人誤認成打火機,要借來點菸。
大學畢業後,我被導師推薦到勘測單位上班,沒有從事電腦行業。但我對程式設計的興趣並未衰減,當年學過的電腦知識,特別是程式設計,今天依然在發揮作用。
母親愛聽戲曲,我寫了一些網路爬蟲去相關網站上自動搜索可以下載的戲曲,批量下載到唱戲機裡。
孩子上小學時要做大量四則運算、分數運算,要找出公因數和公倍數,計算各種幾何體的面積和體積,這些作業通常要求家長檢查和簽名。為了減輕這個工作量,我寫了許多自動檢查作業的小工具。
我自己寫書、寫專欄、寫劇本,要查很多資料,要分析很多文獻,一些科普類書稿還不可避免地涉及數學運算。怎麼辦?透過程式設計來提高效率肯定是最划算的選擇。例如從一部長篇小說裡分析人物關係,完全可以先導入一個自動分詞的函式庫,再用K-近鄰演算法寫一個分析器,最後用matplotlib這樣的三方庫繪製一張龐大但精確的社會網路。你可能對那部長篇小說很熟悉,但借助程式設計卻能發現許多原先很容易被肉眼忽略的關鍵資訊。
金庸武俠經典《笑傲江湖》,主人公令狐沖「自習獨孤九劍後,於武功中只喜劍法」。而我則覺得,當一個人真正領略到程式設計的好處後,就會迷上它,因為程式設計讓生活更美好。
本書是繼《誰說不能從武俠學物理?》、《誰說不能從武俠學化學?》和《誰說不能從武俠學數學?》後,我的第四本「武俠科普」。書中分享的程式設計知識都是入門級,既沒有涉及高深演算法,也沒有涉及當前軟體發展領域正在使用的種種框架。無論是小朋友還是大朋友,只要此前摸過電腦,只要知道什麼是鍵盤和滑鼠,就能讀懂書中的絕大部分內容。
我希望你能耐心讀下去,還希望你在閱讀的同時,最好在電腦上寫一寫代碼,特別是書裡那些不複雜的範例。因為程式設計是一門實踐性極強的技能,光說不練是體會不到樂趣的。
最後祝全天下愈來愈多孩子盡快擺脫遊戲的控制,從此迷上程式設計的魔力。
最佳賣點 : 破譯武林招式,看懂程式設計!