斯仁圖雅
(錫林郭勒職業(yè)學(xué)院,內(nèi)蒙古 錫林浩特 026000)
當(dāng)前社會逐步跨入互聯(lián)網(wǎng)時代,計算機的應(yīng)用非常廣泛,很多行業(yè)也都離不開計算機以及編程程序,高校計算機基礎(chǔ)教學(xué)隨之發(fā)展,程序設(shè)計課程不僅是在培養(yǎng)學(xué)生的邏輯思維能力,更是在提高學(xué)生對計算機編程的認(rèn)知,提升學(xué)生的綜合計算機素養(yǎng),但當(dāng)前計算機程序設(shè)計課程的教學(xué)仍存在一定問題,從下面幾個方面逐一展開分析,并給出幾點相應(yīng)建議。
要讓課程質(zhì)量得到提升,需讓學(xué)生全面認(rèn)識這一部分課程內(nèi)容的重要性,如果學(xué)生對程序設(shè)計課程的重視程度不夠,認(rèn)為程序設(shè)計課程更偏向于計算機科學(xué)與技術(shù)學(xué)科的基本知識與理論多一些,總體太過基礎(chǔ),就會出現(xiàn)不夠重視,認(rèn)為考試時突擊記憶理論即可[1-2],這樣的問題。在學(xué)習(xí)時對程序設(shè)計課程的知識死記硬背,沒有融會貫通,就很難發(fā)揮作用,要知道程序設(shè)計課程雖然是基礎(chǔ),但包含的課程內(nèi)容卻比較多,著重培養(yǎng)學(xué)生的程序性思維,只有學(xué)生養(yǎng)成良好的編程思維,學(xué)生在后續(xù)的學(xué)習(xí)才會更加輕松,如果學(xué)生認(rèn)知不到位,在后續(xù)的學(xué)習(xí)就會是知識的單純積累,無法對知識靈活應(yīng)用。
需明確,學(xué)生在發(fā)展的過程中是存在個體差異的,在教學(xué)的過程中,應(yīng)該充分尊重學(xué)生存在的差異。一部分學(xué)生對計算機以及程序性思維已經(jīng)有了深入了解,程序設(shè)計課程教學(xué)一點就通,再三講授就會讓學(xué)生覺得枯燥,而對于沒有計算機或編程思維基礎(chǔ)的學(xué)生,在初接觸抽象化的編程設(shè)計課程時,又會出現(xiàn)學(xué)習(xí)困難的現(xiàn)象,長而久之就會形成抵觸情緒,嚴(yán)重者還會產(chǎn)生自我懷疑,使得學(xué)習(xí)越發(fā)困難。對此教師需要積極解決這一問題,在課堂上可以開展分層教學(xué),針對不同層次的學(xué)生設(shè)定不同的目標(biāo),不能以同樣一套目標(biāo)要求所有學(xué)生。以更好的顧及所有學(xué)生的發(fā)展水平。
程序設(shè)計課程沒有捷徑可走,只有多看書、多練習(xí),把所有結(jié)構(gòu)和類型以及用法都牢記于心,學(xué)生在學(xué)在練的過程中,編程性思維就會水到渠成的養(yǎng)成,而沒有足夠的代碼量,很多程序的概念是很難體會到的[5-6],總而言之,計算機程序設(shè)計課程要從基礎(chǔ)抓起,程序設(shè)計是需要持續(xù)不斷去學(xué)去練的課程,要求學(xué)生要有數(shù)千行的代碼量,基礎(chǔ)知識的認(rèn)知與使用穩(wěn)固了,才能更好地開展后續(xù)的學(xué)習(xí)。
上文提到教師在思想上存在一定誤差,認(rèn)為計算機程序設(shè)計是基礎(chǔ)課程,偏向理論所以重視程度不夠,但事實上,如果缺少基礎(chǔ)的鋪墊,學(xué)生難以形成有效的編程思維,在今后的學(xué)習(xí)中會產(chǎn)生不小的影響,如果學(xué)生只是一味地生搬硬套、沒有形成自己的思考與記憶,那么學(xué)了等于白學(xué)。另外,在眾多的基礎(chǔ)性知識中,結(jié)構(gòu)與類型是一大類,算法是一大類,要著重計算機算法的重要性,沒有算法內(nèi)涵的程序設(shè)計是膚淺的,在基礎(chǔ)認(rèn)知還不錯的情況下,教師應(yīng)將算法教學(xué)作為自己的主要部分,講究主次協(xié)調(diào),突出重點,這樣學(xué)生也能隨教師的引導(dǎo)重視起來。
另外,教師要重視計算機系學(xué)生與非計算機系學(xué)生的區(qū)別,對于非計算機系的學(xué)生,適可而止就好,不宜造成過多壓力,個別突出有學(xué)習(xí)意向的學(xué)生,可以深入教導(dǎo),對于計算機系的學(xué)生,一定要讓他們知道程序的本質(zhì)是什么,任何一個細(xì)節(jié)處都不容忽略。
上文提到計算機程序設(shè)計課程相對零散,教學(xué)時間不足,因此教師才在課堂上忙著給學(xué)生講授教學(xué)進度內(nèi)容,導(dǎo)致學(xué)生自主思考時間不足,學(xué)生聽得昏昏入睡,根本難以理解教學(xué)內(nèi)容,急促的教育時間很容易束縛學(xué)生思維的發(fā)散,為了應(yīng)對這種情形,教師有必要運用“互聯(lián)網(wǎng)+”思維,將學(xué)生的課外實踐利用起來,讓教學(xué)時間不至于太急促,而且也會將零散的教學(xué)時間調(diào)整成為一個整體,這樣學(xué)習(xí)效果會更好,簡單來說既是:
3.3.1 課前引導(dǎo)學(xué)生自學(xué)
在互聯(lián)網(wǎng)上有許多的教學(xué)資源,不管是學(xué)生自主尋找的教學(xué)資源還是教師推薦的教學(xué)資源,學(xué)生在拿到教育資源后,積極展開自學(xué),利用大學(xué)生較為豐富的課外實踐,對程序設(shè)計課程進行自主思考與學(xué)習(xí),形成一定理解,在課堂上才能跟得上教師的教學(xué)內(nèi)容;
3.3.2 課堂上合理規(guī)劃
優(yōu)秀的課前自學(xué),能讓學(xué)生先一步接觸教學(xué)內(nèi)容,教師的程序設(shè)計課程的教學(xué)就會相對輕松一些,就可以改善以往平鋪直敘的教學(xué)方式,用更輕松更有引導(dǎo)性的口吻吸引學(xué)生的目光,重視培養(yǎng)學(xué)生的探索心理,還會給學(xué)生留下不少自主思考的時間,學(xué)生的思維發(fā)散會更為徹底,更有利于教師了解學(xué)生的實時學(xué)習(xí)進度,加強交流力度,讓學(xué)生學(xué)習(xí)過程中的問題與困惑早發(fā)現(xiàn),早解決。
3.3.3 課外延伸教學(xué)
在互聯(lián)網(wǎng)如此普及的今天,如果只把教學(xué)放在課堂上可就大錯特錯了,在課外實踐,教師有必要培養(yǎng)學(xué)生的自學(xué)意識,以及去各類教學(xué)論壇上獲取信息的能力,互聯(lián)網(wǎng)上有許多程序員經(jīng)常關(guān)注和使用的網(wǎng)站與論壇,例如CSDN技術(shù)社區(qū)、碼農(nóng)網(wǎng)、果殼網(wǎng)等,學(xué)生能在里面學(xué)習(xí)到不少書本上教不到的細(xì)節(jié),學(xué)生也可以將自己的問題與困惑提問出來,對學(xué)習(xí)會有極大幫助,同時,現(xiàn)代通訊類軟件非常發(fā)達(dá),教師利用微信等軟件建群,讓學(xué)生之間、學(xué)生與教師之間的交互變得更加密切和頻繁,減少空間、時間、以及方式上帶來的交流限制,學(xué)生的困惑可以立刻被解決,在學(xué)習(xí)的過程中,多一位同行者和引導(dǎo)者,會讓學(xué)生的學(xué)習(xí)輕松很多,因此,培養(yǎng)學(xué)生自學(xué)能力非常有必要。
3.3.4 科學(xué)合理的分層教學(xué)
上文提到學(xué)生的基礎(chǔ)能力不同,導(dǎo)致兩極分化較為嚴(yán)重,懂的人覺得程序設(shè)計課程太枯燥,反復(fù)在講同一類問題,不懂的人卻覺得程序設(shè)計課程太難入門,確實,程序設(shè)計課程中有許多名詞和概念對初次接觸程序設(shè)計的學(xué)生難以理解,因此,就需要教師展開分層教學(xué)(如圖1),把教學(xué)內(nèi)容分層,還要把學(xué)生對象群體分層。教學(xué)內(nèi)容分層應(yīng)該遵循先易后難,以點帶面的教學(xué)原則,合理安排教學(xué)內(nèi)容,先教授各個概念,再綜合歸納,先把什么是硬件什么是軟件講清楚,再談類型與框架,最后說算法,“不以事小而不教”,在教導(dǎo)一個程序的時候,要把幾種不同的算法拿出來反復(fù)比較,幫助學(xué)生尋找其中的差異,有助于提高學(xué)生對算法的認(rèn)識和思維的廣度[9-10]。
對學(xué)生進行分層,顧名思義就是從學(xué)生的基礎(chǔ)水平入手,橫向縱向分層,縱向分層為學(xué)生的學(xué)習(xí)水平,對較優(yōu)秀的學(xué)生講解更深入一點,對成績較差的學(xué)生要更關(guān)注一些,了解他們學(xué)習(xí)中的困惑與問題,及時解決,橫向分層的意思是,就算同一水平的學(xué)生,擅長點也會不同,某些學(xué)生擅長理論和類型籌劃,有的學(xué)生則擅長邏輯思維和抽象思維,針對這種情況,開展不同的課程內(nèi)容,對特別薄弱的內(nèi)容設(shè)定專項學(xué)習(xí)課程,補齊水桶的最薄弱木板[5]。
圖1 分層教學(xué)基本內(nèi)容
3.3.5 實踐大于理論
計算機程序設(shè)計課程中,永遠(yuǎn)都是實踐大于理論,教師對學(xué)生講授的再多,也比不上學(xué)生親自動手實驗一次,學(xué)生在學(xué)在練的過程中,會自然而然生成編程性的思維,難題會迎刃而解,學(xué)生的代碼基礎(chǔ)與算法運用都會得到質(zhì)的飛躍,所以當(dāng)前高校越來越重視學(xué)生代碼量充足與否,這一點與上文第一點又重復(fù)之處,筆者認(rèn)為需要明確提出,卻不再贅述。
3.3.6 教師對學(xué)生的反饋要做到實時性、合理性[6]
反饋與評價是每一個教學(xué)必不可少的部分,計算機程序設(shè)計課程也不例外,現(xiàn)階段教師對學(xué)生的評價存在單一性,甚至一個學(xué)期過去教師都無法將班級內(nèi)的學(xué)生認(rèn)清認(rèn)全,評價起來就會非常困難,教師應(yīng)改變這一點,對學(xué)生實行動態(tài)性的了解把控,而不是期末考試幾個冰冷的數(shù)字就決定學(xué)生的學(xué)習(xí)程度,對學(xué)習(xí)較差的學(xué)生更要給予持續(xù)關(guān)注和激勵,往往會有意想不到的效果。
高校計算機程序設(shè)計課程雖然是基礎(chǔ)課程,但也不容忽視,其中涉及的內(nèi)容較多,但也有主次之分,教師應(yīng)徹底重視起來,并構(gòu)建科學(xué)合理的教學(xué)模式,根據(jù)學(xué)生的實際學(xué)習(xí)情況進行分層,設(shè)定更優(yōu)秀更貼合的教學(xué),調(diào)動學(xué)生積極性與學(xué)習(xí)能力,最終的目的是培養(yǎng)學(xué)生綜合程序素養(yǎng)。