c程式設計(西北工業大學提供的慕課)

c程式設計(西北工業大學提供的慕課)

c程式設計是西北工業大學於2015年10月8日首次在中國大學MOOC開設的慕課課程、國家精品課程。該課程授課教師為姜學鋒、劉君瑞、張秀偉、汪芳、周果清、魏英等。據2020年9月中國大學MOOC官網顯示,該課程已開課11次。

該課程共48講,包括了解計算機的工作原理、信息在計算機中的表示、編程的理論基礎、將簡單數據引入C程式中、數值數據的運算與處理、編寫程式語句、編程實現嵌套的選擇分支、循環的終止、加快和嵌套、回調函式、編程使用複雜數據、編程操作永久性數據等內容。

基本介紹

  • 中文名:c程式設計
  • 類別:慕課、國家精品課
  • 提供院校:西北工業大學
  • 授課平台:中國大學MOOC
  • 開課時間:2015年10月8日(首次)
  • 授課教師:姜學鋒、劉君瑞、張秀偉、汪芳、周果清、魏英等
課程性質,課程定位,適應對象,開課信息,課程簡介,課程大綱,課前預備,預備知識,學習資料,授課目標,教師簡介,

課程性質

課程定位

c程式設計課程是大學計算機教育的核心課程,它既是各類專業技術的套用基礎,又是各種實踐環節的軟體工具,更是課程設計、學科競賽、畢業設計、創新創業、創客科技等活動的重要平台。程式編程能力不僅是學習者進一步專業深造的潛力體現,也是創新人才的重要指標。

適應對象

c程式設計課程適用社會學習者和本科生學習。

開課信息

開課次數開課時間授課教師學時安排參與人數
第1次開課
2015年10月08日~2015年12月31日
姜學鋒、劉君瑞、魏英、張秀偉
3-5小時每周
14067
第2次開課
2016年03月07日~2016年07月31日
4小時每周
10439
第3次開課
2016年10月08日~2017年01月14日
姜學鋒
8665
第4次趨獄格開課主罪料
2017年02月20日~2017年05月31日
12176
第5次開課
2017年09月25日~2017年12月31日
姜學鋒、劉君瑞、劉君瑞、張秀偉、魏英多充拘、周果清
5小時每周
4863
第6次開課
2018年02月26日~2018年05月31日
姜學鋒、劉君瑞、張秀偉
4小時每周
8608
第7次開課
2018年09月01日~2019年01月08日
姜學鋒、劉君瑞、劉君瑞、張秀偉、魏英、周果清
10399
第8次開課
2019年02月25日~2019年06月09日
6184
第9次開課
2019年09月01日~2019年12月31日
7286
第10次開課
2020年02月20日~2020年07月01日
姜學鋒、劉君瑞、張秀偉
4512
第11次開課
2020年08月24日~2021年01月09日
姜學鋒、劉君瑞、張秀偉、汪芳、周果清、魏英
待定
註:表格內容參考資料

課程簡介

該課程共48講,分別講述了計算機的基本工作原理、體系結構;計算機中信息的表示和存儲方法;程式語言、算法、程式設計的概念和特點;C程式的基本語法、結構和開發步驟;C語言支持的數據類型和數據描述方法;數值型數據的運算;邏輯型數據的運算;賦值運算符的使用、混合運算以類型轉換的規則;輸入函式scanf函式的使用以及常見的輸入格式控制;函式的嵌套和遞歸調用;檔案系統的基本概念,以及操作檔案的常用函式等知識。

課程大綱

第1講 了解計算機的工作原理
課時
1.計算機系統的組成、用途各異的計算機
2.指令與電腦程式、計算機中的數
課後測驗:了解計算機的工作原理
第2講 信息在計算機中的表示
課時
1.進制數的轉換
2.數值數據、字元數據、其他數據的表示與存儲
課後測驗:信息在計算機中的表示
第3講 編程的理論基礎
課時
1.程式語言、計算機問題求解的基本特點
2.計算機算法及其表示、程式設計技術
課後測驗:編程的理論基礎
第4講 編寫第一個C程式
課時
1.C語言的歷史、C語言基本遙葛詞法、編寫第1個C程式
2.編寫簡單的程式、C程式基本結構、開發步驟、編碼風格
課後測驗:編寫第一個C程式
第5講 將簡單數據引入C程式中
課時
1.數據類型、常量
2.變數、類型定義的修飾
資料片:國際大學生程式設計競賽――2014西安賽區:歡迎
資料片:國際大學生程式設計競賽――競賽規則
課後測驗:將簡單數據引入C程式中
第6講 數值數據的運算與處理
課時
1.運算符與表達式、算術運算
2.自增自減運算、位運算
課後測驗:數值數據的運算和處理
第7講 邏輯數據的運算與處理
課時
1.關係運算、邏輯運算
2.用布爾代數簡化邏輯式子、條件運算、其他運算、常量表達式
課後測驗:邏輯數據的運算和處理
第8講 賦值和類型轉換
課時
1.賦值運算符、隱式類型轉換
2.混合運算的風險控制、顯式類型轉換
資料片:AlphaGo
課後測驗:賦值與類型轉換
第9講 編寫程式語句
課時
1.編寫簡單語句、複合語句、注釋,語句的寫法
2.編程實現單個字元輸入輸出
資料片:那些年市歡兵燥的編程快手們――用代碼將夢想照進現實
課後測驗:編寫程式語句
第10講 編程實現簡單數據的輸出
課時
1.printf函式和輸出格式控制(1)
2.printf函式和輸出格式控制(2)
課後測驗:籃歡晚估編程實現簡單數據的輸出
第11講 編程實現簡單數據的輸入
課時
1.scanf函式和輸入格式控制(1)
2.scanf函式和輸入格式控制(2)
課後測驗:編程實現簡單數據的輸入
第12講 編程實現選擇分支
課時
1.程式順序結構和跳轉結構
2.程式選擇結構
課後測驗:編程實現選擇分支
第13講 編程實現嵌套的選擇分支
課時
1.選擇結構的嵌套
2.程式如何套用選擇結構
資料片:算法的舞蹈――冒泡排序Bubble Sort
課後測驗:編狼套地程實現嵌套的選擇分支
第14講 編程實現循環
課時
1.while循環、循環三要素
2.循環不變式、do和for循環
資料片:算法的舞蹈――選擇排序Select Sort
課後測驗:編程實現循環
第15講 循環的終止、加快和嵌套
課時
1.終止、加快、嵌套循環
2.編寫計數型、條件型循環,循環程式時間性能分析
資料片:算法的舞蹈――插入排序Insert Sort
課後測驗:循環的終止、加快和嵌套
第16講 編程實現枚舉算法
課時
1.枚舉算法策略
2.疊代算法、遞推算法
資料片:算法的舞蹈――快速排序Quick Sort
課後測驗:編程實現枚舉算法
第17講 調用函式-返回與參數傳遞
課時
1.函式定義語法和函式返回
2.如何設計函式參數
資料片:算法的舞蹈――歸併排序Merge Sort
課後測驗: 調用函式-返回與參數傳遞
第18講 調用函式-原型與聲明
課時
1.函式聲明、原型及庫函式調用方法
2.常用庫函式和第三方函式館使用
資料片:算法的舞蹈――希爾排序Shell Sort
課後測驗:調用函式-原型與聲明
第19講 調用函式-調用形式
課時
1.函式調用最佳化,函式嵌套和遞歸調用
2.遞歸算法策略、分治算法策略
資料片:算法的天籟之音――6分鐘“聽”15種排序算法
課後測驗:調用函式-調用形式
第20講 設計函式-函式間的數據傳遞(1)
課時
1.對象作用域概念
2.多模組下的作用域設計
資料片:排序算法比較
課後測驗:設計函式-函式間的數據傳遞(1)
第21講 設計函式-函式間的數據傳遞(2)
課時
1.程式映像及載入
2.對象生命期設計
課後測驗:設計函式-函式間的數據傳遞(2)
第22講 設計函式-接口與實現分離
課時
1.對象初始化
2.多模組下的接口設計
課後測驗:設計函式-接口與實現分離
第23講 編寫規模化程式
課時
1.多檔案程式結構與組織
2.規模化程式的工程設計
課後測驗:編寫規模化程式
第24講 編程任務的自動化工具
課時
1.用宏實現編程任務自動化
2.編譯器預定義宏
課後測驗:編程任務的自動化工具
第25講 編程任務的接口與版本控制
課時
1.檔案包含
2.實現版本控制
課後測驗:編程任務的接口與版本控制
第26講 配置開發環境
課時
1.開發環境參數與配置
2.使用第三方開發庫
第27講 批量數據的表示與處理
課時
1.一維數組
2.多維數組 課後測驗:批量數據的表示與處理
第28講 批量數據的遍歷與訪問
課時
1.數組元素的遍歷
2.矩陣運算
課後測驗:批量數據的遍歷與訪問
第29講 函式之間實現批量數據傳遞
課時
1.幻方編程
2.傳遞數組參數
課後測驗:函式之間實現批量數據傳遞
第30講 構建大數和高精度類型
課時
1.構建大數類型
2.高精度運算和混合編程
課後測驗:構建大數和高精度類型
第31講 文字信息的表示與處理
課時
1.字元串的表示與處理
2.字元串套用
課後測驗:文字信息的表示與處理
第32講 實現排序算法
課時
1.實現冒泡、選擇、插入排序
2.實現快速、歸併、希爾等排序算法
課後測驗:實現排序算法
第33講 用空間換取時間編程方法
課時
1.實現查找算法
2.用空間換取時間編程
課後測驗:用空間換取時間編程方法
第34講 探究指針的本質與使用
課時
1.指針的本質是什麼?
2.使用指針
課後測驗: 探究指針的本質與使用
第35講 指針運用的風險控制
課時
1.指針的有效性和風險控制
2.指針的運算規則
課後測驗:指針運用的風險控制
第36講 數組元素的簡潔表示
課時
1.指向一維數組元素的指針
2.指向多維數組元素的指針
課後測驗:數組元素的簡潔表示
第37講 大批量數據的簡潔表示
課時
1.指向數組的指針和指針數組
2.多級指針和批量數據簡潔表示
課後測驗:大批量數據的簡潔表示
第38講 實現函式之間的數據交換
課時
1.批量文字簡潔表示
2.函式之間數據交換的高效方法
課後測驗:實現函式之間的數據交換
第39講 字元串查找與匹配
課時
1.函式之間傳遞字元串數據
2.字元串查找與匹配算法
課後測驗:字元串查找與匹配
第40講 回調函式
課時
1.學會用指針數據
2.學會用回調函式
課後測驗:回調函式
第41講 使用動態記憶體
課時
1.獲取動態記憶體
2.使用動態記憶體
課後測驗:使用動態記憶體
第42講 複雜數據在C程式中的表示
課時
1.結構體類型與對象
2.用指針簡潔表示複雜數據
課後測驗:複雜數據在C程式中的表示
第43講 編程使用複雜數據
課時
1.共用體類型和對象
2.枚舉與位域
課後測驗:編程使用複雜數據
第44講 構建數據類型體系
課時
1.構建數據類型體系
2.用鍊表表示動態“數組”
課後測驗:構建數據類型體系
第45講 鍊表的運算
課時
1.鍊表的運算
2.結點插入和刪除
課後測驗:用鍊表表示動態的複雜數據
第46講 常用算法及策略
課時
1.動態規劃與貪心算法
2.圖搜尋與回溯算法
第47講 編程操作永久性數據
課時
1.檔案系統概念
2.操作檔案
課後測驗:編程操作永久性數據
第48講 編程讀寫檔案
課時
1.用C程式讀寫檔案
2.編程處理各種格式的檔案
課後測驗:編程讀寫檔案
註:課程大綱排版從左到右列

課前預備

預備知識

學習c程式設計課程需預備計算機導論或者大學計算機基礎知識,並且了解計算機的發展過程,理解計算機系統的構成和基本工作原理,並能夠操作計算機及通過網際網路獲取信息資源。

學習資料

c程式設計課程的學習資料為《C程式設計》《C程式設計實驗教程》《C程式設計習題與解析》。
書名作者ISBN出版時間出版社
《C程式設計》
姜學鋒、曹光前
9787302280118
2012年
《C程式設計實驗教程》
姜學鋒、魏英
9787302249436
2011年
《C程式設計習題與解析》
姜學鋒、劉君瑞、汪芳
9787302249429
2011年
(註:表格內容參考資料

授課目標

1、理解算法的時間複雜度和空間複雜度的概念,掌握基本的空間換時間的編程策略。
2、理解指針的本質和簡單使用方法。
3、掌握使用指針訪問數組元素的方法。
4、了解共用類型的定義和使用方法;掌握枚舉和位域的定義和使用方法。
5、掌握檔案系統的基本概念,以及操作檔案的常用函式。
6、能表示數據和實現計算,將“數據表示”和“程式實現”作為學習程式語言的兩條主線索。
“雙線索”學習圖“雙線索”學習圖

教師簡介

該課程授課教師均來自西北工業大學,其中姜學鋒劉君瑞、張秀偉、汪芳、周果清、魏英均為副教授。
5、掌握檔案系統的基本概念,以及操作檔案的常用函式。
6、能表示數據和實現計算,將“數據表示”和“程式實現”作為學習程式語言的兩條主線索。
“雙線索”學習圖“雙線索”學習圖

教師簡介

該課程授課教師均來自西北工業大學,其中姜學鋒劉君瑞、張秀偉、汪芳、周果清、魏英均為副教授。

相關詞條

熱門詞條

聯絡我們