Contents
有效率地提升寫程式的了解與能力
從這 37 小時的課程,你會學到
- 學習Python的進階觀念與語法
- 體驗製作專案時的各種細節設計考量
- 同時見識進階觀念與語法的使用
- 學會用良好的方式結構具有複雜性的程式專案
- 學會將專案打包成套件上傳
- 學會爬蟲處理不同網站的觀念、爬法
- 學會使用資料庫 (包括NoSQL與SQL)
- 延伸教材-學會使用Selenium瀏覽器自動化
- 延伸教材-製作空氣品質監控專案
- 延伸教材-認識人工智慧、機器學習、深度學習
要求
- 寫程式的基礎能力。(如果熟悉的語言不是Python,需先自行學習Python的基礎)
- 課程需求的前置程式觀念:安裝與執行Python程式、Git與GitHub的基本使用、數據型態(Data Types)(包含清單跟字典)、條件式邏輯(Conditional Statements)(也就是if)、迴圈(Loops)、函式(Functions)、檔案讀寫、基本資料處理、內建函式庫(Libraries)的使用、下載與使用第三方函式庫、類別(Class)與物件(Object)。
課程說明
課程為固定價格,並無參加Udemy低價優惠銷售。
▌課程簡介
隨著寫程式越來越受到重視,許多非理工背景的同學都紛紛踏上自學寫程式之路。零零碎碎的基礎資源很多,但要有效率的提升程式能力是非常不容易的。一方面進階資源少,一方面大家根本不知道要學什麼,這就是這堂課的存在的意義,希望幫助同學有效率地提升寫程式的了解與能力。
學會寫程式的基礎能力其實不會太困難。會了基礎以後,當你想嘗試開發自己的程式,慢慢地接觸的東西越來越多,會發現還有好多東西要學,開始覺得好像永遠也學不完,而這種想法就很容易讓你半途而廢,中斷了提升能力的熱誠。
雖然程式領域的確又深又廣,但大約可以把這些知識分成幾個等級。透過自學寫程式可以學會level 1沒有問題,再來則面臨兩個問題:
- 在缺乏 level 2、level 3 的知識下,寫程式時容易有各種困惑,這樣寫對不對?為什麼這樣會那樣?這是因為缺乏對 寫程式/程式語言 更深層的了解。
- 基礎學完後不知道要學什麼,也許搜尋問題時才看到某項沒學過的觀念,想去了解,結果是個複雜的觀念,且需求別的複雜觀念,只好以一知半解收場。
就是因為知道,在這個人人都在自學寫程式的時代,非常多人只會基礎語法,想繼續提升能力但缺乏方向,因此,本課程等於是為各位精心挑選這些 level 2, level 3 的知識,希望幫助同學有效率地提升整體對寫程式的了解與能力。
▌課程特色:
- 教學方式在 Python 基礎課程「Python-輕鬆學會寫程式」推出以後,收到了許多學員表示,過去學過很多其他課程,但一直沒有真正搞懂寫程式,直到這堂課程才得到解惑。這是因為許多教材都只以「結果」呈現,而省略中間過程。如果以教學開車比喻,只講哪個踏板是油門,哪個踏板是剎車,顯然學員無法自行上路。只有在開過一次、兩次、三次的示範後,學員才能吸收,原來模式是這樣,原來背後的原理是這樣、設計考量是這樣。這些寫程式的「過程」,無法以簡單帶過踏板達到。
- 內容設計市面上很少寫程式的進階教材,多半都是技術上的單一主題,例如多線程多進程,或是使用資料庫,其實都可以單獨成為一門課程。由於這每個項目都可以講得又深又廣,對於新手來講,不但不知道要學習哪些技術,更沒有毅力在不確定用不用得到的情況下,投資大量時間去鑽研一個東西。因此,如同基礎課程,這堂課程的內容,以綜觀程式領域,評估大家在學完基礎程式以後,再下來最適合學習哪些項目,而每個部分大家適合先學到什麼程度。這些內容的設計除了幫助同學提升寫程式的了解與能力,以及體驗Python各領域的應用,同時也更希望可以讓同學打開想像力,啟發出新的專案想法。
▌課程架構:觀念、語法、專案、爬蟲、延伸
- 章節 1 – 開場
如同基礎課程,課程有專屬的線上討論區,教大家如何加入後,再以一個前導單元「程式語言的差別」開場,讓大家了解為什麼世界上這麼多程式語言,以及 Python 跟其他程式語言的差別是什麼。
- 章節 2 – 前置作業
在進入教學前,為了確保大家都有安裝好需要使用的程式(Python, Sublime Text, Git)。這邊附上基礎課程裡的安裝教學影片。
- 章節 3 – 進階觀念
如同課程介紹,多數同學因為只會程式基礎,缺乏對寫程式更深層的了解,自己嘗試寫程式時,容易面臨各式各樣的疑惑,而這個章節就是你的解惑大池。除了提升更細緻對Python的了解,值得一提的是,大部分這些觀念並非Python獨有,而是共通於各種程式語言的核心。
- 章節 4 – 進階語法
同學已經會了程式基礎,一定很有感觸語法在寫程式裡只是「工具」而已,怎麼使用這些工具才是最重要的。 這邊將介紹幾個先前還沒教到的語法,除了讓大家認識更多的工具,更讓大家知道怎麼使用這它們。
學到這邊,相信同學已經對寫程式的了解與能力增加了許多。但除了觀念、語法上的進步,製作專案的能力也需要提升,因此來到第五章節。
- 章節 5 – 製作進階專案
來到了製作進階專案的部分,是本課程相當重要的部分。只會基礎程式的同學一定有感,如果想做有複雜性的程式,因為缺乏以上單元教到的進階觀念,製作時容易有各式各樣的困惑,而其中有很大部分在於,根本不知道如何架構程式碼、檔案、資料夾。市面上很少、幾乎沒有「專案方面」的教材,因此對於多數學習寫程式的人來講,大部分都是經過很多年的摸索,搜尋,越看越多別人的專案,才慢慢建立這方面的知識、經驗。
除了資源少以外,另一個關鍵原因是大多教材都是「寫好的程式碼」。而寫程式的過程中,有太多東西是「邊寫邊考量」,只看寫好的程式碼等於跳過了中間的思考過程,所以變成看得懂寫好的程式碼,但無法自己寫出來。
跟學開車很像,如果我只跟你說:”這個踏板是油門,這是煞車,來,你自己想辦法開到美國”,恐怕沒人到的了。但如果開過一次給你看,再把鑰匙給你,未來不管你要開到哪,路途中你都會時常想到示範中,面臨同樣問題時的抉擇,可以省去最費時的迷惘抉擇時間。
因此這個章節將示範製作一個進階專案,並同時解釋所有設計上的順序、考量、修改、抉擇,相信會大幅提升同學製作專案的能力。除了學習製作專案的方式、觀念,也會學習到各種相關技術,包括使用IDE、虛擬環境、多線程多進程、Logging,打包專案等等,未來同學都可以應用於開發自己的專案。
- 章節 6 – 爬蟲 ╳ 資料庫
多年前Python還沒有這麼熱絡時,許多工程師之所以會接觸到Python就是為了寫爬蟲。
結果一路延續下來,爬蟲幾乎可以說是最常與Python一起出現的相關詞。
由於爬蟲會需求一些對網頁的基本了解,所以先介紹一些基本知識,不用擔心沒網頁基礎。其實爬蟲這種東西比較不是在於「怎麼寫」,而是比較吃經驗,也就是面對怎麼樣的網站怎麼處理。因此,為了讓大家在短時間內累積經驗,這邊會有很多的範例,每個範例都有不同學習的點,讓大家盡量見識多一點的情況,有效率地熟悉爬蟲思維SOP。
再來會教到資料庫,包括 SQL (使用MySQL) 與 NoSQL (使用MongoDB),也讓同學見識將爬下來的資料存入資料庫中,並做搜尋。
- 章節 7 – 延伸教材: Selenium 瀏覽器自動化
Selenium,又被稱為爬蟲神器,其實是一個瀏覽器自動化的技術/工具,也就是可以讓瀏覽器彷彿有人在操作般,自動做操作。這項技術時常被當成爬蟲使用,也屬於爬蟲方法當中的底線王牌,也就是簡易爬蟲抓不了的網站通常會選擇使用 Selenium 來處理。
- 章節 8 – 延伸教材: 空氣品質監控專案
人們一天當中有約 90% 的時間在室內,而室內裡許多汙染物卻是室外的2~5倍濃度。雖然人類對健康的追求越來越高,但肺癌仍居高不下,甚至進展成被稱為「新國病」,而室內空汙是時常被忽略卻相當值得被重視的議題。
雖然大多空氣清淨機已有內建sensor,但無法長期收集數據,也無法主動式地在空氣汙染時發出警告通知。因此,此專案將展示製作一個自己的空氣品質監控器,除了可以知道即時的空氣狀況、蒐集數據,還可以做出主動式的通知。
此專案的五個主要功能:
1. 體驗軟硬體結合的有趣、好玩
2. 體驗/認識 知名微型電腦(Raspberry Pi、Arduino),與透過連線執行 Python 程式
3. 再次見識資料庫的使用
4. 做出真正可以幫助生活的工具
5. 打開想像力,啟發同學產生專案想法
專案中使用到的設備: 微型電腦:Raspberry Pi 4 Model B
微型電腦:Arduino UNO R3
VOC-sensor: CCS-811
VOC-sensor: TGS2600
PM2.5-sensor: SDS011
其他零件:杜邦線、麵包板
如果製作一個最簡易、單純 PM2.5 的空氣品質監控專案,則不須任何微型電腦與其他零件,唯一需要的零件為 PM2.5 的 sensor: SDS011。其本身附帶USB接頭,可直接接進桌電/筆電。不過課程中將透過兩台微型電腦連接不同的 VOC-sensor 讓同學認識這些知名設備,有興趣實作的同學可以再自行購買來連接。
另外會示範使用 Python 的 Dash 框架來製作一個顯示數據的網站,同時見識如何將各 sensor 的即時數據輸到 MongoDB,再即時顯示在網頁上。最後再部屬資料庫與網頁至雲端,則達到隨時隨地可透過網頁看到即時數據的成果。
- 章節 9 – 延伸教材: 認識人工智慧
人工智慧又是一個與 Python 相當關聯的詞。相信完全不了解人工智慧領域的同學,應該會好奇到底這些東西是什麼,到底是如何分析數據,因此在課程的最後,讓有興趣的同學,建立對此領域的基礎了解。
- 章節 10 – 最終章
一如往常,在最終章寫下課程結語,希望同學在課程中都有豐富的收穫,不但對 Python 的了解大幅提升,學會製作進階的專案與各種相關技術,學會爬蟲各種相關知識與資料庫,甚至到知名微型電腦的應用,與認識人工智慧。最重要的是,希望課程對同學不只是提供寫法、領域知識上的幫助,更希望課程中的範例、專案可以啟發同學產生自己的專案想法,未來做出有趣、實用的程式,加油!
目標受眾
- 程式設計新手
- 剛接觸 C 語言的人
講師簡介
Allen Liu 劉曣全 軟體工程師
● UCSD (美國加州大學聖地牙哥分校),Computer Science 電腦科學系
● 2014 受邀與券商資深程式交易專家合作
● 2016 UCD (美國加州大學戴維斯分校) 全職工程師,與多位電腦科學系教授合作,為一項 NSF (國家科技協會) 3千萬贊助的專案做程式開發與研究,也是專案中的領導開發者
● 2017 開設實體班教學寫程式
● 2018 製作『Python – 輕鬆學會寫程式』線上課程
● 2019 製作『金融市場 x 程式交易』線上課程
● 2020 製作『Python進階課程:觀念、語法、專案、爬蟲』線上課程
🙌 如何有效率地管理 ChatGPT 輸出與整理自己的 ChatGPT 提示( prompts )使用情境?LN+ for Web 已經針對 ChatGPT 的整合做最佳化
🙌 讓 Notion AI 成為你線上學習的得力助手,詳細操作請參考 – 使用 Notion AI 功能來為 udemy 的課程做摘要總結
- 點選這個✨優惠連結 課程特價 | Udemy 永久擁有課程 NT370 起( 請登入 Udemy|按過“優惠連結”後到”報名參加課程“連結網頁做更新 )
- Udemy 現在越來越多課程有中文字幕,請參考 Soft & Share 中文線上課程
- 手機上點選優惠連結看到的價格比電腦上看到的貴
- $代表當地貨幣, 如在台灣為 NT
- 點選”報名參加課程”有可能因瀏覽器 cookies 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現
報名參加課程

也許你會有興趣
- Python 程式語言學習地圖
- ★英語學習地圖 – 練好英文是最大的學習槓桿
- 如何找工作學習地圖 – 找工作不要靠運氣!
- 軟體開發學習資訊分享
你必須登入才能發表留言。