fbpx

[中文課程] Python進階課程:觀念、語法、專案、爬蟲

有效率地提升寫程式的了解與能力

報名參加課程更新 coupon code

從這 37 小時的課程,你會學到

  • 學習Python的進階觀念與語法
  • 體驗製作專案時的各種細節設計考量
  • 同時見識進階觀念與語法的使用
  • 學會用良好的方式結構具有複雜性的程式專案
  • 學會將專案打包成套件上傳
  • 學會爬蟲處理不同網站的觀念、爬法
  • 學會使用資料庫 (包括NoSQL與SQL)
  • 延伸教材-學會使用Selenium瀏覽器自動化
  • 延伸教材-製作空氣品質監控專案
  • 延伸教材-認識人工智慧、機器學習、深度學習

要求

  • 寫程式的基礎能力。(如果熟悉的語言不是Python,需先自行學習Python的基礎)
  • 課程需求的前置程式觀念:安裝與執行Python程式、Git與GitHub的基本使用、數據型態(Data Types)(包含清單跟字典)、條件式邏輯(Conditional Statements)(也就是if)、迴圈(Loops)、函式(Functions)、檔案讀寫、基本資料處理、內建函式庫(Libraries)的使用、下載與使用第三方函式庫、類別(Class)與物件(Object)。

覺得 udemy 內建筆記功能太陽春?

可以使用 LN+ 幫助你使用 Notion 替代 udemy 內建的筆記功能

LN+ 會幫助你將課程影片與 notion 筆記關聯起來,所以你也不用去煩惱筆記在哪裡?或是要如何整理寫過的筆記

以下的影片示範你會看到透過 LN+ 的幫助,讓 notion 筆記視窗跟你在觀看的課程影片同步切換

課程說明

課程為固定價格,並無參加Udemy低價優惠銷售。

▌課程簡介

隨著寫程式越來越受到重視,許多非理工背景的同學都紛紛踏上自學寫程式之路。零零碎碎的基礎資源很多,但要有效率的提升程式能力是非常不容易的。一方面進階資源少,一方面大家根本不知道要學什麼,這就是這堂課的存在的意義,希望幫助同學有效率地提升寫程式的了解與能力。

學會寫程式的基礎能力其實不會太困難。會了基礎以後,當你想嘗試開發自己的程式,慢慢地接觸的東西越來越多,會發現還有好多東西要學,開始覺得好像永遠也學不完,而這種想法就很容易讓你半途而廢,中斷了提升能力的熱誠。

雖然程式領域的確又深又廣,但大約可以把這些知識分成幾個等級。透過自學寫程式可以學會level 1沒有問題,再來則面臨兩個問題:

  1. 在缺乏 level 2、level 3 的知識下,寫程式時容易有各種困惑,這樣寫對不對?為什麼這樣會那樣?這是因為缺乏對 寫程式/程式語言 更深層的了解。
  2. 基礎學完後不知道要學什麼,也許搜尋問題時才看到某項沒學過的觀念,想去了解,結果是個複雜的觀念,且需求別的複雜觀念,只好以一知半解收場。

就是因為知道,在這個人人都在自學寫程式的時代,非常多人只會基礎語法,想繼續提升能力但缺乏方向,因此,本課程等於是為各位精心挑選這些 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 語言的人

講師簡介

Akshat Gupta 卡內基美隆大學研究生

嗨,大家好!

我是來自印度的 Akshat Gupta。 我在印度理工學院完成了電氣工程專業的本科課程。 之後,我在德國慕尼黑工業大學(TUM)攻讀了應用和工程物理學碩士學位。 我還在約翰霍普金斯大學度過了一年的碩士論文。

目前我正在攻讀卡內基梅隆大學的 ECE 碩士學位。

英文字幕:有

  • 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To

報名參加課程更新 coupon code

Sponsored by Udemy


追蹤 Soft & Share

✍ 不受社群推薦演算法影響,建議 Telegram/Discord/e-mail

幫我們個小忙!

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: