Python進階課程:觀念、語法、專案、爬蟲

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

Ratings: 4.66 / 5.00




Description

▌課程簡介

隨著寫程式日漸受到重視,許多同學紛紛踏上自學之旅。然而,進階資源稀少且零散,同學難以確定學習方向與學習深度,要自己提升程式能力並不容易。因此,課程綜觀程式領域,精選重點知識,大幅減少同學摸索的時間成本,協助同學有效地提升寫程式的觀念與能力。


▌課程特色

  • 釐清觀念

學習程式的進階原理,有助於釐清同學不確定的觀念,有效率地提升寫程式的整體能力。

  • 程式設計

透過實作專案,帶領同學分析寫程式當下的設計考量,引導同學真正掌握自我開發的能力。

  • 大型專案

市面上少有大型專案的實作教學,學會製作進階程式專案,對求職、實用上有很大的幫助。

  • 全面啟動

課程時數約37小時,分成五大類別:觀念、語法、進階專案、爬蟲、延伸教學(瀏覽器自動化、軟硬體結合、認識AI)


▌合購優惠

(課程無參加Udemy低價優惠銷售)

由於平台無法設定合購,同學在購買基礎課程後,可至Piazza線上討論區(置頂貼文)使用優惠連結購買進階課程,或聯繫「輕鬆學會寫程式」Facebook專頁。


▌課程架構:觀念、語法、專案、爬蟲、延伸


  • 章節 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 的了解大幅提升,學會製作進階的專案與各種相關技術,學會爬蟲各種相關知識與資料庫,甚至到知名微型電腦的應用,與認識人工智慧。最重要的是,希望課程對同學不只是提供寫法、領域知識上的幫助,更希望課程中的範例、專案可以啟發同學產生自己的專案想法,未來做出有趣、實用的程式,加油!

What You Will Learn!

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

Who Should Attend!

  • 只會基礎程式想要提升程式能力的人
  • 學完基礎課程 ( Python - 輕鬆學會寫程式 ) 的同學