一、課程目標
了解腳本語言程序設計的基本知識,掌握程序設計的基本方法,掌握程序設計的基本理論、方法和應用,掌握高級程序設計國家標準的有關基本規定,會查閱有關國家標準和手冊,養成嚴格遵守和執行有關國家標準的各項規定的良好習慣。能夠較正確而熟練地使用Python進行程序的設計;能夠識讀和編寫較復雜程度的程序;能夠使用Python解決實際應用問題。培養學生計算思維能力、創新能力和發現問題、分析問題和解決問題的能力。
二、教學內容
1. 程序設計基本方法
教學要求:
了解硬件和軟件在計算機系統中的不同作用;了解程序設計語言發展過程;理解Python語言的特點;掌握Python語言開發環境和運行環境配制方法;理解編寫程序的IPO方法
教學內容:
計算機的概念
程序設計語言
Z. Python語言概述
ZN. Python開發環境配置
Z. Python語言版本更迭
實驗要求:
掌握Python開發環境和運行環境的配制方法,編寫Hello world程序。
實驗內容:
(1)安裝Python3.x解釋器
(2)使用IDEL編寫Hello world程序
2.Python程序實例解析
教學要求:
掌握解決計算問題的一般方法;掌握Python語言的基本語法,包括縮進、變量命名等;掌握Python語言繪制圖形的一般方法;了解Python標準庫的導入和使用。
教學內容:
ZN. Python語法元素分析
turtle庫語法元素分析
實驗要求:
掌握Python語言的基本書寫和turtle庫的使用
實驗內容:
(1)溫度轉換程序,編寫程序將攝氏度和華氏度的溫度數值進行轉換。
(2)Python蟒蛇繪制,使用turtle庫繪制一個蟒蛇圖案。
3.基本數據類型
教學要求:
掌握3中數字類型的概念和使用;運用Python的標準數據庫進行數值計算;掌握字符串類型的概念和使用;掌握字符串類型的格式化操作方法和應用。
教學內容:
數據類型
數字類型操作
N. math庫的使用
Z. 字符串類型及其操作
Z. 字符串類型格式化
實驗要求:
能夠使用math庫進行簡單的數值計算,能夠格式化輸出字符串。
實驗內容:
(1)天天向上的力量:一年365天,如果好好學習時能力值比前一天提高1%,當放任時相比前一天下降1%,編程計算兩種情況效果相差值。
(2)文本進度條:編程通過格式化字符串輸出和時間延遲實現控制臺風格文本進度條。
4.程序的控制結構
教學要求:
了解程序的基本結構并繪制流程圖;掌握程序的分支結構;運用if語句實現分支結構;掌握程序的循環結構;運用for語句和while語句實現循環結構;掌握隨機庫的使用方法;了解程序的異常處理方法。
教學內容:
程序的控制結構
Z. 程序的分支結構
ZN. 程序的循環結構
N. 程序的異常處理
實驗要求:
能夠使用分支結構和循環結構編寫簡單程序。
實驗內容:
(1)身體質量指數BMI:輸入身高和體重,輸出BMI值并根據BMI指標分類輸出類別。
(2)計算圓周率:使用BBP公式計算圓周率的值。
5.函數和代碼復用
教學要求:
掌握函數的定義和調用方法;理解函數的參數傳遞過程以及變量的作用范圍;了解lambda函數;掌握時間日期標準庫的使用;理解函數遞歸的定義和使用方法。
教學內容:
Z. 函數的基本使用
函數的參數傳遞
datetime庫的使用
Z. 代碼復用和模塊化設計
N 5.函數遞歸
實驗要求:
能夠利用函數編寫程序,掌握遞歸函數使用方法。
實驗內容:
(1)七段數碼管繪制:輸入當前日期的數字形式,輸出數碼管表示的圖形形式。
(2)科赫曲線繪制:利用遞歸函數繪制0~5階科赫函數。
6.組合數據類型
教學要求:
了解3類基本組合數據類型;理解列表概念并掌握Python中的列表使用;理解字典概念并掌握Python中的字典使用;運用列表管理采集的信息,構建數據結構;運用字典處理復雜的數據信息;運用組合數據結構進行文本詞頻統計。
教學內容:
組合數據類型概述
Z. 列表類型和操作
Z. 字典類型和操作
N. jieba庫的使用
實驗要求:
掌握列表和字典類型編寫程序處理實際問題
實驗內容:
(1)基本統計值計算:輸入數據值,輸出平均值、標準差和中位數。
(2)《三國演義》人物出場統計:輸入電子版《三國演義》文本,輸出出場率最高的10個人物。
7.文件和數據格式化
教學要求:
掌握文件的讀寫方法以及打開和關閉等基本操作;理解數據組織的維度和特點;掌握一、二維數據的存儲格式和讀寫方法;運用PIL庫進行基本的圖像處理;運用json庫進行數據的維度轉換;了解高維數據的存儲格式和讀寫方法。
教學內容:
Z.文件的使用
PIL庫的使用
Z. 一、二維數據的格式化處理
N. 高位數據的格式化
N. json庫的使用
實驗要求:
掌握文件的基本操作,使用json庫進行數據轉換
實驗內容:
(1)圖像的字符畫繪制:將圖像轉換為字符畫形式。
(2)編寫程序將CSV格式文件與json文件格式互相轉換。
8.程序設計方法論
教學要求:
了解計算思維的概念;掌握自頂向下的設計方法;掌握自底向上的執行過程;了解計算生態和模塊編程思想;掌握Python第三方庫的安裝方法;掌握Python源文件的打包方法。
教學內容:
計算思維
N. 自頂向下和自底向上
Z. pyinstaller庫的使用
N. 計算生態和模塊編程
Python第三方庫的安裝
實驗要求:
使用計算思維思想設計程序
實驗內容:
(1)體育競技分析:輸入兩個球員的嗯哪管理概率,模擬比賽的場次,輸出兩個球員的勝負概率。
(2)pip安裝腳本:使用pip安裝第三方Python庫。
9.科學計算和可視化
教學要求:
了解科學計算的基本概念;了解數據可視化的概念;運用科學計算庫進行矩陣分析和數值運算;了解圖像的矩陣表示和處理;運行數據繪圖庫進行簡單圖表繪制。
教學內容:
科學計算和可視化概述
ZN. numpy庫的使用
N. matplotlib庫的使用
實驗要求:
使用numpy庫和matplotlib庫實現簡單數據處理和可視化。
實驗內容:
(1)圖像的手繪效果:使用numpy庫實現圖像的手繪效果轉換。
(2)科學坐標圖繪制:根據給定的數據繪制阻尼衰減曲線圖。
(3)多級雷達圖繪制:根據給定的任務能力數據,繪制多級雷達圖。
10.網絡爬蟲和自動化
教學要求:
掌握網絡爬蟲的基本概念和方法;運用request庫編寫基本的URL訪問過程;運用beautifulsoup4庫解析和處理HTML;掌握像搜索引擎自動提交關鍵詞并獲取范圍結果的方法。
教學內容:
網絡爬蟲概述
N. request庫的使用
N. beautifulsoup4庫的使用
實驗要求:
編寫簡單的爬蟲程序,獲取數據
實驗內容:
(1)中國大學排名爬蟲:從網頁中獲取中國大學排名信息,并保存為文本文件。
(2)搜索關鍵詞自動提交:像百度提交一個關鍵詞,自動獲取返回結果,保存為文本文件。
三、各教學單元學時分配表
教學單元名稱 | 講授 | 實踐/實驗 |
程序設計基本方法 | 2 | 2 |
Python程序實例解析 | 2 | 2 |
基本數據類型 | 4 | 4 |
程序的控制結構 | 4 | 4 |
函數和代碼復用 | 4 | 4 |
組合數據類型 | 4 | 4 |
文件和數據格式化 | 4 | 4 |
程序設計方法論 | 4 | 4 |
科學計算和可視化 | 4 | 4 |
網絡爬蟲和自動化 | 4 | 4 |
小計 | 2 | 2 |
合計 | 72 |
四、教學組織與方法
本課程教學按照工學結合的思想進行教學改革,在繼承傳統教學方法的基礎上,結合Python程序設計課程的特點和我院教學資源的實際情況,對教學方法做出了一些創新,靈活采用了小組討論法、案例分析法、歸納演繹法、等各種教學方法,這些教學方法的靈活運用能夠很好地引導學生積極思考、勤于實踐,積極完成項目工作任務。
在現代教學技術手段運用方面,Python程序設計課程配備了實訓指導的操作演示和業務流程圖示,提供了大量的案例以及模擬考試練習等學習資料。為學生準備了大量的教學案例和開發案例,訓練學生軟件開發的能力。學生可以利用校內實訓室所提供的環境和工具,進行軟件開發實訓。這些現代教學技術手段的應用為課程教學改革提供了強有力的技術支持和教學資源支持。
五、課程考核與成績評定
(1)考核方式:考試。
本課程考核采取考試方式。
(2)課程成績總評
課程成績(總評)= 課堂出勤表現(10%)+課堂提問(10%)+平時作業(10%)+期末考試(70%)
成 績組 成 | 考核/評價環節 | 分值(或百分比) | 考核/評價細則 |
出勤 | 10% | 缺勤一次扣一分,全勤10分 | |
課堂提問 | 10% | 主動回答問題一次加一分 | |
平時作業 | 10% | 根據完成情況給分 | |
期末考試 | 70% | 根據完成情況給分 |
六、推薦教材和教學參考書目與文獻
推薦教材:《Python語言程序設計基礎(第2版)》,嵩天,禮欣,黃天羽 著,高等教育出版社,2017.2。
參考書目與文獻:《Python核心編程(第3版)》,Wesley Chun 著,孫波翔,李斌,李晗 譯,人民郵電版社,2016.5。