前言:想要寫(xiě)出一篇引人入勝的文章?我們特意為您整理了C++程序設(shè)計(jì)教學(xué)方法研究范文,希望能給你帶來(lái)靈感和參考,敬請(qǐng)閱讀。
摘要:為了提高c++程序設(shè)計(jì)課程的教學(xué)效果,培養(yǎng)學(xué)生的程序設(shè)計(jì)思維和能力,采用有效的教學(xué)方法是非常必要的。本文基于C++程序設(shè)計(jì)課程教學(xué)現(xiàn)狀的分析,對(duì)課程教學(xué)方法進(jìn)行了研究,設(shè)計(jì)了理論教學(xué)和實(shí)驗(yàn)教學(xué)的教學(xué)方案,闡述了教學(xué)方案的實(shí)施細(xì)節(jié)。實(shí)踐結(jié)果表明,采用該方案組織的課程教學(xué)能夠有效提高學(xué)生的學(xué)習(xí)效果。
關(guān)鍵詞:C++;程序設(shè)計(jì);教學(xué)方法;項(xiàng)目驅(qū)動(dòng)
1引言
C++程序設(shè)計(jì)是南通大學(xué)計(jì)算機(jī)相關(guān)專(zhuān)業(yè)的專(zhuān)業(yè)基礎(chǔ)課。課程教學(xué)的主要目的是培養(yǎng)學(xué)生的程序設(shè)計(jì)思維和能力,為后續(xù)學(xué)習(xí)專(zhuān)業(yè)課程打下堅(jiān)實(shí)的基礎(chǔ)。程序設(shè)計(jì)能力是計(jì)算機(jī)相關(guān)專(zhuān)業(yè)能力的重要組成部分[1],將直接影響學(xué)生后續(xù)課程的學(xué)習(xí)和未來(lái)發(fā)展。作為面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言課程,C++程序設(shè)計(jì)的內(nèi)容既包含了面向過(guò)程的程序設(shè)計(jì),也包含面向?qū)ο蟮某绦蛟O(shè)計(jì)[2],內(nèi)容相對(duì)較復(fù)雜,學(xué)生學(xué)習(xí)有一定的難度。由于C++程序設(shè)計(jì)課程的重要性,很多教師對(duì)課程的教學(xué)方法進(jìn)行了探討。陳晉音等引入翻轉(zhuǎn)課堂為C++程序設(shè)計(jì)課程設(shè)計(jì)了相應(yīng)的教學(xué)方法[3]。趙宇晴等根據(jù)認(rèn)知任務(wù)分析的方法和過(guò)程,設(shè)計(jì)了C++程序設(shè)計(jì)的教學(xué)過(guò)程[4]。梁鳳蘭探討了案例教學(xué)在C++程序設(shè)計(jì)課程教學(xué)中的應(yīng)用方法[5]。針對(duì)南通大學(xué)計(jì)算機(jī)相關(guān)專(zhuān)業(yè)的學(xué)生,任課教師曾作了很多嘗試,但教學(xué)效果一直不太理想,課程不及格率居高不下。造成課程教學(xué)效果不佳的主要原因包括:(1)缺乏必要的課程基礎(chǔ)知識(shí)、非圖形化的編程教學(xué)及缺乏數(shù)據(jù)共享手段,造成學(xué)生學(xué)習(xí)的動(dòng)力和興趣不足。(2)重理論、輕實(shí)踐的課程教學(xué)安排和考核方法導(dǎo)致部分學(xué)生通過(guò)死記硬背語(yǔ)法規(guī)則和典型例題來(lái)應(yīng)付考試,學(xué)生缺乏正確的學(xué)習(xí)方法。(3)面向?qū)ο蟪绦蛟O(shè)計(jì)未能貫穿整個(gè)教學(xué)過(guò)程,且學(xué)時(shí)安排過(guò)少,造成學(xué)生對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)方法的掌握普遍不好。(4)電子產(chǎn)品嚴(yán)重?cái)D占了學(xué)生的學(xué)習(xí)時(shí)間,造成部分學(xué)生的學(xué)習(xí)時(shí)間嚴(yán)重不足[6]。為了提高C++程序設(shè)計(jì)課程的教學(xué)效果,本文基于課程教學(xué)現(xiàn)狀的分析,針對(duì)課程教學(xué)過(guò)程中所存在的問(wèn)題,對(duì)課程教學(xué)進(jìn)行研究和實(shí)踐。相比以理論教學(xué)為重點(diǎn)的教學(xué)方法研究[3-5],本文研究了教和學(xué)的整個(gè)過(guò)程,設(shè)計(jì)了適應(yīng)學(xué)生學(xué)習(xí)特點(diǎn)和C++知識(shí)結(jié)構(gòu)的課程教學(xué)方案。
2教學(xué)過(guò)程
2.1理論教學(xué)
理論教學(xué)的目的是使學(xué)生在熟悉C++語(yǔ)法規(guī)則的基礎(chǔ)上,培養(yǎng)學(xué)生程序設(shè)計(jì)思維和能力。理論教學(xué)的效果直接決定課程的教學(xué)效果。在C++課程理論教學(xué)過(guò)程中,主要從以下方面進(jìn)行研究和實(shí)踐。(1)構(gòu)建學(xué)生學(xué)習(xí)的知識(shí)基礎(chǔ)。根據(jù)學(xué)習(xí)遷移理論[7],學(xué)生已有的知識(shí)會(huì)對(duì)他們接受新知識(shí)的程度影響很大。為了構(gòu)建學(xué)生學(xué)習(xí)的基礎(chǔ)知識(shí),在課程開(kāi)始階段安排4個(gè)學(xué)時(shí)講授計(jì)算機(jī)的組成、信息的表示和存儲(chǔ)、內(nèi)存的構(gòu)成和訪問(wèn)方法以及程序的執(zhí)行過(guò)程等課程基礎(chǔ)知識(shí),以此來(lái)支撐后續(xù)內(nèi)容的學(xué)習(xí),從而幫助學(xué)生更好地理解所學(xué)內(nèi)容。(2)激發(fā)學(xué)生的學(xué)習(xí)興趣。興趣是最好的老師[8]。如果學(xué)生對(duì)課程內(nèi)容缺乏興趣,則無(wú)法調(diào)動(dòng)他們學(xué)習(xí)的積極性、主動(dòng)性和探索精神。在教學(xué)過(guò)程中,從以下方面激發(fā)學(xué)生的學(xué)習(xí)興趣:①通過(guò)操作系統(tǒng)和數(shù)據(jù)結(jié)構(gòu)課程部分實(shí)驗(yàn)源代碼和運(yùn)行效果的展示,使學(xué)生了解C++程序設(shè)計(jì)對(duì)后續(xù)專(zhuān)業(yè)課程學(xué)習(xí)的作用,從而認(rèn)識(shí)到學(xué)好C++程序設(shè)計(jì)是“有用”的。②向?qū)W生展示C++語(yǔ)言編寫(xiě)的“貪吃蛇”、“五子棋”等游戲,并對(duì)源程序中部分代碼進(jìn)行修改,演示修改后的效果,鼓勵(lì)學(xué)生在課程的學(xué)習(xí)過(guò)程中,根據(jù)所學(xué)內(nèi)容對(duì)相應(yīng)源程序進(jìn)行修改,從而理解C++是“有趣”的。③在課程前期,通過(guò)提供學(xué)習(xí)資源和課外輔導(dǎo),給學(xué)生引入BC++和VC++兩種圖形界面設(shè)計(jì)方法,供有興趣的學(xué)生選擇學(xué)習(xí),從而理解C++是可以“圖形化”的。(3)調(diào)整課程教學(xué)內(nèi)容的組織順序。為了使學(xué)生盡早接觸文件和面向?qū)ο蟪绦蛟O(shè)計(jì),加深學(xué)生對(duì)C++及面向?qū)ο蟪绦蛟O(shè)計(jì)的理解,在課程教學(xué)過(guò)程中,將課程內(nèi)容的組織順序調(diào)整為“基本數(shù)據(jù)類(lèi)型和表達(dá)式、文件、函數(shù)、面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)、控制結(jié)構(gòu)、數(shù)組、指針、結(jié)構(gòu)體”,即將文件、函數(shù)和面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)內(nèi)容提前。課程進(jìn)行過(guò)程中,要求學(xué)生在程序設(shè)計(jì)時(shí)將輸入數(shù)據(jù)首先寫(xiě)入文件,程序調(diào)試時(shí)直接從文件中讀取數(shù)據(jù);在學(xué)生完成函數(shù)和面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)的學(xué)習(xí)后,后期內(nèi)容均基于面向?qū)ο蟪绦蛟O(shè)計(jì)思想和方法展開(kāi),從而將面向?qū)ο蟪绦蛟O(shè)計(jì)貫穿整個(gè)課程的學(xué)習(xí),以強(qiáng)化學(xué)生對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)思想和方法的理解。(4)引入項(xiàng)目驅(qū)動(dòng)的教學(xué)方法。課程理論課時(shí)只有48學(xué)時(shí),在課堂上完全講授所有內(nèi)容比較困難。且這種填鴨式的教學(xué)方法也不能滿足新工科“培養(yǎng)學(xué)生計(jì)算思維、學(xué)習(xí)自主性和創(chuàng)新能力”的要求[9]。為此,在教學(xué)過(guò)程引入項(xiàng)目驅(qū)動(dòng)的教學(xué)方法[10-11]。引入若干項(xiàng)目供學(xué)生自由選擇,每個(gè)項(xiàng)目采用任務(wù)驅(qū)動(dòng)的教學(xué)方法[12-13]。以學(xué)生管理系統(tǒng)為例,教師把知識(shí)點(diǎn)融入到項(xiàng)目的任務(wù)中(見(jiàn)表1)。學(xué)生依次完成各個(gè)獨(dú)立的任務(wù),最終完成整個(gè)項(xiàng)目,從而把教學(xué)方式從“以教為主”轉(zhuǎn)變成“以學(xué)為主”,以充分提高學(xué)生學(xué)習(xí)的積極性和主動(dòng)性。課程教學(xué)過(guò)程的組織如圖1所示。(5)營(yíng)造學(xué)生相互幫助、促進(jìn)和監(jiān)督的學(xué)習(xí)氛圍。本課程的學(xué)生來(lái)自全國(guó)多個(gè)省份,地區(qū)及個(gè)體差異導(dǎo)致學(xué)生學(xué)習(xí)的積極性、主動(dòng)性和能力都存在較大差異。為了營(yíng)造學(xué)生相互幫助、促進(jìn)和監(jiān)督的學(xué)習(xí)氛圍,在教學(xué)過(guò)程中,把學(xué)生分成若干個(gè)學(xué)習(xí)小組,每組不超過(guò)5人。在課程開(kāi)始時(shí),由學(xué)生自由組合,課程進(jìn)行6周后,通過(guò)對(duì)學(xué)生學(xué)習(xí)情況的評(píng)估,將學(xué)生按學(xué)習(xí)情況從高到低分為A、B、C、D和E共5個(gè)等級(jí),由A等級(jí)的學(xué)生從B、C、D和E等級(jí)中每個(gè)等級(jí)至多選擇一名學(xué)生,重新組成學(xué)習(xí)小組。除期末閉卷考試外,其它各項(xiàng)考核均既考慮小組總體情況,也考慮小組內(nèi)個(gè)體差異,以此對(duì)學(xué)習(xí)積極性不高或?qū)W習(xí)困難的學(xué)生進(jìn)行幫助、促進(jìn)和監(jiān)督。
2.2實(shí)驗(yàn)教學(xué)
課程實(shí)驗(yàn)教學(xué)的目的是鞏固學(xué)生對(duì)C++程序設(shè)計(jì)理論課程所學(xué)知識(shí)的理解。培養(yǎng)學(xué)生的程序設(shè)計(jì)、編寫(xiě)和調(diào)試能力,是達(dá)到課程教學(xué)目標(biāo)必不可少的組成部分。為了使學(xué)生能夠有效地調(diào)試程序,編寫(xiě)出有質(zhì)量的程序,實(shí)驗(yàn)教學(xué)過(guò)程中采取了以下措施:(1)通過(guò)對(duì)“C++常見(jiàn)錯(cuò)誤及解決方法”的分析和集成環(huán)境中程序調(diào)試方法的講解,培養(yǎng)學(xué)生識(shí)別出錯(cuò)原因和改錯(cuò)的能力。(2)通過(guò)增加程序閱讀環(huán)節(jié)和交換調(diào)試,培養(yǎng)學(xué)生程序閱讀和調(diào)試能力。(3)通過(guò)制定實(shí)驗(yàn)評(píng)分規(guī)則,鼓勵(lì)學(xué)生對(duì)同一問(wèn)題探究多種解決方法,并分析每種方法的時(shí)間效率和空間效率,以提高編程能力和算法效率意識(shí)。
3教學(xué)效果
以上教學(xué)方法在2020級(jí)“數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)”專(zhuān)業(yè)(共63人)經(jīng)一個(gè)學(xué)期的實(shí)踐,取得了較好的效果。所有小組均完成了項(xiàng)目開(kāi)發(fā),大部分學(xué)生較好地掌握了C++程序設(shè)計(jì)的基礎(chǔ)知識(shí)和程序設(shè)計(jì)方法。課程考核成績(jī)相對(duì)2019級(jí)(共62人)有了一定的提高(成績(jī)分布情況見(jiàn)表2)。期末考核平均得為79.14分,90分及以上的學(xué)生所占比例為23.81%,僅有1位學(xué)生不及格(占比1.59%)。從教學(xué)過(guò)程和效果來(lái)看,課程教學(xué)方案有效的主要原因包括:(1)學(xué)習(xí)基礎(chǔ)的構(gòu)建減少了學(xué)生的畏難情緒。(2)對(duì)C++認(rèn)識(shí)的加深和項(xiàng)目驅(qū)動(dòng)教學(xué)方法的引入,明顯增強(qiáng)了學(xué)生的學(xué)習(xí)積極性和主動(dòng)性。(3)課程內(nèi)容組織順序的調(diào)整和實(shí)驗(yàn)教學(xué)的改革措施,加強(qiáng)了學(xué)生對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)思想的理解,并增加了課程的趣味性。(4)小組學(xué)習(xí)的組織方式,有效地幫助和督促了少數(shù)學(xué)習(xí)困難的學(xué)生。
4結(jié)束語(yǔ)
本文首先對(duì)南通大學(xué)計(jì)算機(jī)相關(guān)專(zhuān)業(yè)C++程序設(shè)計(jì)課程教學(xué)的現(xiàn)狀進(jìn)行了研究,分析了教學(xué)效果不佳的原因,然后從理論教學(xué)和實(shí)驗(yàn)教學(xué)方面進(jìn)行教學(xué)過(guò)程和方法的研究和實(shí)踐。實(shí)踐結(jié)果表明,本文設(shè)計(jì)的教學(xué)方案,能有效地激發(fā)學(xué)生的學(xué)習(xí)積極性和主動(dòng)性,提高了教學(xué)效果,學(xué)生的程序設(shè)計(jì)能力有了一定程度的提高。但仍然有部分學(xué)生沒(méi)有達(dá)到課程要求。在以后的教學(xué)中,將通過(guò)設(shè)計(jì)不同難度的項(xiàng)目和加強(qiáng)階段性評(píng)估來(lái)進(jìn)行分層教學(xué),以更好地幫助學(xué)習(xí)困難的學(xué)生。
作者:陳文蘭 單位:南通大學(xué)信息科學(xué)技術(shù)學(xué)院