魯 可,張曉東,孫麗君
(河南工業(yè)大學 電氣工程學院,河南 鄭州 450001)
“軟件技術(shù)基礎(chǔ)”是針對非計算機專業(yè)的計算機軟件技術(shù)及應(yīng)用課程,對于非計算機專業(yè)的理工科學生來說,他們今后的發(fā)展方向并不是從事計算機理論的研究,而是在各自的專業(yè)領(lǐng)域內(nèi)利用計算機來處理問題,他們中的大多數(shù)將是計算機應(yīng)用人才,而不是計算機專門人才[1-2]。這兩者所需要的知識結(jié)構(gòu)和能力結(jié)構(gòu)是不同的,其培養(yǎng)目標也就不同。
“軟件技術(shù)基礎(chǔ)”課程是面向理工科非計算機專業(yè)學生開設(shè)的一門結(jié)合算法與數(shù)據(jù)結(jié)構(gòu)、軟件工程、操作系統(tǒng)、多媒體技術(shù)、數(shù)據(jù)庫等基本理論和技術(shù)的基礎(chǔ)課程,旨在讓學生掌握軟件開發(fā)涉及的各領(lǐng)域的基本原理和技術(shù)[3]。通過實踐,培養(yǎng)學生具有軟件開發(fā)能力、創(chuàng)新意識和團隊精神,重點培養(yǎng)學生的上機動手能力、實際解決問題的能力以及知識綜合運用能力。實踐環(huán)節(jié)的開展對于學生掌握軟件開發(fā)活動具有非常重要的意義[4]。
“軟件技術(shù)基礎(chǔ)”課程是一門強調(diào)理論聯(lián)系實踐的課程,學生只有從實踐中才能真正掌握軟件技術(shù)的相關(guān)知識,才能真正了解軟件開發(fā)活動的主要過程[5]。為達到“有效教學”的“有效”目的,針對課程的特點采用事理的教學方法是一個重要的方面[6]?!败浖夹g(shù)基礎(chǔ)”是一門綜合性的計算機基礎(chǔ)課程,主要目的是讓學生更好地利用計算機解決專業(yè)領(lǐng)域中的問題及日常事務(wù)問題。這門課程主要是以培養(yǎng)學生實踐能力為主要目的,為培養(yǎng)復(fù)合型、創(chuàng)新型人才打好基礎(chǔ)[7]。通過這幾年的教學經(jīng)驗來看,傳統(tǒng)的實踐教學環(huán)節(jié)存在以下幾個問題。
我院的“軟件技術(shù)基礎(chǔ)”課程采用的教材是麥中凡主編的《計算機軟件技術(shù)基礎(chǔ)》(第3版),采用VC++作為程序設(shè)計語言,而學生僅僅在大學一年級學過C語言,并且大多數(shù)學生的C語言基礎(chǔ)較差,對于VC++程序設(shè)計語言更是一無所知,再加上計算機軟件技術(shù)基礎(chǔ)課程知識點多,內(nèi)容繁雜,難以抓住重點,在學習了計算機軟件技術(shù)基礎(chǔ)的有關(guān)知識后,不知如何用VC++語言程序來實現(xiàn)。
“軟件技術(shù)基礎(chǔ)”課程的傳統(tǒng)實踐環(huán)節(jié)主要是通過上機實驗來完成[8]。對于實踐性特別強的“計算機軟件技術(shù)基礎(chǔ)”這門課程,實驗環(huán)節(jié)至關(guān)重要[9]。我院該課程的總學時為46學時,其中課堂教學學時為38學時,實驗學時為8學時。短短的8學時僅僅可以完成幾個關(guān)于數(shù)據(jù)結(jié)構(gòu)算法的編程,對于學生理解和實踐軟件開發(fā)的過程是遠遠不夠的。教師在組織課堂教學的時候主要講述基本概念和原理,而對于程序設(shè)計和調(diào)試技巧等實踐性較強的部分,則只能是點到為止。
這樣的弊端就在于學生不能通過實踐來認識和學習軟件技術(shù)的開發(fā)過程,不能全面地鍛煉軟件開發(fā)過程中所需要的各項基本技能,導致學生在課程結(jié)束之后,對于本門課程沒有深刻的印象,對于以后深入學習軟件技術(shù),缺乏扎實的功底。因此,典型案例是不可缺少的教學環(huán)節(jié) ,能夠起到事半功倍的作用[10]。
學習軟件技術(shù)基礎(chǔ)內(nèi)容,是為了在實際的工程項目中綜合運用[11],為此,要求學生在熟悉VC++程序設(shè)計語言的基礎(chǔ)上,完成一個小型的軟件項目的開發(fā)設(shè)計。把解決實際問題的思想作為教學切入點,以問題驅(qū)動的方式,按照軟件工程的開發(fā)方法,針對實際問題進行分析,構(gòu)建數(shù)學模型,設(shè)計算法,最后編程實現(xiàn)軟件開發(fā)。具體要求包括:
(1)這個軟件項目設(shè)計,是每位學生必須完成的課外作業(yè),占期末考試總成績的20%。
(2)項目的選題范圍分為四大類:編程類,動畫類,數(shù)據(jù)庫類和自定義題目。編程類的可選題目主要有開發(fā)和設(shè)計小游戲,屏幕保護程序等。動畫類的題目主要是關(guān)于課程內(nèi)容的動畫,如數(shù)據(jù)結(jié)構(gòu)中線性表的插入和刪除、二叉樹的遍歷、查找和排序等。數(shù)據(jù)庫類的題目可以選用任何一種數(shù)據(jù)庫平臺,進行學生學籍管理系統(tǒng)的設(shè)計、圖書館借還書管理系統(tǒng)的設(shè)計等。自定義題目是為了給學生更多的選擇,學生可以根據(jù)自己的興趣來進行軟件項目的開發(fā)。
(3)項目的內(nèi)容包括需求分析、設(shè)計方案、上機實現(xiàn)、測試報告與個人總結(jié)。根據(jù)軟件開發(fā)活動和軟件工程的相關(guān)要求,按照軟件生存周期的各個階段來進行軟件項目的開發(fā),并生成各個階段的相應(yīng)文檔。
(4)項目開發(fā)小組學生可以自愿組合,最多3人一組共同完成一個實驗項目。小組內(nèi)的各個成員按照自身能力來進行任務(wù)分配,共同完成項目內(nèi)容。個別能力強的學生可以獨立成組,一個人完成所有任務(wù)。
(5)項目的驗收包括項目報告(打印版)和可執(zhí)行程序(電子版)2個部分。課程結(jié)束一周內(nèi)提交項目報告和電子版,由教師評閱之后計入期末考試總成績中。
我院設(shè)有創(chuàng)新實驗室、嵌入式實驗室等多個開放實驗室可供學生使用。其中,創(chuàng)新實驗室是我院全面貫徹和落實電子類學科面向21世紀課程體系和課程內(nèi)容的改革而創(chuàng)建的新型實驗室,為吸引、鼓勵廣大學生積極參加課外科技活動創(chuàng)造了條件,是我院大學生電子類科技活動的重要場所。嵌入式實驗室現(xiàn)擁有ARM920T內(nèi)核的北京博創(chuàng)UP-NETARM2410S嵌入式教學科研實驗箱和UP-ICE200仿真器多套,是嵌入式技術(shù)高級人才的培養(yǎng)基地和嵌入式技術(shù)相關(guān)課程的教學基地。嵌入式實驗室主要承擔本科生軟件項目實踐和畢業(yè)設(shè)計等教學實驗任務(wù)。
這些實驗室為學生進行軟件項目設(shè)計提供了軟件平臺和實驗場所,為“軟件技術(shù)基礎(chǔ)”課程的實踐改革提供了較好的硬件設(shè)施,保證了軟件項目的順利開展。
我校建立的網(wǎng)絡(luò)教學平臺,可以制作“軟件技術(shù)基礎(chǔ)”的網(wǎng)絡(luò)教學系統(tǒng)。作為課堂教學的補充,該系統(tǒng)為學生進行課外的思維拓展、學習交流提供了有效的途徑。學生在進行團隊的項目開發(fā)的同時,可以通過網(wǎng)絡(luò)教學平臺將課堂知識和課外知識結(jié)合起來,運用到項目開發(fā)中去,真正實現(xiàn)了“理論聯(lián)系實際”。另外,學生可以在網(wǎng)上和教師交流項目開發(fā)過程中遇到的困難,教師可以將學生遇到的共性問題總結(jié)出來,掛在網(wǎng)上,供更多的學生學習交流。通過網(wǎng)絡(luò)教學平臺,使得教師和學生之間的關(guān)系更加密切,在相互交流中共同進行項目實踐,并將這些經(jīng)驗反饋到課堂中去,促進理論教學更好地實施。
從2006年至今,經(jīng)過6年的教學實踐經(jīng)歷,可以明顯感受到這種基于項目開發(fā)的實踐環(huán)節(jié)對于學生來說受益匪淺。項目課程模式小而精,學生的學習真正做到了理論融于實踐,動腦融于動手,興趣融于行動,學生成為學習的真正主人[12]。大部分的學生能夠通過這樣一個過程,深入地學習和理解軟件開發(fā)的方法和過程,培養(yǎng)了自學能力、創(chuàng)新能力和解決實際問題的能力。通過這種基于項目的實踐模式,使學生在實踐中學習到軟件技術(shù)的精髓,為學生學好這門專業(yè)基礎(chǔ)課程起到了非常重要的作用。
(
)
[1]王玲.非計算機專業(yè)《軟件技術(shù)基礎(chǔ)》教學實踐[J].實驗科學與技術(shù),2012,10(2):97-99.
[2]張水利,董軍堂,樊延虎,等.“軟件技術(shù)基礎(chǔ)”教學模式的研究與實踐[J].延安大學學報:自然科學版,2010,29(2):56-59.
[3]趙晨光,白玉,徐娜.軟件技術(shù)基礎(chǔ)實驗教學模式改革[J].中國電力教育,2011(34):136-140.
[4]何潔月,王茜,王偉,等.《計算機軟件技術(shù)基礎(chǔ)》雙語教學課程建設(shè)與實踐[J].北京大學學報:哲學社會科學版,2007(增刊2):112-114.
[5]張選芳.軟件技術(shù)基礎(chǔ)[M].北京:人民郵電出版社,2010.
[6]賀玲,蔡益朝.目標驅(qū)動法在計算機軟件技術(shù)基礎(chǔ)教學中的實踐[J].空軍雷達學院學報,2010,24(6):461-463.
[7]祁俊.創(chuàng)新實驗對《軟件技術(shù)基礎(chǔ)》課程的影響分析[J].價值工程,2012(22):255-256.
[8]劉海明,吳忻生,張梅,等.“軟件技術(shù)基礎(chǔ)”課程的雙語教學探索與實踐[J].高教探索,2007(增刊1):100-101.
[9]張小瑞,孫偉,張自嘉,等.《計算機軟件技術(shù)基礎(chǔ)》教學改革探索與研究[J].中國科技信息,2012(4):129,135.
[10]郭秀清.基于案例組織的軟件技術(shù)基礎(chǔ)教學方法研究[J].電氣電子教學學報,2006,28(5):23-26.
[11]劉澤星.軟件技術(shù)基礎(chǔ)教學中融入軟件工程思想[J].長沙鐵道學院學報:社會科學版,2008,9(4):141-142.
[12]干建松.項目課程模式下軟件技術(shù)基礎(chǔ)教學改革探析[J].電腦知識與技術(shù),2011,7(32):7935-7936.