摘要:選用Vc++作為開發(fā)工具,以項(xiàng)目為中心進(jìn)行教學(xué),通過工程訓(xùn)練可以提高大學(xué)計(jì)算機(jī)專業(yè)本科生解決實(shí)際問題的能力。文章從提高學(xué)習(xí)效率的課程教學(xué)和培養(yǎng)創(chuàng)新能力的研究性學(xué)習(xí)兩個(gè)方面進(jìn)行分析。實(shí)踐證明,工程教學(xué)能夠激發(fā)學(xué)生的編程興趣,也能提高學(xué)生自主學(xué)習(xí)的能力,使學(xué)生較快進(jìn)入工作狀態(tài),增加就業(yè)籌碼。
關(guān)鍵詞:計(jì)算機(jī);vc++;工程訓(xùn)練;就業(yè)
0 引言
就業(yè)問題關(guān)系到大學(xué)生的切身利益,關(guān)系到社會(huì)和高校的穩(wěn)定,受到社會(huì)各方面的普遍關(guān)注。近年來,高校計(jì)算機(jī)專業(yè)初次就業(yè)率連年下滑,就業(yè)崗位競(jìng)爭(zhēng)日趨激烈。在這種情況下,如何提高計(jì)算機(jī)專業(yè)本科大學(xué)生解決實(shí)際問題的能力,成為一個(gè)重要的研究課題。我們選用微軟公司推出的主流開發(fā)工具Vc++作為編程工具,通過工程訓(xùn)練提供學(xué)生一個(gè)真實(shí)的實(shí)踐練習(xí)環(huán)境,培養(yǎng)他們的編程思想和感覺。教學(xué)實(shí)踐表明,它能夠激發(fā)學(xué)生的編程興趣,也能提高自主學(xué)習(xí)的能力。使學(xué)生較快進(jìn)入工作狀態(tài)。
1 目前計(jì)算機(jī)本科生培養(yǎng)存在的問題
長(zhǎng)期以來,我國(guó)高校的本科教育在一定程度上是偏重理論,輕視工程意識(shí)培養(yǎng)和工程實(shí)踐訓(xùn)練。這除了教學(xué)計(jì)劃和課程設(shè)置上的原因外,還有以下的原因:
(1)教師缺乏實(shí)際的工程實(shí)踐經(jīng)驗(yàn)
目前高校師資主要來源于剛出校門的碩士、博士,“從校門到校門”的教師培養(yǎng)模式容易導(dǎo)致教師缺乏實(shí)際的工程實(shí)踐經(jīng)驗(yàn)。即使在研究生階段,作了一些導(dǎo)師的項(xiàng)目,其深度和廣度是很難和大型IT企業(yè)的工作經(jīng)歷相提并論的。對(duì)工程實(shí)踐的感性認(rèn)識(shí)不足,講授課程容易空泛,學(xué)生不能徹底理解和掌握知識(shí)。由于缺乏“實(shí)戰(zhàn)性”,培養(yǎng)出來的學(xué)生難以被企業(yè)認(rèn)可。
(2)學(xué)生忽視工程實(shí)踐能力
因?yàn)槟壳翱佳泻捅究平逃袑?duì)學(xué)生評(píng)價(jià)的主要指標(biāo)是課程成績(jī),所以學(xué)生往往只注重課程學(xué)習(xí),特別是考研課程的學(xué)習(xí),輕視工程意識(shí)培養(yǎng)和工程實(shí)踐訓(xùn)練?,F(xiàn)在大部分企業(yè)需要熟練的編程人員,本科畢業(yè)生缺乏實(shí)際動(dòng)手能力,將在求職中步履維艱。如果工作以后,沒有受到系統(tǒng)訓(xùn)練或者不注重分析總結(jié),即使工作了二、三年,還是不能熟練地使用開發(fā)工具,獨(dú)立地解決問題。
(3)畢業(yè)設(shè)計(jì)功能有限
對(duì)學(xué)生實(shí)際工程能力的培養(yǎng),主要是由畢業(yè)設(shè)計(jì)完成的。學(xué)生在畢業(yè)設(shè)計(jì)中受到了一定程度的工程實(shí)踐訓(xùn)練,但是存在以下的不足。①題目單一。由于畢業(yè)設(shè)計(jì)要求學(xué)生獨(dú)立完成,最多是二、三個(gè)同學(xué)協(xié)作完成一個(gè)題目。這樣導(dǎo)致選題受到限制,題目往往局限在小型數(shù)據(jù)庫系統(tǒng)和缺乏技術(shù)含量的小型軟件。②缺乏系統(tǒng)性訓(xùn)練。由于題目單一,學(xué)生通過教師的指導(dǎo)和查找相關(guān)資料,可以知道具體的操作步驟,但是不知道為什么要這樣作。學(xué)生沒有受到系統(tǒng)的訓(xùn)練,缺乏編程能力,即使遇到類似的題目,還是不能獨(dú)立解決,更不用說解決復(fù)雜的實(shí)際問題。
2 提高學(xué)習(xí)效率的課程教學(xué)研究
2.1 以“項(xiàng)目”為中心進(jìn)行教學(xué)
目前工業(yè)界,軟件開發(fā)主要使用vc++和JAVA作為開發(fā)工具。我們選用vc++對(duì)計(jì)算機(jī)專業(yè)高年級(jí)本科生進(jìn)行工程訓(xùn)練。一般的課堂教學(xué)重點(diǎn)主要是講授各種語法、函數(shù)、控件和類。vc++大、精、深,需要學(xué)生理解和記憶的知識(shí)點(diǎn)很多,容易挫傷了學(xué)生的興趣和信心。我們提出“項(xiàng)目”為中心進(jìn)行教學(xué),即通過項(xiàng)目講解知識(shí)點(diǎn);通過讓學(xué)生完成一些簡(jiǎn)單的項(xiàng)目,來靈活應(yīng)用所學(xué)知識(shí);在教師的引導(dǎo)下,開發(fā)復(fù)雜的項(xiàng)目,提高解決實(shí)際問題的能力。
我們?cè)诮虒W(xué)實(shí)踐中以“項(xiàng)目”為中心進(jìn)行教學(xué)受到了學(xué)生的歡迎。①項(xiàng)目讓學(xué)生知道如何使用所學(xué)的知識(shí)解決實(shí)際問題,這極大地激發(fā)學(xué)習(xí)興趣。②計(jì)算機(jī)軟件開發(fā)中,會(huì)遇到大量的專業(yè)術(shù)語,而這些術(shù)語不能采用“名詞解釋”的方法來學(xué)習(xí),必須要通過實(shí)踐來理解。項(xiàng)目可幫助學(xué)生快速理解這些概念。③對(duì)于初學(xué)者來說,首先是通過模仿來學(xué)習(xí)編程,然后在通過反復(fù)實(shí)踐中提高。項(xiàng)目提供了一些優(yōu)秀的源碼,便于學(xué)生閱讀模仿。在模仿的基礎(chǔ)上,學(xué)生加強(qiáng)練習(xí),可把這些源碼真正消化掉。④項(xiàng)目的編程實(shí)踐能夠幫助學(xué)生加深對(duì)知識(shí)點(diǎn)的理解和記憶,達(dá)到事半功倍的效果。⑤項(xiàng)目為學(xué)生提供了模擬的工作場(chǎng)景,縮短了“學(xué)習(xí)”和“工作”的距離,讓學(xué)生不出校門就擁有一定的實(shí)踐經(jīng)驗(yàn)。
2.2 項(xiàng)目的選擇和設(shè)計(jì)
項(xiàng)目分為小型、中型、大型三種。小型項(xiàng)目幫助學(xué)生理解和記憶本章所學(xué)的知識(shí)。例如:在《Windows標(biāo)準(zhǔn)控件》學(xué)完后,可提供給學(xué)生一個(gè)小型項(xiàng)目:創(chuàng)建三個(gè)水平滾動(dòng)條,分別用來控制紅,綠,藍(lán)三種基本顏色的變化,并在編輯框中顯示當(dāng)時(shí)RGB的值,變化的顏色效果在一個(gè)橢圓中以填充橢圓的方式表現(xiàn)出來。通過這個(gè)項(xiàng)目的練習(xí),學(xué)生就能理解和掌握常用的按鈕、滾動(dòng)條、編輯框等控件,以及基本的繪圖、填色方法。
中型項(xiàng)目要求學(xué)生能夠解決一些簡(jiǎn)單的實(shí)際問題。在學(xué)完《MFC Windows Sockets網(wǎng)絡(luò)編程》后,就可以要求學(xué)生作一個(gè)具有實(shí)際意義的中型項(xiàng)目:端口的掃描程序。通過該軟件,可以知道對(duì)方計(jì)算機(jī)的某個(gè)端口是不是在工作。通過掃描一定范圍的IP地址和一定范圍的端口,可以得到是否為免費(fèi)代理服務(wù)器的信息。中型項(xiàng)目相對(duì)小型項(xiàng)目難度有了明顯的提高,教學(xué)時(shí)要幫助學(xué)生克服畏難心理,讓他們學(xué)得輕松快。
在大型項(xiàng)目的選擇上,要注重貼近實(shí)戰(zhàn),例如:設(shè)計(jì)網(wǎng)絡(luò)防火墻。對(duì)于這類項(xiàng)目,教師要善于把復(fù)雜的問題化解成多個(gè)簡(jiǎn)單的問題,引導(dǎo)學(xué)生步步深入,讓他們嘗試獨(dú)立地解決問題。同時(shí)提供一些優(yōu)秀的源碼,學(xué)生可以參考、模仿,開闊眼界。鼓勵(lì)他們多動(dòng)手,用不同的方法解決,把這些源碼真正的理解、消化。
2.3 在項(xiàng)目教學(xué)中貫穿系統(tǒng)的理論教學(xué)
項(xiàng)目教學(xué)中既要避免一般高校教學(xué)中側(cè)重教授理論,也不能等同與培訓(xùn)機(jī)構(gòu)只重視具體的操作。不僅要告訴學(xué)生怎么作,而且還要讓他們知道為什么這樣作。例如:在《MFCWindows Sockets網(wǎng)絡(luò)編程》項(xiàng)目教學(xué)中,教師要系統(tǒng)地講授兩個(gè)Windows Sockets封裝類,即CAsyncSocket和CSocket類,分析比較在什么情況下使用哪一個(gè)類。
在編程實(shí)踐中,學(xué)生會(huì)困惑于一些共同的問題,而且這些問題會(huì)經(jīng)常遇到,反復(fù)出現(xiàn)。如果不徹底解決,就會(huì)影響學(xué)習(xí)效率。教師要透徹地分析這些問題,通過對(duì)問題的正反對(duì)比便于學(xué)生理解。
一個(gè)中型或大型項(xiàng)目會(huì)涉及到多門課程的知識(shí),常見的有:算法、網(wǎng)絡(luò)、數(shù)據(jù)庫。這些課程學(xué)生可能已經(jīng)學(xué)過,并作了課程設(shè)計(jì)。但是,當(dāng)時(shí)的課程學(xué)習(xí)側(cè)重于理論學(xué)習(xí),知識(shí)的應(yīng)用局限于本門課程。在項(xiàng)目教學(xué)中,要對(duì)課程中涉及工程應(yīng)用的部分進(jìn)行系統(tǒng)的講解,特別是多課程之間的綜合應(yīng)用,幫助學(xué)生把多門課程的知識(shí)融會(huì)貫通。
3 通過研究性學(xué)習(xí)培養(yǎng)創(chuàng)新能力
學(xué)生在以創(chuàng)新為生命的IT行業(yè)工作,必須能創(chuàng)造性地解決問題。如果沒有提高創(chuàng)新能力和綜合素質(zhì),就會(huì)嚴(yán)重削弱就業(yè)適應(yīng)能力和發(fā)展的后勁。在提高學(xué)生的編程能力的同時(shí),我們通過“研究性學(xué)習(xí)”加強(qiáng)對(duì)學(xué)生創(chuàng)新能力的培養(yǎng)。 學(xué)術(shù)界認(rèn)為“研究性學(xué)習(xí)”是一種學(xué)習(xí)方式,并且可以在課程講授中進(jìn)行。“研究性學(xué)習(xí),是指學(xué)生在教師的指導(dǎo)下,以類似科學(xué)研究的方式去獲取知識(shí)和應(yīng)用知識(shí)的學(xué)習(xí)方式”。教育部《普通高中“研究性學(xué)習(xí)”實(shí)施指南》(試行)中明確給出的定義:“學(xué)生在教師指導(dǎo)下,從自然、社會(huì)和生活中選擇和確定專題進(jìn)行研究,并在研究過程中主動(dòng)的獲取知識(shí)、應(yīng)用知識(shí)、解決問題的學(xué)習(xí)活動(dòng)”。
在研究性學(xué)習(xí)的過程中,要求學(xué)生充分地發(fā)揮個(gè)人的主觀能動(dòng)性,積極提出問題,針對(duì)問題去收集、分析和選擇信息資料,應(yīng)用所學(xué)過的知識(shí)創(chuàng)造性地解決問題。
一方面,我們將篩選一部分優(yōu)秀的本科生參與我們的科研,根據(jù)學(xué)生的能力,讓學(xué)生參加力所能及的科研工作,使學(xué)生增加學(xué)習(xí)研究的能力和信心,提高解決問題的能力。我們當(dāng)前所研究的工作是國(guó)際P2P研究的核心問題:設(shè)計(jì)一種嶄新的P2P協(xié)議。部分參加工程訓(xùn)練的本科生在教師的指導(dǎo)下使用vc++開發(fā)完全知識(shí)產(chǎn)權(quán)的P2P軟件。另一方面,我們把科研工作中的方法,思維方式和最新的成果融入本科的教學(xué)工作中。
4 結(jié)束語
我國(guó)軟件產(chǎn)業(yè)要形成外向出口型產(chǎn)業(yè),程序編寫與軟件開發(fā)必須規(guī)范化和國(guó)際化,所以有必要把國(guó)際流行的IT軟件培訓(xùn)方案直接引進(jìn)教學(xué)過程,或?qū)⒅鸌T企業(yè)的資格認(rèn)證直接融入教學(xué)。
企業(yè)參與辦學(xué)是國(guó)際上IT應(yīng)用人才培養(yǎng)的共同規(guī)律,我們積極與企業(yè)聯(lián)系,走“產(chǎn)學(xué)研”一體化的道路,使工程訓(xùn)練的內(nèi)容不斷地更新,始終走在時(shí)代前列。