謝曉艷 楊圣洪 陳娟 李小英 蔡宇輝



摘? 要:程序設(shè)計(jì)基礎(chǔ)課程是高校計(jì)算機(jī)基礎(chǔ)教學(xué)的核心課程,針對(duì)程序設(shè)計(jì)基礎(chǔ)課程在教與學(xué)兩方面存在的問(wèn)題,采用翻轉(zhuǎn)課堂、案例教學(xué)、項(xiàng)目教學(xué)等混合式教學(xué)方式,從教學(xué)方法、教學(xué)內(nèi)容、教學(xué)模式和考評(píng)方式等方面進(jìn)行改革實(shí)踐,以提高教學(xué)質(zhì)量,使學(xué)生在提高程序設(shè)計(jì)能力的同時(shí),培養(yǎng)學(xué)生的計(jì)算思維和解決實(shí)際問(wèn)題的能力,在實(shí)踐中取得了較好的效果。
關(guān)鍵詞:程序設(shè)計(jì);教學(xué)方法;教學(xué)模式
中圖分類(lèi)號(hào):TP311.1-4;G642? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2021)02-0177-04
Abstract:The basic programming course is the core course of computer basic teaching in universities. This paper aims at the problems existing in the learning and learning of the basic programming course. Using flipped classroom,case teaching,project teaching and other blended teaching methods. Make reform and practice from the teaching methods,teaching content,teaching mode and evaluation methods and other aspects,in order to improve the quality of teaching. So that students can not only improve their programming ability,but also cultivate their computational thinking and ability to solve practical problems. Good results have been achieved in practice.
Keywords:programming;teaching method;teaching model
0? 引? 言
程序設(shè)計(jì)基礎(chǔ)課程是高校非計(jì)算機(jī)專(zhuān)業(yè)學(xué)生的公共基礎(chǔ)課程,是計(jì)算機(jī)基礎(chǔ)教學(xué)的核心課程[1]。該課程通過(guò)學(xué)習(xí)一門(mén)計(jì)算機(jī)語(yǔ)言(如C語(yǔ)言),使學(xué)生了解高級(jí)程序設(shè)計(jì)語(yǔ)言的基本結(jié)構(gòu),逐步理解和掌握程序設(shè)計(jì)的思想和方法,具有一定的分析問(wèn)題和利用計(jì)算機(jī)解決問(wèn)題的能力,為以后利用計(jì)算機(jī)解決自身專(zhuān)業(yè)問(wèn)題打下堅(jiān)實(shí)的基礎(chǔ)。
從多年的程序設(shè)計(jì)基礎(chǔ)課程的教學(xué)中,發(fā)現(xiàn)由于程序設(shè)計(jì)語(yǔ)言概念抽象,內(nèi)容繁多,對(duì)于大多數(shù)學(xué)生而言有一定的難度,學(xué)生有畏難情緒,甚至有的學(xué)生從入門(mén)到放棄,“C語(yǔ)言程序設(shè)計(jì)”課程長(zhǎng)期占據(jù)程序設(shè)計(jì)語(yǔ)言類(lèi)課程“掛科”率的榜首;造成此現(xiàn)象的原因,本人認(rèn)為是在這門(mén)課程的教和學(xué)兩方面都存在一些問(wèn)題,影響了這門(mén)課程的教學(xué)效果和學(xué)生計(jì)算思維能力的培養(yǎng)。如何提高學(xué)生的程序設(shè)計(jì)能力,如何提高程序設(shè)計(jì)基礎(chǔ)課程的教學(xué)質(zhì)量,一直是我們?cè)诮虒W(xué)過(guò)程中思考的主要問(wèn)題。
1? 教與學(xué)中的問(wèn)題
1.1? 教方面的問(wèn)題
經(jīng)過(guò)調(diào)查分析,發(fā)現(xiàn)教學(xué)過(guò)程中主要存在以下問(wèn)題:
(1)在壓縮課時(shí)和學(xué)分的大環(huán)境下,程序設(shè)計(jì)基礎(chǔ)課程課時(shí)少,內(nèi)容多,涉及的概念龐雜,知識(shí)點(diǎn)多,教學(xué)任務(wù)繁重。本人所在的高校,程序設(shè)計(jì)基礎(chǔ)課程的理論授課是38學(xué)時(shí),學(xué)生難以在較短的時(shí)間內(nèi)學(xué)好一門(mén)程序設(shè)計(jì)語(yǔ)言。
(2)教材重語(yǔ)法輕實(shí)踐,教材往往是圍繞語(yǔ)法展開(kāi)知識(shí)點(diǎn),書(shū)上的例題也是說(shuō)明語(yǔ)法,導(dǎo)致教學(xué)過(guò)程過(guò)分強(qiáng)調(diào)語(yǔ)法,糾纏于一些小細(xì)節(jié),忽略了學(xué)生邏輯思維能力和計(jì)算思維的培養(yǎng)[2]。
(3)評(píng)價(jià)手段單一。由于課程成績(jī)由平時(shí)成績(jī)和考試成績(jī)綜合評(píng)定,期中平時(shí)成績(jī)占50%左右;考試題型不外乎選擇題、填空題、程序閱讀題、編程題等,只要掌握基本的語(yǔ)法,即使不會(huì)編程的學(xué)生也能通過(guò)考試,對(duì)于那些勤于思考,編程能力強(qiáng)的學(xué)生沒(méi)有起到激勵(lì)作用。
1.2? 學(xué)方面的問(wèn)題
學(xué)生在學(xué)習(xí)這門(mén)課程的過(guò)程中主要存在以下幾個(gè)方面的問(wèn)題:
(1)由于本課程是高校非計(jì)算機(jī)專(zhuān)業(yè)開(kāi)設(shè)的一門(mén)公共基礎(chǔ)課程,學(xué)生對(duì)課程的重要性認(rèn)識(shí)不足,重視程度不夠,學(xué)習(xí)目的不明確,學(xué)習(xí)動(dòng)力不足。
(2)受地域的影響,學(xué)生的計(jì)算機(jī)基礎(chǔ)參差不齊,差異很大,有些學(xué)生在中學(xué)就開(kāi)設(shè)了計(jì)算機(jī)課程,有一定的編程基礎(chǔ),但有些偏遠(yuǎn)地區(qū)和農(nóng)村的學(xué)生甚至沒(méi)接觸過(guò)電腦。
(3)學(xué)習(xí)主動(dòng)性不夠,缺乏刻苦鉆研的精神。現(xiàn)在學(xué)生過(guò)分依賴(lài)手機(jī),不愛(ài)動(dòng)腦筋,很多問(wèn)題似懂非懂,作業(yè)敷衍應(yīng)付,沒(méi)有深入理解。
2? 教學(xué)改革與實(shí)踐
針對(duì)以上問(wèn)題,結(jié)合本人多年的程序設(shè)計(jì)基礎(chǔ)課程中積累的經(jīng)驗(yàn),在教學(xué)過(guò)程中進(jìn)行了一些有效的嘗試。
2.1? 明確學(xué)習(xí)目標(biāo)
在第一堂課首先就告訴學(xué)生為什么要學(xué)習(xí)程序設(shè)計(jì)(Why),通過(guò)學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言,主要培養(yǎng)學(xué)生的邏輯思維、計(jì)算思維和使用計(jì)算機(jī)解決實(shí)際問(wèn)題的能力。
然后,告訴學(xué)生如何學(xué)習(xí)程序設(shè)計(jì)(How),C語(yǔ)言是實(shí)踐性非常強(qiáng)的一門(mén)課程,一定要通過(guò)自己多上機(jī),多寫(xiě)代碼,多實(shí)踐,才能提高自己的編程能力,學(xué)好這門(mén)高級(jí)語(yǔ)言。
再次通過(guò)幾個(gè)簡(jiǎn)單的C語(yǔ)言程序,使學(xué)生了解C語(yǔ)言程序的基本結(jié)構(gòu)(What),快速入門(mén),提高學(xué)習(xí)效率。
2.2? 合理組織和優(yōu)化教學(xué)內(nèi)容
C語(yǔ)言知識(shí)點(diǎn)繁多,有嚴(yán)格的語(yǔ)法規(guī)則,并且各知識(shí)點(diǎn)之間相對(duì)獨(dú)立,學(xué)生難以建立系統(tǒng)的、全局的概念[3]。因此,在教學(xué)中,我們按照學(xué)生的認(rèn)知規(guī)律,精心設(shè)計(jì)教學(xué)內(nèi)容,在已有知識(shí)基礎(chǔ)上拓展新的知識(shí)的同時(shí),關(guān)注各知識(shí)點(diǎn)之間的聯(lián)系,使學(xué)生建立系統(tǒng)的、全局的知識(shí)架構(gòu)。
譬如,C語(yǔ)言有多種數(shù)據(jù)類(lèi)型,除了基本數(shù)據(jù)類(lèi)型外,還包括構(gòu)造數(shù)據(jù)類(lèi)型、指針數(shù)據(jù)類(lèi)型,學(xué)生理解有一定的難度。在教學(xué)中,在講解基本數(shù)據(jù)類(lèi)型時(shí),先從日常生活中具體的事例,比如班上學(xué)生的人數(shù),姓名和成績(jī)等信息如何表示,引出在計(jì)算機(jī)中,一切信息都是以數(shù)據(jù)的方式進(jìn)行處理。介紹數(shù)據(jù)在計(jì)算機(jī)中的存儲(chǔ)方式,進(jìn)而講到C語(yǔ)言基本的數(shù)據(jù)類(lèi)型包括整形、字符型、浮點(diǎn)型和空類(lèi)型,在程序中要定義正確的數(shù)據(jù)類(lèi)型,因?yàn)橐坏┒x了數(shù)據(jù)的數(shù)據(jù)類(lèi)型,就決定了該類(lèi)數(shù)據(jù)在內(nèi)存中的存放長(zhǎng)度、數(shù)據(jù)可執(zhí)行的操作以及數(shù)據(jù)的取值范圍。
在此基礎(chǔ)上,介紹基本數(shù)據(jù)類(lèi)型的局限性,如果只有基本數(shù)據(jù)類(lèi)型,程序?qū)⒆兊梅浅?fù)雜。當(dāng)要對(duì)大量相同類(lèi)型數(shù)據(jù)操作時(shí),比如,一個(gè)班有70個(gè)學(xué)生,求某科目考試的平均成績(jī),并輸出所有大于平均成績(jī)的學(xué)生成績(jī),就要使用數(shù)組。適時(shí)引入數(shù)組的概念,數(shù)組是具有相同數(shù)據(jù)類(lèi)型的變量的集合,類(lèi)似的問(wèn)題,使用數(shù)組來(lái)解決,程序?qū)⑹趾?jiǎn)潔。但是,有些問(wèn)題數(shù)組也不能解決,有時(shí)我們需要將一些屬于不同類(lèi)型的數(shù)據(jù)組合成一個(gè)整體來(lái)處理,例如:建立一個(gè)學(xué)生信息系統(tǒng),對(duì)每一個(gè)學(xué)生至少需要以下一些信息:學(xué)號(hào)、姓名、性別、年齡、成績(jī)等,這樣的問(wèn)題就要用結(jié)構(gòu)體。像這種不同類(lèi)型但相互之間有關(guān)聯(lián)的數(shù)據(jù)集合定義為結(jié)構(gòu)體類(lèi)型,程序可讀性好,運(yùn)行效率高。通過(guò)引入實(shí)例,學(xué)生更容易接受,加深了理解,學(xué)習(xí)的積極性提高了。
2.3? 案例驅(qū)動(dòng)
在課堂教學(xué)方法中,采用案例引入的方法,結(jié)合實(shí)際案例組織和實(shí)施教學(xué),將程序設(shè)計(jì)的方法貫穿到每一個(gè)知識(shí)點(diǎn)中。選用經(jīng)典案例,使用不同的算法來(lái)實(shí)現(xiàn),逐步深入,拓展學(xué)生的思路,打開(kāi)思維空間,培養(yǎng)學(xué)生的計(jì)算思維能力。
譬如,以求斐波那契數(shù)列前20項(xiàng)為例,在學(xué)習(xí)循環(huán)結(jié)構(gòu)時(shí),根據(jù)斐波那契數(shù)列的特點(diǎn),循環(huán)的處理過(guò)程是:將數(shù)列的第一項(xiàng)和第二項(xiàng)賦值為1,f1=1,f2=1,則第三項(xiàng)f=f1+f2;然后整體平移,f1=f2,f2=f,那么第四項(xiàng)f=f1+f2,以此類(lèi)推,可求到數(shù)列各項(xiàng)的值。在學(xué)習(xí)函數(shù)時(shí),對(duì)斐波那契數(shù)列遞歸函數(shù)的處理過(guò)程是:只有當(dāng)f(1)=1和f(2)=1時(shí)函數(shù)返回值為1,函數(shù)結(jié)束;其他情況一直調(diào)用函數(shù)本身F(n)= F(n-1)+F(n-2),如圖1所示。
在學(xué)習(xí)數(shù)組時(shí),由于數(shù)組元素在內(nèi)存是連續(xù)存放的,使用數(shù)組來(lái)求斐波那契數(shù)列前20項(xiàng),程序更加簡(jiǎn)潔,可設(shè)數(shù)組的大小為f[20],由于數(shù)組的下標(biāo)從0開(kāi)始,將第一項(xiàng)和第二項(xiàng)賦值為1,f[0]=1,f[1]=1,從第三項(xiàng)開(kāi)始,每一項(xiàng)都是前2項(xiàng)的和,使用循環(huán)結(jié)構(gòu)即可求前20項(xiàng)的值,循環(huán)變量從2開(kāi)始,直到<20,如圖2所示。
2.4? 改革教學(xué)模式
采用傳統(tǒng)的教師主導(dǎo)課堂,學(xué)生被動(dòng)聽(tīng)課的教學(xué)方式,學(xué)生處于被動(dòng)接受狀態(tài),難以調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性。在程序設(shè)計(jì)基礎(chǔ)課程的教學(xué)中,我們采用以學(xué)生為主體,以教師為主導(dǎo)的方式,通過(guò)課堂互動(dòng)等多種形式,使學(xué)生融入課堂,激發(fā)學(xué)生的學(xué)習(xí)興趣,使他們更加積極主動(dòng)地學(xué)習(xí),挖掘他們的潛能。
以泛雅網(wǎng)絡(luò)教學(xué)平臺(tái)和學(xué)校課程中心為依托,根據(jù)大數(shù)據(jù)技術(shù)對(duì)教學(xué)過(guò)程實(shí)時(shí)監(jiān)控得到的數(shù)據(jù),了解學(xué)生在學(xué)習(xí)過(guò)程中存在的問(wèn)題和疑惑,教師可根據(jù)反饋的信息及時(shí)調(diào)整教學(xué)進(jìn)度和教學(xué)內(nèi)容,提高教學(xué)效果;同時(shí),在課堂中可以更有效地進(jìn)行互動(dòng),打開(kāi)他們的思維空間,提高他們解決實(shí)際問(wèn)題的能力。泛雅網(wǎng)絡(luò)教學(xué)平臺(tái)課程界面如圖3所示。
教學(xué)中,運(yùn)用翻轉(zhuǎn)課堂、案例教學(xué)、項(xiàng)目教學(xué)等混合教學(xué)方式,在課前,教師精心設(shè)計(jì)教學(xué)內(nèi)容,學(xué)生按照學(xué)習(xí)任務(wù)單,觀看微課視頻,閱讀教材、資料以及課件[4],如圖4所示。例如:在講授C語(yǔ)言的基本程序語(yǔ)句時(shí),由于C語(yǔ)言的語(yǔ)法規(guī)則繁雜,在有限的課時(shí)內(nèi),難以面面俱到,因此,采用翻轉(zhuǎn)課堂的教學(xué)模式,學(xué)生按照老師提供的導(dǎo)學(xué)案,看微課視頻,并做相應(yīng)的練習(xí),進(jìn)行自主學(xué)習(xí);在課堂上,老師除了講解本節(jié)的重點(diǎn)和難點(diǎn)問(wèn)題外,還將講解典型案例和綜合性案例,并編程實(shí)現(xiàn),如圖5所示。由于課前,學(xué)生通過(guò)教學(xué)視頻了解了課程相關(guān)的知識(shí)點(diǎn),因此,可以有更多的時(shí)間進(jìn)行課堂討論,改變了學(xué)生被動(dòng)學(xué)的狀態(tài),能更好地融入課堂,便于教師引導(dǎo)學(xué)生深入思考,培養(yǎng)學(xué)生的邏輯思維能力和發(fā)散性思維,更好地學(xué)習(xí)知識(shí)和內(nèi)化知識(shí);課后,完成實(shí)驗(yàn)作業(yè),鞏固提高。學(xué)生通過(guò)這些環(huán)節(jié)掌握了利用計(jì)算機(jī)求解問(wèn)題的思路和方法,促進(jìn)了計(jì)算思維的培養(yǎng),提高了學(xué)生的編程能力和計(jì)算機(jī)應(yīng)用開(kāi)發(fā)能力。
2.5? 調(diào)整考核方式
完善考核方式,使之更合理,強(qiáng)調(diào)過(guò)程化考核[5]。學(xué)生的成績(jī)由考勤、課堂表現(xiàn)、實(shí)驗(yàn)作業(yè)、單元測(cè)試、期中考試、期末考試等組成,取加權(quán)平均值;所有的測(cè)試全部采用機(jī)試,隨機(jī)組題。采用這種方式綜合評(píng)定學(xué)生的成績(jī),使學(xué)生感到了壓力,每一節(jié)課、每次作業(yè)都認(rèn)真對(duì)待,一刻都不能松懈,避免了平時(shí)不認(rèn)真,考試前一個(gè)月臨時(shí)抱佛腳的現(xiàn)象,使學(xué)生的學(xué)習(xí)更加積極、主動(dòng)。
綜合成績(jī)由平時(shí)成績(jī)一、平時(shí)成績(jī)二、期中考試和期末考試組成。其中:平時(shí)成績(jī)一占總成績(jī)的20%、平時(shí)成績(jī)二占20%、期中考試占20%、期末考試占40%。平時(shí)成績(jī)一包括考勤+課堂表現(xiàn)+課程中心作業(yè)+機(jī)考系統(tǒng)作業(yè),平時(shí)成績(jī)二包括各單元測(cè)試成績(jī);同時(shí),鼓勵(lì)學(xué)生參加CCPC、ACM等程序設(shè)計(jì)競(jìng)賽,并在平時(shí)成績(jī)中進(jìn)行加分,成績(jī)組成如表1所示。
采用新的考核系統(tǒng),考核內(nèi)容覆蓋面更廣,對(duì)學(xué)生提出了更高的要求,更有利于激發(fā)學(xué)生的學(xué)習(xí)興趣和學(xué)習(xí)積極性。
3? 結(jié)? 論
為提高程序設(shè)計(jì)基礎(chǔ)課程的教學(xué)效果,我們從教學(xué)方法、教學(xué)內(nèi)容、教學(xué)模式和考評(píng)方式等全方位進(jìn)行改革實(shí)踐,學(xué)生的學(xué)習(xí)積極性提高了,邏輯思維和計(jì)算思維能力增強(qiáng)了,后續(xù)我們將學(xué)習(xí)更先進(jìn)的教學(xué)理念,提升教學(xué)實(shí)效。
參考文獻(xiàn):
[1] 文萬(wàn)志,程學(xué)云,陳文蘭,等.面向OBE的程序設(shè)計(jì)基礎(chǔ)課程的計(jì)算思維培養(yǎng) [J].計(jì)算機(jī)教育,2020(6):85-89.
[2] 丁海燕.計(jì)算機(jī)程序設(shè)計(jì)課程中計(jì)算思維的培養(yǎng) [J].實(shí)驗(yàn)技術(shù)與管理,2015,32(12):16-18+21.
[3] 彭立宏,肖曉強(qiáng),周麗濤.“計(jì)算機(jī)程序設(shè)計(jì)”課程教學(xué)研究與實(shí)踐 [J].計(jì)算機(jī)工程與科學(xué),2014,36(S1):39-42.
[4] 張泳,顏暉,張高燕.以應(yīng)用能力培養(yǎng)為核心的程序設(shè)計(jì)課程教學(xué)全面重構(gòu) [J].計(jì)算機(jī)教育,2021(1):70-74.
[5] 張廣斌,張潤(rùn)梅,劉瑾,等.混合式教學(xué)在程序設(shè)計(jì)基礎(chǔ)課程中的應(yīng)用 [J].軟件導(dǎo)刊,2019,18(11):176-179.
[6] 項(xiàng)響琴.線(xiàn)上線(xiàn)下深度融合,打造程序設(shè)計(jì)“金課” [J].電腦知識(shí)與技術(shù),2020,16(11):180-181+191.
[7] 李薇,黑新宏,王磊.C語(yǔ)言程序設(shè)計(jì)課程的金課建設(shè)實(shí)踐 [J].計(jì)算機(jī)教育,2020(6):142-146.
作者簡(jiǎn)介:謝曉艷(1966—),女,漢族,湖南長(zhǎng)沙人,副教授,碩士,研究方向:計(jì)算機(jī)應(yīng)用。