周樹森 鄒海林
摘 要 軟件開發(fā)類課程是實踐要求較高的課程,針對目前C#程序設(shè)計教學(xué)中存在的過于偏重理論、忽視學(xué)生的動手能力培養(yǎng)的問題,結(jié)合信息化條件下教學(xué)方法多樣化、學(xué)生獲取信息的途徑多樣化的現(xiàn)狀,基于應(yīng)用型人才培養(yǎng)的社會需求,提出了C#程序設(shè)計課程“以培養(yǎng)學(xué)生的軟件開發(fā)能力為目標(biāo),以實用型軟件開發(fā)為驅(qū)動,讓學(xué)生在實際開發(fā)過程中學(xué)習(xí)軟件開發(fā)所需的各種知識”的觀點。
關(guān)鍵詞 計算機(jī) 程序設(shè)計 信息化 教學(xué)改革
中圖分類號:G424文獻(xiàn)標(biāo)識碼:A ??DOI:10.16400/j.cnki.kjdks.2015.04.058
Reform of the Teaching Method on Software Development
Courses under Information Condition
ZHOU Shusen, ZOU Hailin
(School of Information and Electrical Engineering, Ludong University, Yantai, Shandong 264028)
Abstract Software development courses are high practical requirement. Now, there are two problems in C# program design teaching. One is focusing on theory analysis, the other is ignoring the training of students' practice ability. To solve these problems, based on the social requirement of application-oriented talents cultivation, we are bringing forward a viewpoint that aim at training the software development ability, driven by practical software development, let the students learn all the required knowledge about software development in the actual development process.
Key words computer; programming design; information; reform of the teaching method
中國高等教育改革確定:600多所地方本科院校將逐步轉(zhuǎn)型,進(jìn)行現(xiàn)代職業(yè)教育,重點培養(yǎng)工程師、高級技工、高素質(zhì)勞動者等。針對社會對于應(yīng)用型人才的巨大需求和高校培養(yǎng)的人才過于偏重理論之間的矛盾,國家已經(jīng)從政策層面開始引導(dǎo)高校轉(zhuǎn)型,培養(yǎng)高素質(zhì)應(yīng)用型勞動者。在信息化條件下,借助多媒體設(shè)備,教師的教學(xué)方式多樣化;借助筆記本電腦、智能手機(jī)和互聯(lián)網(wǎng),學(xué)生獲取信息的途徑也多樣化。本文結(jié)合“C#程序設(shè)計”課程的教學(xué)實踐,探討如何調(diào)整教學(xué)方式,來適應(yīng)信息化條件下學(xué)生的學(xué)習(xí)需求,適應(yīng)社會對應(yīng)用型人才培養(yǎng)的需求。
1 問題分析
程序設(shè)計課程包括三個重要的知識模塊:①一是語言知識,二是程序設(shè)計方法,三是算法。計算機(jī)語言處于程序設(shè)計的最底層,是掌握編程技術(shù)的關(guān)鍵;程序設(shè)計方法處于程序設(shè)計的中間層,是縮短軟件開發(fā)周期,開發(fā)出實用型軟件的關(guān)鍵;算法處于程序設(shè)計的頂層,是解決問題的規(guī)則。語言具有不穩(wěn)定和變化更新快的特征,現(xiàn)在有很多程序設(shè)計語言可供選擇。程序設(shè)計對于語言的變化而言相對穩(wěn)定。算法則比較穩(wěn)定,它與描述算法的語言無關(guān)。語言只要多使用,就能熟練掌握;程序設(shè)計方法只能在應(yīng)用中領(lǐng)悟和熟悉;算法必須經(jīng)過嚴(yán)格的科學(xué)的訓(xùn)練才能掌握。
在信息化條件下學(xué)生可以通過學(xué)習(xí)課本知識、從網(wǎng)上搜集相關(guān)教程、觀看網(wǎng)絡(luò)上的教學(xué)視頻等方式學(xué)習(xí)最基礎(chǔ)的語言知識。而傳統(tǒng)的程序設(shè)計課程教學(xué),在很大程度上并沒有擺脫學(xué)科系統(tǒng)化課程的模式,過于偏重語言知識的講解,忽視了程序設(shè)計方法和算法設(shè)計的培養(yǎng)。這種教學(xué)方法導(dǎo)致大多數(shù)學(xué)生在學(xué)習(xí)過程中感覺自己所學(xué)的知識枯燥無味,沒有什么實際的用途,學(xué)習(xí)態(tài)度比較消極。另一方面,比較優(yōu)秀的學(xué)生感覺老師講的知識課本和網(wǎng)絡(luò)上都有,完全可以通過自學(xué)成才,沒有必要聽課。學(xué)生即使學(xué)習(xí)并掌握了基礎(chǔ)的知識,也并不具備工作所需的技能,即學(xué)得好但做得差,實際工作中靈活性和貫通性較差,沒有實際軟件開發(fā)的經(jīng)驗。很多學(xué)生眼高手低,程序聽起來清楚、看起來模糊、編起來糊涂。
針對教師的教學(xué)目標(biāo)和社會對學(xué)生的實用技能要求之間的巨大差距,如何有效引導(dǎo)學(xué)生轉(zhuǎn)變學(xué)習(xí)方法,提升學(xué)生的軟件開發(fā)能力,是教師在教學(xué)過程中必須要解決的問題。本文提出了“以培養(yǎng)學(xué)生的軟件開發(fā)能力為目標(biāo),以實用型軟件開發(fā)為驅(qū)動,讓學(xué)生在實際開發(fā)過程中學(xué)習(xí)軟件開發(fā)所需的各種知識”的觀點,并將其應(yīng)用到“C#程序設(shè)計”日常教學(xué)實踐中。
2 教學(xué)實踐
“C#程序設(shè)計”作為計算機(jī)科學(xué)與技術(shù)專業(yè)的實用型軟件開發(fā)課程,是學(xué)生未來走上工作崗位從事軟件開發(fā)相關(guān)工作的基石。但是,在教學(xué)過程中發(fā)現(xiàn),比較優(yōu)秀的學(xué)生認(rèn)為,老師講基礎(chǔ)的編程語言知識沒有必要,自己看教材、上網(wǎng)看教學(xué)視頻也能學(xué)會。大多數(shù)同學(xué)認(rèn)為,現(xiàn)在學(xué)的這些編程基礎(chǔ)知識沒有什么用,沒有認(rèn)識到現(xiàn)在學(xué)的知識能用來做出什么實用的產(chǎn)品,從心態(tài)上不重視基礎(chǔ)語言知識的學(xué)習(xí)。結(jié)合信息化條件下教師講授知識和學(xué)生學(xué)習(xí)知識方式的多樣化,基于應(yīng)用型人才培養(yǎng)的社會需求,在教學(xué)過程中,應(yīng)該從四個方面進(jìn)行教學(xué)實踐,激發(fā)學(xué)生的求知欲望、調(diào)整教師的教學(xué)內(nèi)容、增加教師的教學(xué)方式、在實踐中鍛煉學(xué)生的軟件開發(fā)綜合素質(zhì)。最后,還需要調(diào)整課程的考核方式,引導(dǎo)學(xué)生平時多鍛煉自己的軟件開發(fā)實戰(zhàn)能力。
2.1 激發(fā)學(xué)生的求知欲望
要激發(fā)學(xué)生的求知欲望,關(guān)鍵是要培養(yǎng)學(xué)生的學(xué)習(xí)興趣。興趣是學(xué)生的學(xué)習(xí)動力,也是教師引導(dǎo)學(xué)生的最佳方法。否則,學(xué)生上課消極怠工,教師教學(xué)沒有激情。
現(xiàn)在的大學(xué)生都比較務(wù)實,大多數(shù)學(xué)生只會對他們認(rèn)為的有用的課程,投入精力去學(xué)習(xí)。要想激發(fā)學(xué)生的求知欲,必須做到以下幾點:(1)在開課的時候?qū)W(xué)生講明白這門課程有什么用,以后從事什么樣的工作能用得著。(2)在講授具體知識點的時候,不斷穿插描述每個知識點有什么實用價值,在學(xué)習(xí)掌握的過程中應(yīng)該注意什么問題,應(yīng)該如何去強(qiáng)化鞏固、靈活運用。(3)在講課的過程中,要想方設(shè)法創(chuàng)設(shè)好的環(huán)境氛圍,讓學(xué)生在輕松快樂的氛圍中學(xué)習(xí),思維不受束縛,環(huán)境不受影響,可以經(jīng)常使用一些小插曲將學(xué)生的注意力拉回到課堂中。(4)經(jīng)常與學(xué)生交流溝通,知道學(xué)生的關(guān)注點是什么,重視學(xué)習(xí)興趣的激發(fā),提高教學(xué)效果。
興趣是學(xué)習(xí)動力的源泉,只有有了興趣,才能激發(fā)學(xué)生的求知欲望,讓學(xué)生把更多的課余時間投入到學(xué)習(xí)中。
2.2 調(diào)整教師的教學(xué)內(nèi)容
信息化條件下,各種視頻、文檔和教材等學(xué)習(xí)資源都比較容易獲取,對于比較基礎(chǔ)的語言知識部分,學(xué)生都能夠自學(xué)掌握。所以,“C#程序設(shè)計”教學(xué)的重點應(yīng)該放在程序設(shè)計方法和算法層面。讓學(xué)生在實踐中鍛煉自己的編程能力,能夠認(rèn)識到哪些知識模塊是自己欠缺的,做到有的放矢、自覺充電。
根據(jù)大多數(shù)學(xué)生數(shù)學(xué)基礎(chǔ)一般、形象思維強(qiáng)于邏輯思維的特點,應(yīng)擺脫傳統(tǒng)的科學(xué)型人才培養(yǎng)模式的影響,將“C#程序設(shè)計”的理論教學(xué)從邏輯推導(dǎo)轉(zhuǎn)向?qū)嵗菔?,突出以教學(xué)主線來強(qiáng)化工程實踐能力的教學(xué)模式,推行案例化教學(xué)。通過具體工程項目開發(fā)過程的講解,可以激發(fā)學(xué)生的學(xué)習(xí)興趣,鍛煉學(xué)生實踐動手能力,達(dá)到比較好的學(xué)習(xí)效果。
基于項目驅(qū)動,實行項目開發(fā)需要什么知識就講什么內(nèi)容的理念,在“C#程序設(shè)計”的教學(xué)過程中,可以教學(xué)生開發(fā)基于.NET窗體程序和數(shù)據(jù)庫的管理系統(tǒng),具體教學(xué)內(nèi)容如下所示:(1)C#的初步知識;(2)NET基礎(chǔ);(3)C#基礎(chǔ);(4)程序調(diào)試;(5)數(shù)據(jù)庫訪問技術(shù);(6)管理系統(tǒng)開發(fā)。
從以上的教學(xué)內(nèi)容可以看出,涉及到C#語言知識的只有兩章內(nèi)容。更多的授課時間被用來培訓(xùn)學(xué)生的.NET開發(fā)知識、C#訪問數(shù)據(jù)庫和綜合管理系統(tǒng)開發(fā)實戰(zhàn)。這樣既鍛煉了學(xué)生的綜合系統(tǒng)開發(fā)能力,又能讓學(xué)生在實戰(zhàn)開發(fā)的過程中認(rèn)識到自己有哪些基礎(chǔ)知識欠缺,能夠自覺地借助信息化條件下的各種互聯(lián)網(wǎng)上的資源進(jìn)行充電,真正做到在學(xué)中做、在做中學(xué)。
2.3 增加教師的教學(xué)方式
信息化條件下的教學(xué),多媒體和網(wǎng)絡(luò)技術(shù)在教學(xué)過程中發(fā)揮了巨大的作用。②多媒體和網(wǎng)絡(luò)所提供的刺激信息的多樣性也有利于知識的獲得和保持, 同時也為學(xué)生培養(yǎng)信息的獲取、分析和加工整合能力提供了機(jī)會。在新的多媒體和網(wǎng)絡(luò)條件下,我們的教學(xué)模式應(yīng)當(dāng)擺脫過去那種以教師為中心的灌輸式的教育,代之以學(xué)生為主體,教師為引導(dǎo)的方式。
在信息化條件下,“C#程序設(shè)計”課程中可以采用的教學(xué)方式包括:(1)引入MOOC翻轉(zhuǎn)課堂教學(xué)模式,教師把講課的內(nèi)容錄成視頻,上傳到視頻網(wǎng)站中。學(xué)生在上課之前提前觀看這些視頻,在上課時教師可以集中答疑或組織大家共同做練習(xí)。(2)教師整理國內(nèi)外著名大學(xué)相關(guān)課程MOOC翻轉(zhuǎn)課堂的教學(xué)視頻,每次指定學(xué)生在課下需要觀看學(xué)習(xí)的內(nèi)容。在上課時教師首先簡要介紹視頻中的重點、難點、要注意的問題,然后預(yù)留部分時間與學(xué)生進(jìn)行交互答疑。(3)教師用錄屏軟件將軟件開發(fā)所需要的實踐操作細(xì)節(jié)錄制成視頻,在錄制過程中配以語言講解。將這些視頻讓學(xué)生在課下觀看,并在觀看的過程中跟隨視頻動手操作。在上課時教師集中幫助學(xué)生解決實踐操作中遇到的各種軟件操作問題、程序的編譯錯誤和邏輯運行錯誤等等。
通過以上三種方式相結(jié)合,可以讓學(xué)生以輕松自由的心態(tài)學(xué)習(xí)程序設(shè)計的基礎(chǔ)語言知識,及相關(guān)實踐開發(fā)操作。學(xué)生可以根據(jù)自己的理解和掌握情況用“暫?!薄ⅰ爸胤拧钡劝存I自己掌控學(xué)習(xí)進(jìn)度,可以讓不同層次的學(xué)生實現(xiàn)個性化學(xué)習(xí)。課后復(fù)習(xí)和練習(xí)也可以按難易程度選擇進(jìn)行,以多媒體視頻方式展示學(xué)習(xí)內(nèi)容的最大好處是可以讓學(xué)生隨時反復(fù)觀看。
“課堂與在線混合式”的教學(xué)方式可以實現(xiàn)更加深度和個性化的學(xué)習(xí),提高教與學(xué)的質(zhì)量和效率。通過多種教學(xué)方式的結(jié)合,可以激發(fā)學(xué)生的學(xué)習(xí)興趣,拓寬學(xué)生的知識面,讓學(xué)生更好地適應(yīng)社會的需求。
2.4 在實踐中鍛煉學(xué)生的軟件開發(fā)綜合素質(zhì)
軟件開發(fā)類課程都配有上機(jī)課,鍛煉學(xué)生的上機(jī)實踐操作能力。傳統(tǒng)的上機(jī)課以驗證試驗為主,學(xué)生只要按照老師的要求敲上相關(guān)的代碼,運行一下,能得出相應(yīng)的結(jié)果就可以了。但是,以這種模式培養(yǎng)出來的學(xué)生,不能靈活運用自己掌握的基礎(chǔ)知識實現(xiàn)各種功能,畢業(yè)后還是不會開發(fā)軟件,軟件公司還要進(jìn)行一段時間的培訓(xùn)才能上崗。為了解決社會對大量實用型軟件開發(fā)人才的需求,教師在設(shè)計上機(jī)課的題目時,應(yīng)該盡量增加設(shè)計型實驗、避免驗證型實驗。讓學(xué)生在實驗過程中能夠自由發(fā)揮,靈活運用所學(xué)的知識。另一方面,還要把每次課所做的實驗串起來,組成一個實用的綜合系統(tǒng),讓學(xué)生在實驗過程中更有成就感。
以“C#程序設(shè)計”課程為例,上機(jī)課的題目可以進(jìn)行如下設(shè)計:(1)學(xué)生信息管理系統(tǒng)登錄界面設(shè)計;(2)學(xué)生信息管理系統(tǒng)注冊界面設(shè)計;(3)學(xué)生成績排序;(4)簡易學(xué)生信息管理系統(tǒng);(5)使用類實現(xiàn)學(xué)生信息管理;(6)將學(xué)生信息存儲到數(shù)據(jù)庫;(7)學(xué)生信息管理系統(tǒng)綜合開發(fā)。
從以上題目可以看出,每次上機(jī)課做的內(nèi)容有很強(qiáng)的關(guān)聯(lián)性。學(xué)生從第一次上機(jī)課開始,已經(jīng)在動手開發(fā)一個綜合管理系統(tǒng)最基礎(chǔ)的界面。對于后面的每一次上機(jī)課,都是對前面開發(fā)的程序不斷完善的過程。到了最后一次上機(jī)課,已經(jīng)可以形成一個綜合的管理系統(tǒng),然后稍加整理優(yōu)化、打包發(fā)布,即是一個實用的軟件。
通過以上模式的培養(yǎng),學(xué)生對實驗操作更有興趣,更愿意在課余時間去完善系統(tǒng)。因為前面的功能實現(xiàn)不了,后面的實驗沒法進(jìn)行,徹底避免了學(xué)生當(dāng)一天和尚撞一天鐘的想法。另外,最后做出的軟件,可以在學(xué)生找工作的時候給招聘方演示,提高自己的錄用率。這就更加增強(qiáng)了學(xué)生(下轉(zhuǎn)第133頁)(上接第119頁)想把軟件做好、做完美的想法,讓學(xué)生動學(xué)習(xí)變主動學(xué)習(xí),在實踐中鍛煉自己的軟件開發(fā)綜合素質(zhì)。
2.5 調(diào)整考核方式,引導(dǎo)學(xué)生提升軟件開發(fā)能力
考試是否能通過,是學(xué)生最關(guān)心的問題。傳統(tǒng)的考核方式,讓學(xué)生養(yǎng)成了考前突擊學(xué)習(xí)幾天,以卷面分考試及格為目標(biāo)的學(xué)習(xí)習(xí)慣,不利于應(yīng)用型人才的培養(yǎng)。
在實踐教學(xué)過程中,可以把最終期末考試的比重降低到50%。增加上機(jī)考試,比重為30%,從而有利于調(diào)動學(xué)生鍛煉自己動手能力的積極性。將課堂表現(xiàn)和平時作業(yè)成績的比重設(shè)為20%,從而讓學(xué)生重視平時每堂課的學(xué)習(xí),不會只在期末考試之前臨時突擊學(xué)習(xí)。
另外,對于軟件開發(fā)類課程,可以將期末考試的卷面考試形式變?yōu)橄到y(tǒng)開發(fā)大作業(yè)。讓學(xué)生自由發(fā)揮,開發(fā)一個綜合管理系統(tǒng),提交系統(tǒng)開發(fā)報告,并且模擬畢業(yè)答辯的場景,進(jìn)行現(xiàn)場答辯、軟件演示。通過考核方式向應(yīng)用能力測試方向的轉(zhuǎn)變,可以讓學(xué)生在思想上重視自己平時動手能力的培養(yǎng),將教師的教學(xué)目標(biāo)和學(xué)生的學(xué)習(xí)目標(biāo)達(dá)成一致。另外,當(dāng)考核結(jié)束后,學(xué)生可以真正掌握利用C#開發(fā)實用軟件的方法。從而可以縮小高校培養(yǎng)目標(biāo)和社會需求之間的鴻溝,為公司培養(yǎng)合格的軟件開發(fā)類人才。
3 結(jié)語
“C#程序設(shè)計”教學(xué)應(yīng)該以培養(yǎng)學(xué)生的應(yīng)用能力為目標(biāo),提高學(xué)生學(xué)習(xí)這門課的興趣,幫助學(xué)生建立學(xué)好這門課的自信心,增強(qiáng)學(xué)生開發(fā)實用管理類軟件的能力,最終可以提高學(xué)生的綜合素質(zhì)。這種培養(yǎng)模式對于培養(yǎng)合格的計算機(jī)相關(guān)專業(yè)人才有重要意義。2012級計算機(jī)科學(xué)與技術(shù)專業(yè)的學(xué)生反饋顯示,在以培養(yǎng)學(xué)生的軟件開發(fā)能力為目標(biāo)的“C#程序設(shè)計”教學(xué)模式下,大多數(shù)學(xué)生在自己積極向上的人生目標(biāo)驅(qū)動下,提高了學(xué)習(xí)程序設(shè)計課程的興趣,積極利用課程中學(xué)習(xí)到的方法進(jìn)行上機(jī)練習(xí),開發(fā)實用類軟件,解決現(xiàn)實應(yīng)用中的問題,提升自己的綜合素質(zhì)。
注釋
① 潘旭華.程序設(shè)計課程教學(xué)方法與手段改革探討.太原理工大學(xué)學(xué)報,2006(24).
② 易朝暉,李宏斌,李明霞.信息化條件下教學(xué)方法改革的思考.電腦知識與技術(shù),2007(13).