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