電腦程式設計(C++)是西南交通大學於2015年3月3日首次在中國大學MOOC開設的慕課課程、國家精品線上開放課程。該課程授課老師是趙英良、顧剛、姚普選、楊琦、楊振平、衛顏俊、仇國巍、夏秦、喬亞男,據2020年9月中國大學MOOC官網顯示,該課程已開課12次。
該課程共有14章節,包括程式設計的基礎知識和簡單的C++程式設計、簡單信息的表示和數據運算,對應的語法點是數據類型、運算符和表達式等。
基本介紹
- 中文名:電腦程式設計(C++)
- 類別:慕課、國家精品線上開放課程
- 授課院校:西南交通大學
- 授課老師:趙英良、顧剛、姚普選、楊琦、楊振平、衛顏俊、仇國巍、夏秦、喬亞男
- 開課時間:2015年03月03日
- 授課平台:中國大學MOOC
課程性質
課程背景
適應對象
開課信息
開課次數 | 開課時間 | 授課教師 | 學時安排 | 參與人數 |
---|---|---|---|---|
第1次開課 | 2015年03月03日至2015年06月30日 | 趙英良、顧剛、姚普選、楊琦、楊振平、衛顏俊、仇國巍、夏秦、喬亞男 | 2小時每周 | 14892 |
第2次開課 | 2015年09月07日至2016年01月11日 | 19084 | ||
第3次開課 | 2016年02月22日至2016年06月27日 | 31896 | ||
第4次開課 | 2016年08月29日至 2017年01月10日 | 3-5小時每周 | 21800 | |
第5次開課 | 2017年滲棵灶02月13日至2017年07月03日 | 24179 | ||
第6次開課 | 2017年08月28日至2018年01月09日 | 21491 | ||
第7次開課 | 2018年02月19日至2018年06月25日 | 2-4小時每周 | 25289 | |
第8次開課 | 2018年08月27日至2019年01月14日 | 趙英良 | 3-4小時每周 | 30732 |
第9次開課 | 2019年02月12日至2019年06月17日 | 趙英良、顧剛、姚普選、楊琦、楊振平、衛顏俊、仇國巍、夏秦、喬亞男 | 2-4小時每周 | 24246 |
第10次開課 | 2019年08月26日至2020年01月06日 | 趙英良、顧剛、楊琦、衛顏俊、仇國巍、夏秦、喬亞男、房琛琛 | 3-5小時求囑驗兆每周 | 21409 |
第11次開課 | 2020年02月10日至2020年06月26日 | 趙英良、顧剛、姚普選、楊琦、楊振平、衛顏俊、仇國巍、夏秦、喬亞男 | 27290 | |
第12次開課 | 2020年08月24日至2020年12月22日 | 17946(截止至2020年10月4日) | ||
參考資料: |
課程簡介
課程大綱
第1周 程式設計與C++概述 1.1 程式設計和C++ 1.2計算機語言的分類 1.3HelloWorld和編程環境 1.4程式錯了怎么辦 1.5實例:生日賀卡 1.6實例:加法計算器 1.7實例:計算存款本息 1.8C++程式的基本要素 本周課件和推薦閱讀 第1周單元測試 第1周編程作業 C++基礎練習100題 本節內容是練習題,逐步推出C++基礎練習100題 第1周基礎練習 第2周基礎練習 第3周基礎練習 第4周基礎練習 第5周基礎練習 第6周基礎練習 第7周基礎練習 第8周基礎練習 第9周基礎練習 第10周基礎練習 第11周基礎練習 第12周基礎練習 第13周基礎練習 第2周 簡單信息的表示和基本運算 2.1數據類型 2.2常量和變數 2.3算術運算和自增自減運算 2.4關係運算 2.5邏輯運算符 2.6位運算 2.7特殊運算符(賦值運算符、位元組數運算符、條件運算符和逗號運算符) 2.8混合運算的類型轉換 2.9實例:計算三角形的面積 2.10實例:構造5位數的反序數 2.11實例:加密解密 重點難點:整數、字元和字元串 重點難點:轉義符 本周課件 小技巧:設定運行視窗顏色為白底黑字 第2周單元測試 第2周編程作業 第3周 運算的流程控制 3.1程式流程控制 3.2單路和雙路分支 3.3多路分支 3.4已知次數循環 3.5已知條件循環 3.6實例:解一元二次方程 3.7實例:簡單計算器 3.8實例:尋找自冪數 重要技巧:程式調試方法——加輸出語句 重要技巧:程式調試方法——單步跟蹤 本周課件 第3周單元測試 第3周編程作業 C++中級練習100題 C++中級練習100題發布 第1周中級練習 第2周中級練習 第3周中級練習 第4周中級練習 第5周中級練習 第6周中級練習 第7周中級練習 第8周中級練習 第4周 複雜信息的表達與處理 4.1一維數組 4.2二維數組 4.3結構體 4.4枚舉(實例三色球組合) 4.5實例:冒泡排序 4.6實例:文字信息統計 4.7實例:使用string字元串 4.8實例:矩陣乘法 4.9實例:取子字元串 4.10實例:詞頻統計 本周課件 第4周單元測試 第4周編程作業 第5周 問題的模組化求解 5.1 模組化程式設計 5.2 函式的定義 5.3 函式的聲明 5.4 函式的調用格式 5.5 參數的傳遞方式 5.6 為形參指定默認值 5.7 數組名作為函式的參數 5.8 結構體變數作為函式的參數 5.9 實例講解 第5周課件 第5周單元測試 第5周編程作業 第6周 問題的模組化求解(2)——特殊函式 6.1 遞歸函式 6.2 內聯函式 6.3 函式重載 6.4 變數的作用域和存儲類型 6.5實例講解(Hanoi問題,Fibonacci序列遞歸求解,二分查找的遞歸實現,排序函式重載) | 第6周課件及課程學習建議 補充——圖解漢諾塔 第6周單元測試 第6周編程作業 第7周 按址操作(1)——指針、變數和函式 7.1 什麼是指針 7.2指針和變數的關係 7.3指針作為函式的參數 7.4返回指針的函式 7.5指向函式的指針 7.6實例講解(利用指針實現三個數的排序、返回字元指針的去掉字元串首部空格函式、通過指針同時返回圓的面積和周長(擴展-多功能函式)、通定積分函式) 第7周單元測試 第7周編程作業 第8周 按址操作(2)——指針與數組、字元串、結構體,動態數組 8.1數組與指針、指針的算術運算 8.2指針的關係運算、通過指針訪問數組元素 8.3二維數組與指針 8.4指向一維數組指針(行指針)、字元串指針 8.5 字元指針套用、指針數組 8.6結構體與指針 8.7動態數組 8.8實例講解(數組元素逆序(指針和動態數組實現)、字元串排序(指針和動態數組實現)、32位二進制IP位址轉換為十進制點分IP位址(帶合法性檢驗)) 第8周單元測試 第8周編程作業 第9周 數據的抽象與封裝——類與對象(1) 9.1 類的概念 9.2 類的定義 9.3對象的聲明與使用 9.4 類的私有、公有與保護成員 9.5 日期類的設計 9.6 結構化和面向對象的程式設計思想 9.7 可鳴笛、運動和播放MP3的汽車類的設計 9.8 圓類的設計 9.9 實例講解 第9周單元測試 第9周編程作業 第10周 數據的抽象和封裝——類(2)——構造函式、析構函式和指向對象的指針 10.1 構造函式的定義 10.2 重載構造函式 10.3 析構函式的定義 10.4 實例:整數翻譯函式 10.5 實例:實際意義的析構函式 10.6 實例:Person類的設計 10.7 對象與指針 10.8 this指針 10.9 實例講解 10.10 難點解析1——this指針 第10周單元測試 第10周編程作業 第11周 取其精華 發揮優勢——繼承 11.1具有行走聽說功能的“人”類的設計 11.2為什麼需要繼承 11.3派生類的定義 11.4基類與派生類 11.5繼承方式 11.6派生類的構造函式與析構函式 11.7從點到圓再到圓柱體的派生類設計 11.8從隨身碟到MP3的派生類設計 11.9實例講解 第11周單元測試 第11周編程作業 第12周 統一接口 不同實現——多態性 12.1多態的概念 12.2派生類對象替換基類對象 12.3虛函式 12.4抽象類 12.5運算符的重載 12.6實例1水果類與虛函式 12.7實例2日期類與比較運算符的重載 12.8實例3分數類與加減運算符的重載 12.9實例4數組類與插入運算符(<<)的重載 12.10補充內容:虛析構函式 12.11補充內容:淺拷貝和深拷貝 第12周單元測試 第12周編程作業 第13周 標準輸入輸出與檔案操作 13.1流的概念和流類的結構 13.2標準輸入流 13.3標準輸出流 13.4檔案操作基礎 13.5文本檔案讀寫 13.6二進制檔案的讀寫 13.7檔案操作實例(隨機發牌、統計詞頻、MP3賦值、成績管理) 13.8補充內容:const用法總結 第13周單元測試 第13周編程作業 第14周 模板和標準模板庫簡介 14.1 函式模板 14.2 類模板 14.3 STL 簡介 14.4 vector容器 14.5 vector上的疊代器 14.6 vector上套用算法 14.7 序列型容器概覽 14.8 關聯容器概覽 14.9 map容器 14.10 容器適配器概覽 第14周PPT課件 第14周單元測試 |
參考資料: |
課前預備
預備知識
學習資料
書名 | 作者 | ISBN | 出版時間 | 出版社 |
---|---|---|---|---|
《 C++程式設計教程》 | 趙英良、仇國巍等 | 978-7-302-33057-8 | 2013.8 | 清華大學出版社 |
《C++程式設計實驗指導與習題解析》 | 趙英良、衛顏俊等 | 978-7-302-33058-5 | 2013.8 | |
《C++程式設計教程(第2版)》 | 羅建軍、 朱丹軍, 顧剛等 | 978-7-04-022080-3 | 2004.8 | 高等教育出版社 |
《C++程式設計教程學習指導(第2版)》 | 羅建軍、朱丹軍、顧剛等 | 978-7-04-022190-9 | 2004.8 | |
《 C++程式設計(第2版)》 | 譚浩強 | 9787302254881 | 2011 | 清華大學出版社 |
《C++ Primer(中文版 第5版)》 | Stanley B. Lippman、Josée Lajoie、Barbara E. Moo 著. 王剛、楊巨峰 譯 | 9787121155352 | 2013 | 電子工業出版社 |
《C++ Primer Plus(第6版 中文版)》 | [美] Stephen Prata 著. 張海龍、袁國忠譯 | 978-7-115-27946-0 | 2012 | 人民郵電出版社 |
《最新C/C++函式與算法速查速用大辭典》 | 陳銳、華慶一等 | 978-7-113-20740-3 | 2015.9 | 中國鐵道出版社 |
資料來源: |