【電子書】「演算法×數學」全彩圖解學習全指南:從基礎開始,一次學會24種必學演算法與背後的關鍵數學知識及應用
2018、2019、2020連續三年國際資訊奧林匹亞競賽(IOI)金牌得主日本天才年輕程式設計師米田優峻為所有程式設計者而寫的演算法×數學學習全指南從入門者、進階程式設計師到競賽選手都該具備一口氣學會「必學經典演算法」+「支撐演算法的必要數學知識」獲得能真正徹底活用演算法的扎實程式設計力!「要理解程式設計中演算法與基礎數學之間的密切關係,這本書應該是最適合的了。」──日本國立資訊學研究所副所長 河原林健一 專業推薦|要真正理解、活用演算法,就得同步從數學下手——|第一本同時講解「演算法×數學×競賽題型」的程式必備基礎學習書,讓你事半功倍,一步到位!現代社會中,從電腦、智慧型手機,再到最前端的AI人工智慧等,無一沒有程式語言的參與。而在電腦強大的功能與計算能力背後,為了以最有效率的方式運算、解決問題,「演算法」扮演了關鍵角色,讓我們得以用更少的計算資源來解決各種問題。因此不論資歷深淺,演算法是所有程式設計者必得萬分熟悉的工具與知識。而要掌握演算法,背後的數學知識更是關鍵,但坊間的演算法學習資源時常忽略了學習者對於相關數學的掌握。觀察到此點的本書作者米田優峻,因而撰寫了本書,從演算法和數學同步下手,讓我們能夠真正掌握演算法的精髓。出生於2002年、現就讀東京大學四年級的米田優峻,在中學一年級時迷上程式設計,於2018、2019、2020連續三年奪得國際資訊奧林匹亞競賽(IOI)金牌,創下驚人紀錄。2023年,他再度於國際大學生程式設計競賽(ICPC)獲得全球第九名佳績。透過本書,他將深入淺出為讀者介紹各種經典演算法,並同時介紹必要的數學知識,幫助讀者扎實理解演算法的原理與提升應用能力。本書共有三大特色:1.&& &使用簡單易懂的圖解和方法,讓初學者也能輕鬆掌握。2.&& &提供了200道例題和演練題,幫助讀者鞏固所學知識。3.&& &從中學到大學程度的數學知識,僅選取與演算法相關的重要部分進行講解。不論你是剛接觸演算法學習的程式設計入門者,或者希望在已有的數學與演算法知識基礎上更深入理解,抑或者希望為程式設計競賽做準備,本書提供具體實用的知識和技巧,為你帶來莫大幫助,在閱讀過程中帶給你無窮樂趣。
【電子書】AI時代必讀!一看就懂的程式語言思維課
程式設計納入108課綱,學習任何程式語言都要需要的運算思維! 寫程式就像寫作文,學會單字語法不代表就能寫出好文章。 但如果能先了解程式設計背後的思維與邏輯, 不管以後使用哪種程式語言,都能運用自如,順利完成任務,一生受用。 對目前及未來的世代而言,學習如何寫程式已經是跟語文、數學、藝術一樣的基礎能力。在生活中,電腦可以幫忙掃地、洗衣、煮飯;在工作上,除了工商業界,電腦應用還擴及到設計、傳播、藝術等領域,與每個人緊密連結,因此不論處於什麼年齡,我們都應該及早擁有操作電腦的工具及知識,並建立起跟電腦一起工作的自信。 你是不是想學程式語言卻不知從何開始?別擔心,你不需要急著弄懂Java、Python、Ruby這些程式語言到底有什麼不同,即使不熟悉電腦的操作也沒關係。這本書將一步一步拆解程式設計師的思考模式,帶領你從故事及遊戲中尋找規則,學會以同樣的方式解決問題。對於不懂電腦的人來說,看到「迴圈」、「條件陳述式」、「運算子」、「變數」這些令人摸不著頭緒的專用術語就夠令人害怕的了,不過這些概念其實透過骰子或撲克牌遊戲就可以輕鬆學會並理解。 當你擁有如程式設計師一般的腦袋,就等於破解了電腦的魔法,也開啟了神奇的程式世界。只要多加練習,這些數字、符號、程式碼,都將成為解決問題的好幫手,並且讓你能更有創意地展現出自己的想法。 培養創客教育,最根本的邏輯思考及問題解決能力,為學習程式語言打好基礎! ★突破108課綱!程式設計初學者,一本就懂! ★對於未來的世代,學習如何寫程式已經是跟語文、數學、藝術一樣的基礎能力! ★不論處於什麼年齡,及早擁有操作電腦的工具及知識,建立起跟電腦一起工作的自信! ★如果能先了解程式設計背後的思維,不管以後使用哪種程式語言,都能運用自如,一生受用! ACTC亞洲兒童程式教育協會祕書長 吳郁芬教授 泛科知識公司知識長 鄭國威 臺師大電機工程學系助理教授/數感實驗室共同創辦人 賴以威教授 《偷插電的資訊科學》作者 謝宗翔老師 收到積木文化新書「輕鬆打造程式腦」,我相當興奮,台灣終於有針對程式教育養成的專書出版了,我迫不及待地仔細閱讀。 作者先以不同情境引發讀者思考電腦在生活中的重要性,進而以淺顯易懂的範例及活動來說明電腦運作概念,讓我越讀越有趣,因其理念與我們極力推廣的「不插電遊戲玩程式邏輯」有異曲同工之妙。 本書的重點不是在於寫程式,而在於先增進孩子運算思維的能力,未來不管孩子是否會成為程式設計師,都對其邏輯思考能力有所助益,家長也可以運用本書的內容,與孩子進行腦力激盪,看看誰才具有程式腦喔!——吳郁芬教授,ACTC亞洲兒童程式教育協會祕書長 人機合一的時代全面來臨,別再讓自己當程式盲,透過這本圖文並茂的好書,讓自己往一級玩家的目標邁進吧。 ——鄭國威,泛科知識公司知識長 電腦是邏輯的組成,編寫程式是以有邏輯的方法跟電腦溝通。而在那之前,我們應該先形塑自己的思維,讓你的思考方式更有邏輯。 ——賴以威教授,臺師大電機工程學系助理教授/數感實驗室共同創辦人 學資訊就只是寫程式嗎?不要害怕,其實資訊科學是可以很有趣的,擁有一個會思考、不怕難題的資訊腦也能這麼簡單! ——謝宗翔老師,《偷插電的資訊科學》作者 &
【電子書】STM32韌體開發實戰
‧標準庫的開發環境建置 ‧開發板與最小系統板的製作教學 ‧微控制器外設功能介紹與標準庫範例程式 ‧介紹I2C時序與撰寫相關IC的功能函式 ‧學會查看IC資料手冊 本書使用STM32F0標準庫開發韌體,透過範例以圖文方式逐步說明,幫助初步接觸STM32嵌入式開發的讀者學習何為韌體開發。本書將帶領有電子電路和C語言基礎,但沒接觸過嵌入式開發的讀者,掌握韌體開發的流程。 為讓各位讀者更容易理解,本書將依各單元說明韌體開發的步驟: 1.【STM32開發板製作教學】在進入嵌入開發的第一步就是了解製作開發板的原理、規劃和了解具備哪些零件開發板才能夠使用。 2.【暫存器開發】介紹GPIO這個功能、韌體開發暫存器的概念、使用Keil 5來創建開發環境並接著使用暫存器來控制MCU的GPIO功能程式介紹。 3.【標準庫開發】介紹STM32的標準庫、開發環境創建,GPIO口輸入和輸出範例,接著會開發幾個STM32常用的外設功能如:EXTI外部中斷、SysTick內核功能定時器做出較精準的Delay函式、UART、I2C,以上都會有範例程式搭配做介紹。 4.【I2C實例解析】介紹EEPROM(電子抹除式可複寫唯讀記憶體)、ADXL345(三軸感測器)和SI7021(溫濕度感測器),以上三種IC是使用I2C與MCU傳輸資料的,這章會介紹個別IC的Datasheet的重點查找、範例程式與時序講解。 5.【小型韌體開發實例】具備上述章節的基本能力後,讓讀者吸收一個小型韌體開發的系統,此章節會簡述韌體需求,功能規劃、最小系統板規劃、開發簡介。 以上學習的方法也適用於不同型號的微控制器,真正弄懂一顆MCU後在換其它顆型號的MCU也不會有太多的阻礙,雖然STM32近幾年都在主推使用STM32CubeMX所產生的HAL庫來幫助使用者能在最短的時內完成開發驗證,但學習本書的標準庫會對HAL庫的函式使用有所助益。 此書將能帶給想接觸STM32嵌入式開發又不知從何下手的讀者有個良好的指引,讓讀者藉由此本書有更多的開發的想發可延伸,爾後自學本書上面沒有教學的項目也能快速找到學習方向。 &
【電子書】演算法圖鑑:33種演算法 + 7種資料結構,人工智慧、數據分析、邏輯思考的原理和應用全圖解
★超人氣暢銷演算法學習書全新增訂版!新增7種演算法詳細圖解+「資料壓縮」,內容增補修訂!★全球超過250萬人使用,「Apple年度最佳APP」書籍化!★隨書附贈獨家贈品「七大主題演算法圖解記憶表」★★ 讀再多文字解說都看不懂?沒關係,全部畫給你看,一次弄懂演算法到底是什麼!★★●直觀理解,從基礎開始學習,一用就上手的演算法專書!●全圖像化step by step,完整拆解制霸AI時代的演算法精髓!●詳解演算法的奧妙、執行效率、優缺點,活化思維,做出最佳決斷!【專業審訂】國立成功大學資訊工程系講座教授兼成大研究發展基金會執行長 謝孫源【專家學者好評推薦】李忠謀 國立臺灣師範大學副校長/資訊工程學系教授趙坤茂 國立臺灣大學資訊工程學系教授鄭國威 泛科知識公司知識長【高中資訊社團好評推薦】北一女中資訊研習社台南女中資訊研究社成功高中電子計算機研習社高雄女中資訊社新竹高中軟體研究社CSDC█ 演算法時代來了!現今我們的世界已離不開演算法,從線上搜尋、社群交友、法院判案、醫學診斷、金融運作、大腦決策到人工智慧的未來,越了解演算法,越可能掌控權力,成為時代的贏家。有些演算法對我們有益、有些有用,有些則可能使我們陷入大麻煩,但我們對這些演算法所知極少。不管用哪種程式語言編寫程式,演算法都是不可或缺的,不過如果認為只有學電腦的人才要了解演算法,那就太可惜了。演算法其實是一連串解決問題的邏輯步驟,只要熟悉這些步驟和運用方式,每個人都能設計自己的演算法並應用於各種不同領域。學習演算法正是建構嚴謹思維和幫助做出最佳判斷的訓練。█ 演算法的第一本書,從基礎開始學習!演算法是用以執行計算或完成作業的程序,可以想像成料理食譜,如果做出某種料理的步驟是食譜,那麼用電腦解出特定問題的步驟就是演算法了。然而,食譜與演算法的決定性差異,在於演算法非常嚴謹。相較於食譜有很多概略的描述,演算法的所有步驟都用數學方式表現,沒有模糊地帶。本書蒐羅介紹33種基本的演算法和7種資料結構,貨真價實完全圖解。每一個步驟都以圖片和文字詳細說明,拆解具體演算過程,逐步建立邏輯概念,輕鬆進入演算法的世界。書中解說的演算法範疇包括「排序」、「陣列搜尋」、「圖形搜尋」、「安全性演算法」、「分群」,以及「網頁排名」等各種廣泛使用的基礎演算法。不用艱澀的專有名詞,步步口語分解,完全沒有概念的人也能漸進學習。&
【電子書】圖解演算法原理
解析演算法結構 實際操作 加深學習 精選課堂練習 資料結構、排序、搜尋etc… 從基礎到應用準則完全圖解 ‧詳細講解各種演算法的特色 ・學會如何選擇適當的演算法 ・跨頁閱讀適合初學者或複習自學 ・涵蓋機器學習結構到活用範例 堅實的基礎知識「實用」的工具書 需要懂得因應場景選擇適當的演算法,才能夠建立有效率的程式。即便獲得的成果相同,但使用的演算法會讓處理效率大不相同。不過對演算法抱持著「看不出有什麼差異」「好複雜好像很難」排斥心態的學習者想必是大有人在。因此,本書中的每個主題皆是以跨頁,並搭配圖解的講解方式幫助讀者從零開始學習演算法的基礎知識。 推薦給符合以下條件的讀者 ‧想學習演算法的基礎知識 ‧想拓展知識領域更上一層樓 ‧想成為懂得如何選擇演算法的人 ‧想成為能快速又正確建立程式的人
【電子書】ChatGPT 來襲,未來人人都需具備的運算思維!應用詠唱工程來釋放程式生產力:程式學習.開發篇
▶▶▶ 人人都會用程式的時代來臨了… 未來人人都必須具備有「運算思維」,才能駕馭AI,而不是反過來被會用AI的人淘汰,但「運算思維」該如何獲得呢?運算思維其實就是一種思考方式,可以藉由學習程式設計、解決問題、模擬現實情境來練習和培養。在掌握運算思維後,本書進一步介紹了當前熱門的ChatGPT詠唱工程,教你如何用正確的提示命令,來達到人機協作的高效率,並運用其便利性,來輔助程式學習的內容,從基礎的語法練習開始,到函式方法與物件、決策與迴圈、非同步語法與 API 呼叫、web 應用程式,最後還有實際的專案實作演練,讓你善用AI,不再擔心被淘汰! 【本書適用讀者】 1.對於程式開發用於工作有興趣,但一直苦於程式入手門檻較高。 2.非主修程式的學生。 名人推薦 這本書將幫助讀者充分利用ChatGPT的潛力,並達到更好的結果。它是一本深入但易於理解的指南,無論您是初學者還是有經驗的使用者,都會受益於其中的實用建議和洞察力。---東吳大學資管系特聘教授&& 郭育政 典型的AI人機協作(AI-Human Collaboration)過程,剛好就呼應到本書的3個重點:運算思維、詠唱工程、程式學習。也是我覺得這本書跟目前市面上其他著作的最大差異,透過詠唱,讓ChatGPT成為學習運算思維和程式設計的伴讀小童!---奇步應用有限公司 執行長& 陳佳新 ChatGPT 大浪來襲,與其害怕,不如跟著建宏兄一起衝浪吧!---國立雲林科技大學 研發處就業暨校友服務中心主任& 黃建盛 本書所介紹的運算思維和ChatGPT整合的教學模式,正是我們現代社會所需的核心能力,書中提供了全面而深入的指南,涵蓋了從運算思維的基礎概念到ChatGPT的應用技巧,尤其是以ChatGPT來引導學生設計Prompt,為讀者提供了實踐和應用這些知識的寶貴指引。---國立聯合大學文化創意與數位行銷學系教授、國立聯合大學共同教育委員會主任委員、教育部人工智慧技術及應用領域系列課程計畫《機器人服務設計》主持人 張陳基 &
【電子書】改變世界的九大演算法:讓今日電腦無所不能的最強概念
榮獲美國出版人協會(Association of American Publishers)電腦資訊科學最佳書籍獎 & 電腦網路技術無所不在:每天,我們從海量的資訊中搜尋到所要的資訊、我們上傳照片到臉書上、我們運用公鑰加密來傳送私人資訊例如信用卡號碼等等、我們使用數位簽章來確認所造訪的網站的真偽…… & 這本書介紹了讓電腦網路世界得以運作,塑造今日人類生活的九種最重要的演算法(algorithm)。作者挑選這九大演算法的標準是: & 1.每天會被一般電腦使用者用到的演算法。 2.必須能解決現實世界的具體問題。 3.主要是與資訊科學理論有關的演算法。 4. 美、簡潔、優雅。 & 本書所介紹的九大演算法是:搜尋引擎的索引(search engine indexing)、網頁排序(page rank)、公鑰加密(public-key cryptography)、錯誤更正碼(error-correcting codes)、模式辨識(pattern recognition,如手寫辨識、聲音辨識、人臉辨識等等)、資料壓縮(data compression)、資料庫(databases)、數位簽章(digital signature),以及一種如果存在的話將會很了不起的偉大演算法,並探討電腦能力的極限。 & 作者將我們日常生活會用到的電腦功能背後的道理,以淺顯易懂的方式介紹,不具備資訊科學的背景也可以了解。而且令人驚喜的是,每一種演算法,都是一個解決問題的創意與線索,也讓我們得以一窺近代數學家、資訊科學家的努力探索成果。面對越來越科技化的現代生活與職場挑戰,這些基本原理和概念值得我們去了解、吸收,為未來世界做好準備。