複製鏈接
請複製以下鏈接發送給好友

C++程序設計

(西北工業大學建設的慕課)

鎖定
C++程序設計是西北工業大學建設的慕課、國家精品在線開放課程國家級一流本科課程,於2016年03月21日在中國大學MOOC首次開設,該課程授課教師為魏英、張秀偉、姜學鋒、汪芳。據2021年9月中國大學MOOC官網顯示,該課程已開課12 [1-2] 
C++程序設計課程共48講,包括C++語言概述、信息的表示與存儲、程序中數據的表示、運算符與表達式、順序結構的程序設計、選擇結構的程序設計、循環結構的程序設計、循環結構的設計、函數的定義和使用、函數的設計、函數的調用、作用域及生命期和程序的組織結構等內容。 [1] 
中文名
C++程序設計
建設院校
西北工業大學
首開時間
2016年03月21日
授課平台
中國大學MOOC
授課教師
魏英、張秀偉、姜學鋒、汪芳
類    別
慕課、國家精品在線開放課程、國家級一流本科課程

C++程序設計課程性質

C++程序設計課程背景

C++是中國國內外使用的計算機程序設計語言。其功能強大、面向對象、數據表示豐富、代碼運行效率高、可移植性好,適合編寫系統軟件和各類應用程序。在TIOBE排行榜上,C++語言多年來始終處於前五位。21世紀社會已經由工業社會邁入信息社會。在信息社會中,信息已經成為比物質和能源更為重要的資源。計算機是一個信息化產品,是信息技術的典型代表,而理解計算機的好途徑就是編程 [1] 

C++程序設計課程定位

C++程序設計課程是大學計算機基礎教育和計算機科學與技術專業基礎的核心課程,是數據結構、算法設計、數學建模、軟件技術等課程的前導課程。 [1] 

C++程序設計適用對象

該課程適用於在校大學生和工作中使用C++進行軟件開發的人。 [1] 

C++程序設計課程簡介

C++程序設計課程共48講,第1講~第2講介紹程序設計基礎;第2講~第4講介紹數據類型與表達式;第5講~第8講介紹程序控制結構;第9講~第12講介紹函數相關內容;第13講~第16講介紹組數相關內容;第17講~第20講介紹指針與引用;第21講~第24講介紹自定義數據類型;第25講~第32講介紹類與對象相關內容;第33講~第36講介紹繼承與派生等內容;第37講~第48講分部介紹了運算符重載、異常處理、命名空間、標準庫、算法及高級編程技術相關內容。 [1] 

C++程序設計課程大綱

第1講 C++語言概述
第1講 瞭解計算機的基本工作原理
1. 計算機系統的組成及計算機指令
2. 程序設計語言的發展及C++語言
第2講 信息的表示與存儲
1. 進位計數制及轉換
2. 數據在計算機中的表示
第3講 程序中數據的表示
1. 數據類型
2. 常量、變量
第4講 運算符與表達式
1. 常用的運算符
2. 表達式和類型轉換
第5講 順序結構的程序設計
1. 語句
2. 輸入與輸出
第6講 選擇結構的程序設計
1. if語句和switch語句
2. 選擇結構的嵌套
第7講 循環結構的程序設計
1. 循環語句
2. 循環的附加控制語句
第8講 循環結構的設計
1. 循環的嵌套
2. 循環的設計
第9講 函數的定義和使用
1. 函數的定義和函數的參數
2. 函數的聲明與內聯函數
第10講 函數的設計
1. 默認參數與函數重載
2. 函數模板與庫函數的調用
第11講 函數的調用
1. 函數的嵌套調用
2. 函數的遞歸調用
第12講 作用域、生命期和程序的組織結構
1. 作用域和生命期
2. 程序的組織結構
第13講 數組的定義和使用
1. 一維數組的定義、初始化、引用
2. 二維數組的定義、初始化、引用
第14講 數組與函數
1. 數組作為函數的參數
2. 數組參數的傳遞機制
第15講 字符串的處理
1. 字符數組與字符串處理函數
2. 字符串對象及其操作
第16講 數組的應用
1. 用數組解決排序問題
2. 用數組解決查找問題
第17講 指針的定義與使用
1. 指針的定義
2. 指針的有效性和運算
第18講 指針與數組
1. 一維數組與指針
2. 指針與字符串
第19講 指針與函數
1. 指針作為函數的參數
2. 引用和指向函數的指針
第20講 動態分配內存
1. new與delete運算符
2. 動態分配數組和字符串
第21講 自定義數據類型
1. 結構體類型
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、成員指針及this指針
第31講 類作用域、對象生命期、const限定
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講 標準庫
1、C++標準庫
2、字符串流
第43講 文件
1、文件的概念
2、文件的操作
第44講 向量vector
1、向量的使用
2、 向量的實現細節
第45講 列表list
1、列表的使用
2、列表的實現細節
第46講 隊列(queue)和棧(stack)
1、隊列queue
2、棧stack
第47講 異常處理
1、異常處理的基本概念
2、異常處理的實現
第48講 命名空間
1、命名空間的定義
2、命名空間的使用
(注:課程大綱排版從左到右 [1-2] 

C++程序設計開課信息

開課次數
開課時間
授課教師
學時安排
參與人數
第1次開課
2016年03月21日~2016年07月31日
魏英、張秀偉、姜學鋒
4個小時每週
18130人
第2次開課
2016年10月08日~2017年01月14日
魏英
11845人
第3次開課
2017年02月20日~2017年07月10日
3-6小時每週
16653人
第4次開課
2017年09月25日~2018年01月10日
19636人
第5次開課
2018年02月26日~2018年06月30日
4-8小時每週
18107人
第6次開課
2018年09月01日~2019年01月12日
魏英、姜學鋒
4-6小時每週
6635人
第7次開課
2019年02月28日~2019年06月25日
魏英
4-6小時每週
15568 人
第8次開課
2019年09月01日~2019年12月30日
魏英、姜學鋒
4-6小時每週
12065人
第9次開課
2020年02月20日~2020年07月01日
魏英、周果清、汪芳
10-12小時每週
11262人
第10次開課
2020年09月20日~2020年12月31日
魏英、張秀偉、汪芳
6小時每週
7124人
第11次開課
2021年03月01日~2021年07月05日
魏英、張秀偉、姜學鋒、汪芳
4-6小時每週
16252人
第12次開課
2021年09月06日~2021年12月31日
魏英、張秀偉、汪芳
待定
參考資料來源: [1] 

C++程序設計課程特色

C是C++的子集,因此在C++的授課中,有至少一半的內容是和C語言一樣的。而中國國內C++程序設計課程的學時普遍較少,且講授的重點一般都放在和C重疊的那一部分。對於C++比C多出來的內容往往只介紹類、繼承等基本概念,而對於重載、多態、異常處理、數據流等內容言之甚少。本課程即針對這一問題,增加了C++獨有的內容的比重 [1] 

C++程序設計考核標準

總成績:按百分制計分,總成績=隨堂測驗×20% + 期末考試×80%
(1)合格:總成績60分至84分為合格
(2)優秀:總成績85分至100分為優 [1] 

C++程序設計教學目標

使學生能夠使用一種開發工具熟練的進行軟件開發,為學生將來的創新實驗、畢業設計、科學研究提供了有力的技術支持。課程內容以計算思維為導向,推動大學本科的計算機基礎教育,圍繞計算機學科的典型方法與技術,開展面向大學新生認知特徵的計算機基礎教育案例研究和實踐。 [1] 

C++程序設計學習預備

C++程序設計預備知識

學習者應該先修過或已經掌握計算機導論或者大學計算機基礎的主要內容,瞭解計算機的發展過程,理解計算機系統的構成和基本工作原理,並能夠熟練地操作計算機及通過互聯網獲取信息資源。 [1] 

C++程序設計學習資料

書名
作者
出版年份
出版社
《C++程序設計》
姜學鋒、周國清、劉君瑞
2012
清華大學出版社
《C++程序設計實驗教程》
魏英
2011
《C++程序設計習題與解析》
劉君瑞
(參考資料 [1] 

C++程序設計所獲榮譽

2017年12月26日,該課程被中華人民共和國教育部評為“2017年國家精品在線開放課程”。 [3] 
2020年11月24日,該課程被中華人民共和國教育部認定為首批“首批國家級一流本科課程”。 [8] 

C++程序設計教師簡介

魏英,工學碩士,西北工業大學副教授 [4] 
張秀偉,博士,西北工業大學副教授,主要從事多源視覺信息融合和協同處理方面的研究。 [5] 
姜學鋒,工程碩士,西北工業大學副教授,主要從事基於智能媒體的網絡化e-Learning理論及技術的研究 [6] 
汪芳,工學碩士,西北工業大學副教授。 [7] 
參考資料