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