Visual C++ 程序設(shè)計(jì)是計(jì)算機(jī)、電子等專業(yè)開設(shè)的程序設(shè)計(jì)語言課程,主要是培養(yǎng)學(xué)生的程序設(shè)計(jì)思維以及軟件開發(fā)和計(jì)算機(jī)應(yīng)用能力。
一、教學(xué)中存在的問題
程序設(shè)計(jì)課程教學(xué)通常以一門具體語言為主線,圍繞語法知識(shí)展開。而實(shí)質(zhì)上,程序設(shè)計(jì)是為了解決實(shí)際問題,是縝密思維方式、創(chuàng)新素質(zhì)和綜合能力的培養(yǎng)。學(xué)習(xí)程序設(shè)計(jì)語言是一個(gè)復(fù)雜而艱苦的過程,有的學(xué)生學(xué)了幾年的計(jì)算機(jī)程序設(shè)計(jì),卻連基本的程序語句都寫不出來,更何談程序設(shè)計(jì)思維。教師教得不如意,學(xué)生學(xué)得很吃力。要想使學(xué)生對程序設(shè)計(jì)有興趣,必須讓學(xué)生感受并體驗(yàn)到程序設(shè)計(jì)的魅力。為了避免學(xué)生在學(xué)習(xí)過程中失去耐心,出現(xiàn)半途而廢的情況,我們使用了任務(wù)驅(qū)動(dòng)教學(xué)法。
二、任務(wù)驅(qū)動(dòng)教學(xué)法
1.調(diào)動(dòng)學(xué)生積極性
教學(xué)成功的關(guān)鍵在于保持師生教與學(xué)的同步狀態(tài)。大班上課互動(dòng)性較差,如果教師只教而不管學(xué)生學(xué)與不學(xué),不進(jìn)行監(jiān)督和檢查,就不可能達(dá)到教與學(xué)的同步。為了充分調(diào)動(dòng)學(xué)生積極性,教師必須保持授課、作業(yè)、實(shí)驗(yàn)、講評和測驗(yàn)等同步。作業(yè)與實(shí)驗(yàn)報(bào)告抄襲現(xiàn)象嚴(yán)重,同步效果較差,授課、講評和測驗(yàn)相對而言同步效果較好,因此,教師要對每次作業(yè)、實(shí)驗(yàn)進(jìn)行講評,每個(gè)單元內(nèi)容進(jìn)行一次測試,以實(shí)現(xiàn)教學(xué)的同步,及時(shí)獲得學(xué)生反饋的信息。培養(yǎng)學(xué)生自主學(xué)習(xí)和創(chuàng)新能力。要求學(xué)生做配套輔導(dǎo)練習(xí),配套輔導(dǎo)練習(xí)包括程序調(diào)試題、程序設(shè)計(jì)題、選做題、精選案例的某個(gè)模塊等,注重培養(yǎng)學(xué)生的編程能力和調(diào)試能力,激發(fā)學(xué)生編程興趣。典型問題和精選案例編程,利于學(xué)生突破、難點(diǎn),融會(huì)貫通,體驗(yàn)程序開發(fā)的樂趣,培養(yǎng)分析和解決問題的能力。
2.教學(xué)方法改革
理論教學(xué)以任務(wù)驅(qū)動(dòng)教學(xué)法為主,以精選案例來說明有關(guān)理論知識(shí)以及具體應(yīng)用過程,使學(xué)生形成全面的認(rèn)識(shí)。每次理論課以一個(gè)具體案例的操作為中心,將重要知識(shí)點(diǎn)貫穿其整個(gè)過程。在講解過程中設(shè)置疑難點(diǎn),激發(fā)學(xué)生思考,請學(xué)生上臺(tái)師范解答,然后,層層推進(jìn),使學(xué)生達(dá)到知行統(tǒng)一。通過任務(wù)驅(qū)動(dòng)教學(xué)法,學(xué)生能形成從系統(tǒng)設(shè)計(jì)到實(shí)現(xiàn)各個(gè)環(huán)節(jié)的綜合應(yīng)用能力,并掌握幾種典型問題的典型解決方案,實(shí)戰(zhàn)效果很好,為今后的實(shí)際工作打下了堅(jiān)實(shí)的基礎(chǔ)。
3.教學(xué)內(nèi)容改革
根據(jù)程序設(shè)汁課程本身發(fā)展快、更新快、綜合性強(qiáng)、存在問題多的特點(diǎn),針對同類教材中存在的一些問題和不足,教師要積極開展教學(xué)內(nèi)容的研究,使本課程更具實(shí)用性和先進(jìn)性。課程內(nèi)容主要包括兩大模塊。
第一大模塊:C++面向?qū)ο蟪绦蚧A(chǔ)知識(shí),類和對象(從結(jié)構(gòu)體到類的演變、類和對象的定義、構(gòu)造函數(shù)和析構(gòu)函數(shù)定義、const類型定義、this指針、靜態(tài)成員中靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù)、友元中友元函數(shù)和友元類),繼承和派生類(單繼承、多繼承、派生類的構(gòu)造函數(shù)和析構(gòu)函數(shù)定義),多態(tài)和虛函數(shù)(虛函數(shù)、純虛函數(shù)和抽象類)。
第二大模塊:MFC編程基礎(chǔ)知識(shí),簡單MFC應(yīng)用程序編寫,MFC應(yīng)用程序框架定義,MFC編程的機(jī)制;菜單、工具欄和狀態(tài)欄編程控制,菜單設(shè)計(jì)叢(菜單類、層次結(jié)構(gòu)、命令消息、菜單項(xiàng)和快捷菜單的創(chuàng)建),工具欄設(shè)計(jì)(主框架窗口工具欄、添加工具按鈕、工具按鈕布局,菜單與工具按鈕的交互),狀態(tài)欄設(shè)計(jì)(狀態(tài)欄定義、主框架狀態(tài)欄編程、狀態(tài)欄編程);對話框和常用控件,對話框的分類、創(chuàng)建和基本編程方法,通用對話框和消息對話框使用,靜態(tài)控件、按鈕和編輯框編程,列表框和組合框編程,滾動(dòng)條、滑動(dòng)條和旋轉(zhuǎn)按鈕編程;圖形繪制,圖形設(shè)備接口,簡單圖形繪制,文本、字體和位圖顯示編程;數(shù)據(jù)庫編程,MFC ODBC數(shù)據(jù)庫編程(MFC ODBC編程過程、MFC ODBC類、數(shù)據(jù)庫常用編程操作),MFC ADO數(shù)據(jù)庫編程和數(shù)據(jù)庫相關(guān)ActiveX控件。
4.教學(xué)手段改革
重視實(shí)驗(yàn)指導(dǎo)和答疑,從學(xué)生的作業(yè)、實(shí)驗(yàn)、答疑、單元測驗(yàn)等問題入手,及時(shí)做好問題的分類、分析和講評,解決學(xué)生學(xué)習(xí)中存在的各種疑惑,以保證學(xué)生整體水平的提高,從而達(dá)到預(yù)期的教學(xué)目標(biāo)。
5.實(shí)踐環(huán)節(jié)建設(shè)
Visual C++課程是一門難度較大,綜合性、實(shí)用性很強(qiáng)的課程,實(shí)驗(yàn)教學(xué)是程序設(shè)計(jì)課程不可缺少的—個(gè)重要環(huán)節(jié),我們充分利用實(shí)驗(yàn)設(shè)備和網(wǎng)絡(luò)資源,把課程教學(xué)大綱、電子教案、精心制作的教學(xué)課件、同步測試題、模擬試題等教學(xué)資源等與學(xué)生共享,供學(xué)生自學(xué),并利用電子郵件、本課程網(wǎng)上論壇與學(xué)生進(jìn)行課外交流,為學(xué)生答疑解惑。通過課程設(shè)計(jì),學(xué)生進(jìn)一步鞏固和掌握程序設(shè)計(jì)的基本語法、基本算法和基本調(diào)試技術(shù),養(yǎng)成良好程序設(shè)計(jì)風(fēng)格(模塊化、結(jié)構(gòu)化)和嚴(yán)謹(jǐn)科學(xué)的作風(fēng),初步形成軟件工程化思想,具備了一定的程序組織能力。課內(nèi)實(shí)驗(yàn)和課程設(shè)計(jì)的實(shí)施過程中,教師現(xiàn)場實(shí)時(shí)輔導(dǎo)和答疑,指導(dǎo)學(xué)生解決編程中出現(xiàn)的問題。同時(shí)對學(xué)生嚴(yán)格要求,嚴(yán)格考核,確保實(shí)踐教學(xué)質(zhì)量。加強(qiáng)實(shí)踐環(huán)節(jié)的考核是提高實(shí)踐教學(xué)質(zhì)量的重要保證。
6.考核方式
為了使學(xué)生重視應(yīng)用技能的培養(yǎng),本課程的考核模式作了大膽的改革,由以前的“期末考試,一錘定音”改為“理論+實(shí)踐”的方式。具體做法是:平時(shí)成績,實(shí)驗(yàn)成績,課程設(shè)計(jì),期末成績。考勤占總成績的30%,上機(jī)檢查并回答提問占總成績的40%,課程實(shí)驗(yàn)報(bào)告和課程設(shè)計(jì)報(bào)告占總成績的30%。
三、教學(xué)效果
在教學(xué)過程中,我們非常重視教學(xué)內(nèi)容、教學(xué)方法和教學(xué)手段的改革,結(jié)合專業(yè)教學(xué)需要,創(chuàng)造性地提出了以任務(wù)驅(qū)動(dòng)教學(xué)法為主線的改革措施,并取得了顯著的成效,教學(xué)效果良好,得到了校內(nèi)同行和廣大學(xué)生的一致好評。