孫榮俠
摘要:程序設(shè)計(jì)類課程作為高職計(jì)算機(jī)類專業(yè)的一門專業(yè)課,一直是學(xué)生學(xué)習(xí)的難點(diǎn)課程。本來(lái)作者從一名程序設(shè)計(jì)類教師的角度,根據(jù)自己的教學(xué)經(jīng)驗(yàn),指出了高職學(xué)生在學(xué)習(xí)編程類課程存在的問(wèn)題,以及自己在教學(xué)中是如何提高學(xué)習(xí)編程的興趣,提出來(lái)幾點(diǎn)教學(xué)心得。
關(guān)鍵詞:編程;由難到易;由易到難;真實(shí)案例;教學(xué)流程
在計(jì)算機(jī)相關(guān)專業(yè)中,程序設(shè)計(jì)類課程作為專業(yè)課之一一直是學(xué)生學(xué)習(xí)的難點(diǎn)課程。高等職業(yè)院校學(xué)生大部分學(xué)習(xí)基礎(chǔ)較差,學(xué)習(xí)思維不很積極主動(dòng),而程序設(shè)計(jì)類課程比較抽象,其思想與我們?nèi)粘L幚韱?wèn)題思路有很大出入,需要學(xué)生建立一定的編程思維,掌握編程技巧和方法,要學(xué)好這類課程對(duì)高職學(xué)生來(lái)說(shuō)有一定的難度和挑戰(zhàn),很多學(xué)生很難駕馭這門課程。所以在平時(shí)的授課中,程序設(shè)計(jì)類課程是學(xué)生學(xué)習(xí)的老大難課程,也是老師教授課程的心頭大患。
一、學(xué)習(xí)過(guò)程存在問(wèn)題
1、學(xué)習(xí)狀態(tài)偏差
目前高職群體是90后、00后, 這個(gè)時(shí)代的學(xué)生家境較好, 從小到大受到物質(zhì)文化的影響, 再加上程序設(shè)計(jì)類課程本身抽象不好理解,沒有實(shí)際的作品可以呈現(xiàn),導(dǎo)致學(xué)生失去學(xué)習(xí)興趣,學(xué)生學(xué)習(xí)狀態(tài)是不肯動(dòng)腦,不愿琢磨,拒絕聽課,對(duì)這類課程要求及格萬(wàn)歲,學(xué)習(xí)精力嚴(yán)重投入不足, 考試考試考什么, 學(xué)生就學(xué)什么, 考試不給范圍就不會(huì)考,甚至范圍必須具體,有的學(xué)生甚至考前背誦程序代碼,應(yīng)付考試。
2、程序設(shè)計(jì)類課程特點(diǎn)及內(nèi)容編排
程序設(shè)計(jì)類課程學(xué)習(xí)過(guò)程是由基本概念基本語(yǔ)法到到語(yǔ)句學(xué)習(xí)再到最后編制程序的學(xué)習(xí),在前面很長(zhǎng)一段時(shí)間的學(xué)習(xí)比較枯燥,沒有任何作品呈現(xiàn),只是一些簡(jiǎn)單的程序用來(lái)強(qiáng)化基礎(chǔ)的概念與語(yǔ)法,一部分同學(xué)覺得枯燥乏味沒有意義會(huì)會(huì)中途放棄。但是程序設(shè)計(jì)類課程學(xué)習(xí)一般是越往后學(xué)習(xí)越理解前面語(yǔ)法的含義,后面的知識(shí)學(xué)習(xí)是對(duì)前面學(xué)習(xí)內(nèi)容的綜合應(yīng)用,所以只要能堅(jiān)持學(xué)習(xí),最后會(huì)有收獲的。
3、興趣不夠
有的學(xué)生畏難情緒重,對(duì)于程序設(shè)計(jì)這類難度大的課程聽不懂就望而卻步,導(dǎo)致上課不認(rèn)真聽講,課后也缺乏重新學(xué)習(xí)研究的過(guò)程,編程時(shí)直接輸入現(xiàn)成的代碼,缺乏自己動(dòng)腦自己試著編程的過(guò)程,把好好的編程課上成了打字課。如果缺少自己動(dòng)腦編程的過(guò)程,編程能力是很難提高的。只有在不斷編程不斷調(diào)試的過(guò)程中通過(guò)不斷修改程序最后得到正確的結(jié)果才能建立起編程的思維,掌握編程技巧和方法,提高編程能力,最終學(xué)好程序設(shè)計(jì)類課程。
二、改進(jìn)方法
針對(duì)學(xué)生的這些問(wèn)題,為了激發(fā)學(xué)生的程序設(shè)計(jì)類課程的學(xué)習(xí)興趣和編程能力,通過(guò)不斷摸索和總結(jié),以我講授《ASP.NET》為例,在多年課程教學(xué)總結(jié)出一些心得和方法,在提高高職學(xué)生學(xué)習(xí)編程興趣方面效果良好。
1、教學(xué)流程的控制
在平時(shí)的授課中,除了在教學(xué)方法上不斷改進(jìn),采用項(xiàng)目教學(xué)法,案例教學(xué)法,分組討論法等等,教學(xué)手段采用教學(xué)做一體化,這些方面改善學(xué)生學(xué)習(xí)積極性和保證課堂效果外,在授課過(guò)程中,教學(xué)內(nèi)容的講授流程安排也可以直接影響學(xué)生的學(xué)生積極性,在編程教學(xué)過(guò)程中(以下以《ASP.NET》課程為例)學(xué)生如何做什么時(shí)候做,老師如何講什么時(shí)候講,給學(xué)生輔導(dǎo)時(shí)具體輔導(dǎo)到什么程度,如果開啟學(xué)生自己思維鼓勵(lì)學(xué)生自己編程調(diào)試,這個(gè)過(guò)程我經(jīng)過(guò)設(shè)計(jì),是由難到易的過(guò)程。
1)第一步,先運(yùn)行程序執(zhí)行結(jié)果,讓學(xué)生熟悉程序完成功能以及執(zhí)行結(jié)果。
2)第二步,根據(jù)執(zhí)行結(jié)果講解前臺(tái)頁(yè)面設(shè)計(jì)及其包含控件和其他元素,然后讓學(xué)生完成這部分設(shè)計(jì)即頁(yè)面創(chuàng)建。
3)第三步,結(jié)合程序設(shè)計(jì)結(jié)果,把執(zhí)行結(jié)果分成不同功能塊,但要保證每個(gè)功能塊是一個(gè)相對(duì)完整的功能,然后啟發(fā)學(xué)生完成每個(gè)功能塊的編程,在這個(gè)過(guò)程如果遇到有集中的問(wèn)題和一些需要準(zhǔn)備的工作,我會(huì)集中講解,涉及到一些復(fù)雜的算法我會(huì)給學(xué)生分析解決問(wèn)題過(guò)程,但是代碼實(shí)現(xiàn)是讓學(xué)生自己去完成,細(xì)分后的功能難度降低了很多,大部分學(xué)生都躍躍欲試,后面的結(jié)果證明很多學(xué)生都能寫出70%到100%的代碼編寫,在這個(gè)過(guò)程中鼓勵(lì)學(xué)生可以討論,可以一起調(diào)試。當(dāng)學(xué)生調(diào)試出一個(gè)功能模塊后,后面的功能模塊自己就會(huì)去嘗試去編,當(dāng)他們獨(dú)立完成后特別興奮,感覺有成就感,而且對(duì)編程有了新的認(rèn)識(shí),以前畏懼如虎的編程課其實(shí)也很容易學(xué),樹立了學(xué)生的編程學(xué)習(xí)自信心和學(xué)習(xí)編程課的興趣。
2、真實(shí)案例選擇與設(shè)計(jì)講解過(guò)程
在授課過(guò)程中我發(fā)現(xiàn)案例的選擇直接影響學(xué)生對(duì)本次編程的興趣,所以我就盡可能選擇跟我們生活息息相關(guān)的一些案例,讓他們認(rèn)識(shí)到此次編程可以解決實(shí)際問(wèn)題,進(jìn)而激發(fā)學(xué)習(xí)的興趣,然后再引導(dǎo)學(xué)生編程實(shí)現(xiàn)。然后在編程講解過(guò)程中逐漸加大編程難度,引導(dǎo)學(xué)生自己編程實(shí)現(xiàn)功能,這個(gè)過(guò)程是由易到難的過(guò)程。以下是我講課中選擇的幾個(gè)典型案例。
案例一:登陸功能設(shè)計(jì)
解析:登陸是最常用的網(wǎng)上功能,學(xué)生經(jīng)常上網(wǎng)會(huì)進(jìn)行各種登陸,與現(xiàn)實(shí)生活息息相關(guān),要自己去編寫實(shí)現(xiàn)肯定有興趣。
先讓學(xué)生完成最簡(jiǎn)單的登陸,不限制任何條件,只要實(shí)現(xiàn)登陸功能。然后加深難度,限制登陸次數(shù),讓學(xué)生自己嘗試完成,互相討論,找到原因后思考新的解決方案,最后修改直到成功,總有一部分同學(xué)最后總能圓滿完成。在這個(gè)過(guò)程中鍛煉了學(xué)生分析問(wèn)題解決問(wèn)題的能力,培養(yǎng)了學(xué)生的編程能力,激發(fā)了學(xué)生的學(xué)習(xí)興趣,效果非常良好。根據(jù)班級(jí)學(xué)習(xí)情況,我還會(huì)進(jìn)一步增加難度,讓他們給登陸進(jìn)一步加上驗(yàn)證碼功能,其實(shí)部分思維活躍的同學(xué)會(huì)提前提問(wèn)驗(yàn)證碼的做法。
案例二:福利彩票雙色球號(hào)碼的生成。
解析:福彩雙色球6+1先產(chǎn)生6個(gè)籃球,再產(chǎn)生1個(gè)紅球,很多學(xué)生的父輩或認(rèn)識(shí)的朋友都會(huì)參與雙色球彩票游戲,學(xué)生比較熟悉,看到這個(gè)案例也很興奮,摩拳擦掌,躍躍欲試。
這個(gè)案例解決方案有算法設(shè)計(jì),我會(huì)提前講解算法,讓學(xué)生自己寫代碼,最后我欣喜的發(fā)現(xiàn),思維活躍的學(xué)生不僅能圓滿完成,而且大家寫出來(lái)的代碼實(shí)現(xiàn)并不盡相同,但都能實(shí)現(xiàn)。在這個(gè)過(guò)程中學(xué)生有了編程的成就感,同時(shí)認(rèn)識(shí)到其實(shí)編程并沒有那么難,增強(qiáng)了他們學(xué)習(xí)編程的信心,提高了他們學(xué)習(xí)編程的興趣。
案例三:超市收銀終端系統(tǒng)的完成。
解析:超市購(gòu)物是我們生活中不可或缺的一部分, 讓學(xué)生根據(jù)超市收銀完成操作,自己編程模擬收銀終端編寫程序,完成收銀過(guò)程。
通過(guò)給學(xué)生分化收銀過(guò)程,分析把收銀過(guò)程這個(gè)實(shí)際問(wèn)題如何轉(zhuǎn)化為計(jì)算機(jī)問(wèn)題,同時(shí)引導(dǎo)他們逐步實(shí)現(xiàn)收銀過(guò)程,最后大部分學(xué)生基本可以完成代碼的編制。
三、結(jié)論
程序設(shè)計(jì)課程比較抽象,解決問(wèn)題思路不同于常規(guī),對(duì)于大部分學(xué)生而言,學(xué)好編程課是一件難事,對(duì)高職學(xué)生而言同樣如此甚至更難,作為一名高職程序設(shè)計(jì)類課程任課老師,要把這類課上好也是一種挑戰(zhàn)。本文站在老師角度從兩個(gè)方面總結(jié)了如何提高高職學(xué)生學(xué)習(xí)編程的興趣,分別是分化程序功能,降低難度,逐步設(shè)計(jì),讓學(xué)生自己能完成代碼編寫,這是一個(gè)由難到易的過(guò)程;選擇真實(shí)案例,逐步提高難度,這是一個(gè)由易到難的過(guò)程。不同案例采用不同方法,最終達(dá)到增強(qiáng)學(xué)生學(xué)習(xí)編程的信心,提高學(xué)生學(xué)習(xí)編程的興趣。