基本介紹
- 中文名:Python語言基礎與套用
- 類別:慕課
- 授課教師:陳斌
- 提供院校:北京大學
- 授課平台:中國大學MOOC
- 開課時間:2018年11月29日(首次)
課程性質,課程定位,適應對象,開課信息,課程簡介,課程大綱,課前預備,課程特色,教師簡介,
課程性質
課程定位
Python語言基礎與套用課程面向零編程基礎的大學生和社會公眾,講授Python語言基礎,培養學生計算思維的能力,並講解Python語言中經典的擴展模組,讓學生能用Python語言解決各種常見問題。
適應對象
Python語陵想言基礎與套用課程適應於對Python這門語言有興趣的任何同學。
開課信息
開課次數 | 開課時間 | 授課教師 | 學時安排 | 參與人數 |
---|---|---|---|---|
第1次開課 | 2018年11月29日~2019年02月14日 | 陳斌 | 2~3小時每周 | 40449人 |
第2次開課 | 2019年03月14日~2019年05月23日 | 20689人 | ||
第3次開課 | 2019年10月10日~2019年12月19日 | 57707人 | ||
第4次開課 | 2020年02月20日~2020年04月30日 | 87546人 | ||
第5次開課 | 2020年10月08日~2020年12月17日 | 37597人 |
(註:表格內容參考資料)
課程簡介
Python語言基礎與套用課程內容包括編程與計算思維、Python語言歷史、開發環境、程式設計風格和語言整體概覽、基本數據類型和容器類型、基本計算語句和控制流結構、函式定義與參數、若干基本擴展模組介紹與套用、面向對象編程、例外處理和生成器等高級語言特性、若干高級擴展模組的介紹與套用。
課程大綱
01引子 介紹編程和計算思維,Python語言歷婆辯驗史現狀 課時 課程1 我們為什麼要學習編程? 課程2 程式是什麼?如何用計算思維解決問題? 課程3 Python語言的歷史和現狀 02Python語言介紹 Python語言的開發環境和編程風格 課時 課程4 Python語言運行環境(Windows/macOS/Linux)課程5 第一個Python程式 課程6 集成開發工具PyCharm 課程7 上機練習:體驗Python程式 課程8 Python程式設計風格 03Python語言概覽 作為算法語言的一個概貌 課時 課程9 數據對象及其組織 課程10 計算和控制流 04數據類型 數據的基本類型和容器類型。 課時 課程11 基本類型:數值(int/float/complex) 課程12 基本類型:邏輯值(bool) 課程13 基本類型:字元串(str) 課程14 變數和引用 課程15 上機練習:基本數據類型 課程16 容器類型:列表和元組(list/tuple) 課程17 容器類型:字兵地灶典(dict) 課程18 容器類型:集合(set) 課程19 可變類型和不可變類型 課程20 建立複雜的數據結構 課店鑽捉鞏程21 輸入和輸出(input/print) 課程22 上機練習:容器類型操作 05計算和控制流 基本的計算和組織計算的控制流結構。課時 課程23 自動計算過程 課程24 控制流程 課程25 控制流:條件分支語句(if) 課程26 控制流:條件循環(while) 課程27 控制流:疊代循環(for) 課程28 上機練習:基本的計算程式 | 課程29 代碼組織:函式(def) 課程30 代碼組織:函式的參數 課程31 上機練習:創建並調用函式 課程32 引用擴展模組(import) 06基本擴展模組 學習一些常用的基本擴展模組,可以幫戶章立助解決很多問題。 課時 課程33 時間相關:datetime模組 課程34 時間相關:calendar模組 課程35 時間相關:time模組 課程36 幾個算術模組(math/cmath/decimal/fractions/random) 課程37 持久化模組(shelve) 課程38 文本檔案讀寫 課程39 上機練習:計時和檔案處理 課程40 簡單的圖形界面(easygui) 課程41 海龜製圖(turtle) 課程42 上機練習:簡單繪圖 07高級特性 學習面向對象、生成器等一些Python語言的高級特性 課時 課程43 面向對象:什麼是對象? 課程44 面向對象:類的定義與調用 課程45 面向對象:類定義中的特殊方法 課程46 自定義對象的排序 課程47 面向對象:類的繼承欠立龍 課程48 上機練習:類和對象 課程49 例外處理 課程50 推導式 課程51 生成器函式 課程52 上機練習:生成器 08高級擴展模組 幾個用於處理複雜任務的高級擴展模組的簡介,如果想用好這些模組,還需要有網路、資料庫、數理統計等方面的基礎愚臭棕您知識。 課時 課程53 圖像處理庫(PIL) 課程54 Web服務框架(Flask) 課程55 網路爬蟲(requests, Beautiful Soap) 課程56 數據可視化(matplotlib) 課程57 上機練習:高級擴展模組套用 |
(註:課程大綱排版從左到右列)
一、引子(51min) 課程1 我們為什麼要學習編程?(20min) 課程2 程式是什麼?如何用計算思維解決問題?(17min) 課程3 Python語言的歷史和現狀(14min) 章節一測驗 二、Python語言介紹與概覽(94min) 課程4 Python語言運行環境(Windows/macOS/Linux)(9min) 課程5 第一個Python程式(9min) 課程6 集成開發工具PyCharm(13min) 課程7 上機練習:體驗Python程式(9min) 課程8 Python程式設計風格(17min) 課程9 數據對象及其組織(17min) 課程10 計算和控制流(17min) 章節二測驗 章節二作業 三、數據類型(一)(84min) 課程11 基本類型:數值(int/float/complex)(25min) 課程12 基本類型:邏輯值(bool)(13min) 課程13 基本類型:字元串(str)(25min) 課程14 變數和引用(11min) 課程15 上機練習:基本數據類型(9min) 章節三測驗 章節三作業 四、數據類型(二)(105min) 課程16 容器類型:列表和元組(list/tuple)(21min) 課程17 容器類型:字典(dict)(22min) 課程18 容器類型:集合(set)(17min) 課程19 可變類型和不可變類型(13min) 課程20 建立複雜的數據結構(8min) 課程21 輸入和輸出(input/print)(17min) 課程22 上機練習:容器類型操作(5min) 章節四測驗 章節四作業 五、計算和控制流(一)(70min) 課程23 自動計算過程(10min) 課程24 控制流程(10min) 課程25 控制流:條件分支語句(if)(11min) 課程26 控制流:條件循環(while)(17min) 課程27 控制流:疊代循環(for)(16min) 課程28 上機練習:基本的計算程式(4min) 周二(1.1)直播 章節五測驗 章節五作業 | 六、計算和控制流(二)(63min) 課程29 代碼組織:函式(def)(21min) 課程30 代碼組織:函式的參數(12min) 課程31 上機練習:創建並調用函式(4min) 課程32 引用擴展模組(25min) 周二(1.8)直播 章節六測驗 章節六作業 七、基本擴展模組(118min) 課程33 datetime模組 課程34 calendar模組 課程35 time模組 課程36 幾個算術模組 課程37 持久化模組 課程38 檔案文本讀寫模組 課程39 上機練習:計時和檔案處理 課程40 簡單的圖形界面模組 課程41 海龜作圖 課程42 上機練習:簡單繪圖 周二(0115)直播 章節七測驗 章節七作業 八、高級特性(一):面向對象(78min) 課程43 面向對象:什麼是對象? 課程44 面向對象:類的定義與調用 課程45 面向對象:類定義中的特殊方法 課程46 自定義對象的排序 課程47 面向對象:類的繼承 課程48 上機練習:類和對象 周二(0122)直播 章節八測驗 章節八作業 九、高級特性(二)與高級擴展模組(112min) 課程49 例外處理 課程50 推導式 課程51 生成器函式 課程52 上機練習:生成器 課程53 圖像處理庫(PIL) 課程54 Web服務框架(Flask) 課程55 網路爬蟲(requests, Beautiful Soup) 課程56 數據可視化(matplotlib) 課程57 上機練習:高級擴展模組套用 周二(1.29)直播 章節九測驗 |
(註:課程大綱排版從左到右列)
課前預備
學習資料
書名 | 作者 | 出版時間 |
---|---|---|
《Python Cookbook 3rd Edition Documentation》 | David Beazley和Brian K. Jones | 2017年 |
《零基礎學python(第二版)》 | 老齊 | 2019年 |
《線上Python代碼規範》 | unity0703 | 2015年 |
課程特色
Python語言基礎與套用課程注重Python語言的實踐與套用,在課程中穿插了生動案例和編程練習,引導學生積極建立計算思維模式,通過程式算法解決問題來加深對程式語言的學習體會。並具備進一步繼續學習數據結構與算法、人工智慧、大數據處理等課程的能力。
教師簡介
陳斌:獲得北京大學計算機科學技術系學士、碩士和博士學位,北京大學地球與空間科學學院教師,博士,教學教授。