《面向對象程序設計(C++)》課程教學大綱
課程名稱(中文): 面向對象程序設計(C++)
課程名稱(英文): Object-Oriented Programming(C++)
課程編號: 132020
課程類別: 學科基礎課程
學時學分:總學時 64 學分 3 其中實踐學時 32
開出時間: 2 年級 2 學期
開出單位: 計算機學院
適用專業:計算機科學與技術、網絡工程
先修課程:計算機導論,高級語言程序設計
執 筆: 邵 平
審 核: 朱俊嶺
一、 課程的教學目標和教學要求
本課程的教學目標是:
通過對《面向對象程序設計》的方法和《C++語言》的基本概念的介紹,讓學生了解面向對象的基本概念和使用面向對象技術進行程序設計的基本思想。教學任務是:學習使用C++語言進行一般面向對象的程序設計,初步掌握面向對象編程環境visual C++的使用,為大型應用軟件設計與開發打下良好的理論和實踐基礎。
本課程的教學要求是:
⑴ 掌握面向對象程序設計的基本概念和基本原理,熟練掌握一些常用的面向對象程序設計實用開發方法和技術。
⑵ 了解面向對象程序設計各領域的發展方向;掌握如何用面向對象技術與方法開發軟件項目,以及可視化程序設計方法、事件驅動方法與面向過程程序設計方法的異同。
⑶ 能夠利用所學知識去解決一些實際的應用問題(或模擬案例)。
二、 教學時數分配
本課程總學時為64學時,其中理論課32學時,實驗32學時。選用教材為《C++面向對象程序設計(第2版)》,譚浩強,清華大學出版社,2014,ISBN:9787302360292。
《面向對象程序設計(C++)》學時分配表
序號 | 內容 | 講授 | 實驗 | 總學時 |
1 | C++初步 | 6 | 4 | 10 |
2 | 類和對象 | 3 | 4 | 7 |
3 | 類和對象的進一步討論 | 3 | 4 | 7 |
4 | 運算符重載 | 3 | 2 | 5 |
5 | 繼承與派生 | 5 | 6 | 11 |
6 | 多態性與虛函數 | 3 | 4 | 7 |
7 | 輸入/輸出流 | 3 | 2 | 5 |
8 | C++工具 | 2 | 2 | 4 |
9 | 綜合復習 | 4 | 4 | 8 |
合計 | 32 | 18 | 64 |
三、 主要教學內容和教學方法
(一)C++初步
教學目的及要求:
理解面向對象的基本概念,掌握C++的開發運行環境。
教學重點:
面向對象的基本概念。
教學難點:
面向對象的基本概念。
教學方法:
講授法、自主學習法、提問法。
思考題:
譚浩強《C++面向對象程序設計》(第2版),P36,第11,13,16題。
(二)類和對象
教學目的及要求:
掌握類的成員函數設計、分析方法;掌握對象成員的引用定義及其使用方法
教學重點:
類的成員函數
教學難點:
對象成員的引用
教學方法:
講授法、練習法、任務驅動法、提問法
思考題:
譚浩強《C++面向對象程序設計》(第2版),P67-68:第2,3,5,6題。
(三)類和對象的進一步討論
教學目的及要求:
掌握類的構造函數和析構函數設計、分析方法;學會對象數組和對象指針的使用方法;學會友元的應用;掌握對象的動態建立和釋放,掌握對象的賦值和復制方法;學會類模板的使用
教學重點:
構造函數和析構函數
教學難點:
對象數組和對象指針
教學方法:
講授法、練習法、任務驅動法、提問法
思考題:
譚浩強《C++面向對象程序設計》(第2版),P117-119,第5,9,11題。
(四)運算符重載
教學目的及要求:
學會運算符重載的方法和重載運算符的規則;能應用運算符重載函數作為類成員函數和友元函數;學會設計重載雙目運算符和單目運算符;了解流插入運算符和流提取運算符
教學重點:
運算符重載的方法和重載運算符的規則
教學難點:
設計重載雙目運算符和單目運算符
教學方法:
講授法、自主學習法、任務驅動法、提問法
思考題:
譚浩強《C++面向對象程序設計》(第2版),P149,第7題。
(五)繼承與派生
教學目的及要求:
熟練掌握繼承與派生的概念;熟悉派生類成員的訪問屬性,能應用派生類設計程序;能設計派生類的構造函數和析構函數;掌握多重繼承的應用
教學重點:
設計派生類的構造函數和析構函數
教學難點:
多重繼承的應用
教學方法:
講授法、練習法、任務驅動法、提問法
思考題:
譚浩強《C++面向對象程序設計》(第2版),P197,第9題。
(六)多態性與虛函數
教學目的及要求:
熟練掌握多態性的概念;能應用虛函數設計程序;掌握純虛函數與抽象類的應用
教學重點:
應用虛函數設計程序
教學難點:
掌握純虛函數與抽象類的應用
教學方法:
講授法、練習法、自主學習法、任務驅動法、提問法
思考題:
譚浩強《C++面向對象程序設計》(第2版),P219,第5題。
(七)輸入輸出流
教學目的及要求:
掌握標準輸出流和標準輸入流;能應用對數據文件的操作與文件流設計程序;了解字符串流的應用
教學重點:
對數據文件的操作與文件流
教學難點:
字符串流
教學方法:
講授法、練習法、任務驅動法、提問法
思考題:
無。
(八)C++工具
教學目的及要求:
掌握應用異常處理設計程序,了解使用早期的函數庫
教學重點:
異常處理
教學難點:
異常處理
教學方法:
練習法、自主學習法、任務驅動法
思考題:
無。
參考書目:
1、C++面向對象程序設計題解與上機指導(第2版),譚浩強編著,清華大學出版社,2014年。
2、《Thinking in C++》(第二版),(美)Bruce Eckel 編著,機械工業出版社,2005年。
3、《C++ Primer》(第五版),(美)Stanley B. Lippman Barbara E. Moo Josée LaJoie 著,人民郵電出版社,2005年。
四、 考核方式
考核方式為:考試。
五、 其它說明
后續課程為:數據結構與算法、軟件工程。