公務(wù)員期刊網(wǎng) 論文中心 正文

C++程序設(shè)計(jì)教學(xué)方法研究

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了C++程序設(shè)計(jì)教學(xué)方法研究范文,希望能給你帶來靈感和參考,敬請閱讀。

C++程序設(shè)計(jì)教學(xué)方法研究

摘要:為了提高c++程序設(shè)計(jì)課程的教學(xué)效果,培養(yǎng)學(xué)生的程序設(shè)計(jì)思維和能力,采用有效的教學(xué)方法是非常必要的。本文基于C++程序設(shè)計(jì)課程教學(xué)現(xiàn)狀的分析,對課程教學(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)專業(yè)的專業(yè)基礎(chǔ)課。課程教學(xué)的主要目的是培養(yǎng)學(xué)生的程序設(shè)計(jì)思維和能力,為后續(xù)學(xué)習(xí)專業(yè)課程打下堅(jiān)實(shí)的基礎(chǔ)。程序設(shè)計(jì)能力是計(jì)算機(jī)相關(guān)專業(yè)能力的重要組成部分[1],將直接影響學(xué)生后續(xù)課程的學(xué)習(xí)和未來發(fā)展。作為面向?qū)ο蟮某绦蛟O(shè)計(jì)語言課程,C++程序設(shè)計(jì)的內(nèi)容既包含了面向過程的程序設(shè)計(jì),也包含面向?qū)ο蟮某绦蛟O(shè)計(jì)[2],內(nèi)容相對較復(fù)雜,學(xué)生學(xué)習(xí)有一定的難度。由于C++程序設(shè)計(jì)課程的重要性,很多教師對課程的教學(xué)方法進(jìn)行了探討。陳晉音等引入翻轉(zhuǎn)課堂為C++程序設(shè)計(jì)課程設(shè)計(jì)了相應(yīng)的教學(xué)方法[3]。趙宇晴等根據(jù)認(rèn)知任務(wù)分析的方法和過程,設(shè)計(jì)了C++程序設(shè)計(jì)的教學(xué)過程[4]。梁鳳蘭探討了案例教學(xué)在C++程序設(shè)計(jì)課程教學(xué)中的應(yīng)用方法[5]。針對南通大學(xué)計(jì)算機(jī)相關(guān)專業(yè)的學(xué)生,任課教師曾作了很多嘗試,但教學(xué)效果一直不太理想,課程不及格率居高不下。造成課程教學(xué)效果不佳的主要原因包括:(1)缺乏必要的課程基礎(chǔ)知識、非圖形化的編程教學(xué)及缺乏數(shù)據(jù)共享手段,造成學(xué)生學(xué)習(xí)的動(dòng)力和興趣不足。(2)重理論、輕實(shí)踐的課程教學(xué)安排和考核方法導(dǎo)致部分學(xué)生通過死記硬背語法規(guī)則和典型例題來應(yīng)付考試,學(xué)生缺乏正確的學(xué)習(xí)方法。(3)面向?qū)ο蟪绦蛟O(shè)計(jì)未能貫穿整個(gè)教學(xué)過程,且學(xué)時(shí)安排過少,造成學(xué)生對面向?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)狀的分析,針對課程教學(xué)過程中所存在的問題,對課程教學(xué)進(jìn)行研究和實(shí)踐。相比以理論教學(xué)為重點(diǎn)的教學(xué)方法研究[3-5],本文研究了教和學(xué)的整個(gè)過程,設(shè)計(jì)了適應(yīng)學(xué)生學(xué)習(xí)特點(diǎn)和C++知識結(jié)構(gòu)的課程教學(xué)方案。

2教學(xué)過程

2.1理論教學(xué)

理論教學(xué)的目的是使學(xué)生在熟悉C++語法規(guī)則的基礎(chǔ)上,培養(yǎng)學(xué)生程序設(shè)計(jì)思維和能力。理論教學(xué)的效果直接決定課程的教學(xué)效果。在C++課程理論教學(xué)過程中,主要從以下方面進(jìn)行研究和實(shí)踐。(1)構(gòu)建學(xué)生學(xué)習(xí)的知識基礎(chǔ)。根據(jù)學(xué)習(xí)遷移理論[7],學(xué)生已有的知識會(huì)對他們接受新知識的程度影響很大。為了構(gòu)建學(xué)生學(xué)習(xí)的基礎(chǔ)知識,在課程開始階段安排4個(gè)學(xué)時(shí)講授計(jì)算機(jī)的組成、信息的表示和存儲(chǔ)、內(nèi)存的構(gòu)成和訪問方法以及程序的執(zhí)行過程等課程基礎(chǔ)知識,以此來支撐后續(xù)內(nèi)容的學(xué)習(xí),從而幫助學(xué)生更好地理解所學(xué)內(nèi)容。(2)激發(fā)學(xué)生的學(xué)習(xí)興趣。興趣是最好的老師[8]。如果學(xué)生對課程內(nèi)容缺乏興趣,則無法調(diào)動(dòng)他們學(xué)習(xí)的積極性、主動(dòng)性和探索精神。在教學(xué)過程中,從以下方面激發(fā)學(xué)生的學(xué)習(xí)興趣:①通過操作系統(tǒng)和數(shù)據(jù)結(jié)構(gòu)課程部分實(shí)驗(yàn)源代碼和運(yùn)行效果的展示,使學(xué)生了解C++程序設(shè)計(jì)對后續(xù)專業(yè)課程學(xué)習(xí)的作用,從而認(rèn)識到學(xué)好C++程序設(shè)計(jì)是“有用”的。②向?qū)W生展示C++語言編寫的“貪吃蛇”、“五子棋”等游戲,并對源程序中部分代碼進(jìn)行修改,演示修改后的效果,鼓勵(lì)學(xué)生在課程的學(xué)習(xí)過程中,根據(jù)所學(xué)內(nèi)容對相應(yīng)源程序進(jìn)行修改,從而理解C++是“有趣”的。③在課程前期,通過提供學(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é)生對C++及面向?qū)ο蟪绦蛟O(shè)計(jì)的理解,在課程教學(xué)過程中,將課程內(nèi)容的組織順序調(diào)整為“基本數(shù)據(jù)類型和表達(dá)式、文件、函數(shù)、面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)、控制結(jié)構(gòu)、數(shù)組、指針、結(jié)構(gòu)體”,即將文件、函數(shù)和面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)內(nèi)容提前。課程進(jìn)行過程中,要求學(xué)生在程序設(shè)計(jì)時(shí)將輸入數(shù)據(jù)首先寫入文件,程序調(diào)試時(shí)直接從文件中讀取數(shù)據(jù);在學(xué)生完成函數(shù)和面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)的學(xué)習(xí)后,后期內(nèi)容均基于面向?qū)ο蟪绦蛟O(shè)計(jì)思想和方法展開,從而將面向?qū)ο蟪绦蛟O(shè)計(jì)貫穿整個(gè)課程的學(xué)習(xí),以強(qiáng)化學(xué)生對面向?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é)過程引入項(xiàng)目驅(qū)動(dòng)的教學(xué)方法[10-11]。引入若干項(xiàng)目供學(xué)生自由選擇,每個(gè)項(xiàng)目采用任務(wù)驅(qū)動(dòng)的教學(xué)方法[12-13]。以學(xué)生管理系統(tǒng)為例,教師把知識點(diǎn)融入到項(xiàng)目的任務(wù)中(見表1)。學(xué)生依次完成各個(gè)獨(dú)立的任務(wù),最終完成整個(gè)項(xiàng)目,從而把教學(xué)方式從“以教為主”轉(zhuǎn)變成“以學(xué)為主”,以充分提高學(xué)生學(xué)習(xí)的積極性和主動(dòng)性。課程教學(xué)過程的組織如圖1所示。(5)營造學(xué)生相互幫助、促進(jìn)和監(jiān)督的學(xué)習(xí)氛圍。本課程的學(xué)生來自全國多個(gè)省份,地區(qū)及個(gè)體差異導(dǎo)致學(xué)生學(xué)習(xí)的積極性、主動(dòng)性和能力都存在較大差異。為了營造學(xué)生相互幫助、促進(jìn)和監(jiān)督的學(xué)習(xí)氛圍,在教學(xué)過程中,把學(xué)生分成若干個(gè)學(xué)習(xí)小組,每組不超過5人。在課程開始時(shí),由學(xué)生自由組合,課程進(jìn)行6周后,通過對學(xué)生學(xué)習(xí)情況的評估,將學(xué)生按學(xué)習(xí)情況從高到低分為A、B、C、D和E共5個(gè)等級,由A等級的學(xué)生從B、C、D和E等級中每個(gè)等級至多選擇一名學(xué)生,重新組成學(xué)習(xí)小組。除期末閉卷考試外,其它各項(xiàng)考核均既考慮小組總體情況,也考慮小組內(nèi)個(gè)體差異,以此對學(xué)習(xí)積極性不高或?qū)W習(xí)困難的學(xué)生進(jìn)行幫助、促進(jìn)和監(jiān)督。

2.2實(shí)驗(yàn)教學(xué)

課程實(shí)驗(yàn)教學(xué)的目的是鞏固學(xué)生對C++程序設(shè)計(jì)理論課程所學(xué)知識的理解。培養(yǎng)學(xué)生的程序設(shè)計(jì)、編寫和調(diào)試能力,是達(dá)到課程教學(xué)目標(biāo)必不可少的組成部分。為了使學(xué)生能夠有效地調(diào)試程序,編寫出有質(zhì)量的程序,實(shí)驗(yàn)教學(xué)過程中采取了以下措施:(1)通過對“C++常見錯(cuò)誤及解決方法”的分析和集成環(huán)境中程序調(diào)試方法的講解,培養(yǎng)學(xué)生識別出錯(cuò)原因和改錯(cuò)的能力。(2)通過增加程序閱讀環(huán)節(jié)和交換調(diào)試,培養(yǎng)學(xué)生程序閱讀和調(diào)試能力。(3)通過制定實(shí)驗(yàn)評分規(guī)則,鼓勵(lì)學(xué)生對同一問題探究多種解決方法,并分析每種方法的時(shí)間效率和空間效率,以提高編程能力和算法效率意識。

3教學(xué)效果

以上教學(xué)方法在2020級“數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)”專業(yè)(共63人)經(jīng)一個(gè)學(xué)期的實(shí)踐,取得了較好的效果。所有小組均完成了項(xiàng)目開發(fā),大部分學(xué)生較好地掌握了C++程序設(shè)計(jì)的基礎(chǔ)知識和程序設(shè)計(jì)方法。課程考核成績相對2019級(共62人)有了一定的提高(成績分布情況見表2)。期末考核平均得為79.14分,90分及以上的學(xué)生所占比例為23.81%,僅有1位學(xué)生不及格(占比1.59%)。從教學(xué)過程和效果來看,課程教學(xué)方案有效的主要原因包括:(1)學(xué)習(xí)基礎(chǔ)的構(gòu)建減少了學(xué)生的畏難情緒。(2)對C++認(rèn)識的加深和項(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é)生對面向?qū)ο蟪绦蛟O(shè)計(jì)思想的理解,并增加了課程的趣味性。(4)小組學(xué)習(xí)的組織方式,有效地幫助和督促了少數(shù)學(xué)習(xí)困難的學(xué)生。

4結(jié)束語

本文首先對南通大學(xué)計(jì)算機(jī)相關(guān)專業(yè)C++程序設(shè)計(jì)課程教學(xué)的現(xiàn)狀進(jìn)行了研究,分析了教學(xué)效果不佳的原因,然后從理論教學(xué)和實(shí)驗(yàn)教學(xué)方面進(jìn)行教學(xué)過程和方法的研究和實(shí)踐。實(shí)踐結(jié)果表明,本文設(shè)計(jì)的教學(xué)方案,能有效地激發(fā)學(xué)生的學(xué)習(xí)積極性和主動(dòng)性,提高了教學(xué)效果,學(xué)生的程序設(shè)計(jì)能力有了一定程度的提高。但仍然有部分學(xué)生沒有達(dá)到課程要求。在以后的教學(xué)中,將通過設(shè)計(jì)不同難度的項(xiàng)目和加強(qiáng)階段性評估來進(jìn)行分層教學(xué),以更好地幫助學(xué)習(xí)困難的學(xué)生。

作者:陳文蘭 單位:南通大學(xué)信息科學(xué)技術(shù)學(xué)院