黑龍江科技大學(xué)計(jì)算機(jī)與信息工程學(xué)院 張興華,王國權(quán),于海英,韓紫恒,史健婷
《程序設(shè)計(jì)訓(xùn)練》具有非常明顯的交叉性,其主要的教學(xué)目標(biāo)是要教會學(xué)生們一些科學(xué)以及工程方面的問題,確保學(xué)生們能夠進(jìn)行可計(jì)算的分析以及驗(yàn)證,這對理論性以及實(shí)踐性二者的結(jié)合具有相當(dāng)高的要求,由于這門課程具有傳統(tǒng)型、交叉性、理論性以及實(shí)踐性融合的特點(diǎn),因此在高校的一些理工科的專業(yè)當(dāng)中,有相當(dāng)多的一部分很長時間不編程或者根本不會編程的教師卻在對學(xué)生們的編程課程進(jìn)行教學(xué),這就導(dǎo)致了大部分的學(xué)生雖然考試能夠得到高分,但是實(shí)踐能力卻非常弱,他們往往不會運(yùn)用編程的思想解決問題,也不會用查閱資料的方式來對工具進(jìn)行調(diào)試,更不會具有計(jì)算思維。在這樣的情況下對“金課”導(dǎo)向下的《程序設(shè)計(jì)訓(xùn)練》課程進(jìn)行創(chuàng)新以及改革具有十分重要的意義。
《程序設(shè)計(jì)訓(xùn)練》課程的創(chuàng)新性要求這一課程必須要具備一定的前沿性以及時代性;要求教學(xué)形式能夠體現(xiàn)出先進(jìn)性以及互動性;要求學(xué)習(xí)結(jié)果要具備研究性以及個性化的特征。從最初到現(xiàn)在《程序設(shè)計(jì)訓(xùn)練》課程已經(jīng)由最初的簡單計(jì)算逐漸發(fā)展為復(fù)雜推理,從原來的單機(jī)逐漸發(fā)展為網(wǎng)絡(luò),最終再到移動,從最簡單的數(shù)據(jù)處理再到對大數(shù)據(jù)的分析。由此可見,這一過程當(dāng)中對前沿性以及時代性的要求都非常高。此外,《程序設(shè)計(jì)訓(xùn)練》課程具有非常強(qiáng)的實(shí)踐性,因此在教學(xué)的過程中應(yīng)該以實(shí)踐教學(xué)為主。在《程序設(shè)計(jì)訓(xùn)練》課程教學(xué)形式方面來說,其必須要對實(shí)踐教學(xué)采取足夠的重視,而且還必須要將先進(jìn)性以及互動性都體現(xiàn)出來?!冻绦蛟O(shè)計(jì)訓(xùn)練》課程在教學(xué)的過程中要充分地考慮到學(xué)生就業(yè)的問題,學(xué)生在未來可能會在各個領(lǐng)域當(dāng)中就業(yè),這就需要這一課程的教師在充分地保留原有一些經(jīng)典內(nèi)容的基礎(chǔ)上,對一些前沿學(xué)科的內(nèi)容進(jìn)行汲取,然后再融合一些現(xiàn)代化的元素,重點(diǎn)對學(xué)生們的計(jì)算思維進(jìn)行培養(yǎng),確保學(xué)生們在未來無論從事哪一個行業(yè)都有一定的基礎(chǔ)。
《程序設(shè)計(jì)訓(xùn)練》課程的挑戰(zhàn)性指的是這一課程具有一定的難度,需要學(xué)生們多努力學(xué)習(xí),這在一定程度上對教師的教學(xué)活動以及學(xué)生們的學(xué)習(xí)活動提出了更多的要求。比較好的課程設(shè)計(jì)應(yīng)該是在課堂教學(xué)的過程中學(xué)生們能夠聽懂教師所講授的一些內(nèi)容,而在課下學(xué)生們能夠依照自己已經(jīng)掌握的知識來完成相關(guān)的作業(yè)。教師在對學(xué)生們布置作業(yè)時需要增設(shè)一定的難度,不能夠使得學(xué)生們能夠直接套用課堂上教師已經(jīng)講解的算法流程來完成,必須確保學(xué)生們在完成作業(yè)的過程中要不斷地分析、試驗(yàn)以及調(diào)整,有效地調(diào)動學(xué)生已經(jīng)學(xué)到的知識,并將這些知識進(jìn)行綜合運(yùn)用,才能夠解決這些問題。
在將來的一些科學(xué)研究以及工程應(yīng)用的過程中,學(xué)生們需要面對的問題往往是千變?nèi)f化的,其內(nèi)容相當(dāng)復(fù)雜而且繁瑣,并沒有一些固定的套路可供學(xué)生們選擇來解決問題,在這樣的情況下,學(xué)生們往往只能通過一些具有挑戰(zhàn)性的訓(xùn)練才能夠獲得一些解決實(shí)際復(fù)雜問題的能力,要想能夠做到這一點(diǎn),《程序設(shè)計(jì)訓(xùn)練》課程教師在教學(xué)的過程中就必須要以教材作為基礎(chǔ)來設(shè)計(jì)開發(fā)一些具有啟發(fā)性的教學(xué)案例。學(xué)生在課下必須要認(rèn)真地進(jìn)行復(fù)習(xí),然后在復(fù)習(xí)的過程中還必須要結(jié)合一些計(jì)算機(jī)編程的練習(xí),因?yàn)閮H僅依靠學(xué)生們在課堂上學(xué)到的知識肯定是遠(yuǎn)遠(yuǎn)不夠的。由此可見,只有對學(xué)生們的解決實(shí)際問題的能力進(jìn)行培養(yǎng),學(xué)生們才能夠更好地面對一些具有挑戰(zhàn)性的問題,進(jìn)而尋找到最合適的解決方式。
從一定程度上來說,《程序設(shè)計(jì)訓(xùn)練》主要是對學(xué)生們的編程習(xí)慣進(jìn)行培養(yǎng),重點(diǎn)在習(xí)慣養(yǎng)成的方面,并不是技巧提升方面。但是在這其中存在的問題是信息與通信專業(yè)的大一新生由于一些基礎(chǔ)計(jì)算機(jī)課程的開設(shè)不足,進(jìn)而導(dǎo)致學(xué)生們的課程前期基礎(chǔ)十分的薄弱,因此有相當(dāng)多的學(xué)生很難能夠完成教材當(dāng)中的一些習(xí)題,從這一方面上來說,《程序設(shè)計(jì)訓(xùn)練》課程中所設(shè)置的一些實(shí)訓(xùn)項(xiàng)目對他們來說往往具有不小的難度。
在高校當(dāng)中,有相當(dāng)多的學(xué)生在之前并沒有接觸過編程的相關(guān)內(nèi)容,他們的思維仍然受初高中階段一些培養(yǎng)模式的影響,導(dǎo)致他們在解決問題的過程中養(yǎng)成了一定的依賴性,他們總是希望教師在他們完成相關(guān)編程任務(wù)時能夠給他們一定的提示,這就在很大程度上束縛住了學(xué)生們的創(chuàng)造性。此外,還有相當(dāng)多的學(xué)生在對程序進(jìn)行設(shè)計(jì)的過程中非常害怕犯錯,但是他們不明白程序設(shè)計(jì)其實(shí)就是在不斷犯錯的過程中進(jìn)行調(diào)整,進(jìn)而使自己的能力有所提升。由此可見,這種已經(jīng)固化的思維在很大程度上對《程序設(shè)計(jì)訓(xùn)練》課程的培養(yǎng)效果產(chǎn)生了不良的影響。
《程序設(shè)計(jì)訓(xùn)練》這門課程是以C語言為基礎(chǔ)而建立的,而且在后續(xù)的教學(xué)過程中往往還會導(dǎo)入《數(shù)據(jù)結(jié)構(gòu)與算法》當(dāng)中鏈?zhǔn)酱鎯?、順序存儲以及排序算法等相關(guān)內(nèi)容,其內(nèi)容相對來說十分充實(shí),但是這對于高校大部門的學(xué)生們而言內(nèi)容難度比較大,很難能夠準(zhǔn)確地將其理解,最終很難達(dá)到層次化教學(xué)的目的,對學(xué)生們的學(xué)習(xí)活動產(chǎn)生了相當(dāng)大的阻礙。
由于Python語言具有簡潔性、可擴(kuò)展性、易讀性以及可視化的特點(diǎn),因此其已經(jīng)成為當(dāng)前階段非常受歡迎的語言。在這樣的情況下,就可以用Python語言來代替C語言進(jìn)行程序設(shè)計(jì)中思維以及程序設(shè)計(jì)方法等方面的訓(xùn)練。一般來說,Python語言都具備十分明確的編程規(guī)范,甚至每一個縮進(jìn)都有十分明確的規(guī)定,這就可以使學(xué)生們在剛接觸到編程的相關(guān)知識時就能夠養(yǎng)成一個良好的習(xí)慣。此外由于Python語言具有非常方便以及個性化的IDE可供學(xué)生們選擇,這就使得學(xué)生們在程序調(diào)試訓(xùn)練這一方面具有非常大的便利性,進(jìn)而能夠幫助學(xué)生們更好地對《程序設(shè)計(jì)訓(xùn)練》進(jìn)行學(xué)習(xí)。
《程序設(shè)計(jì)訓(xùn)練》課程最終的教學(xué)目的就是要使學(xué)生們能夠?qū)W以致用,在這一過程中通過加強(qiáng)與企業(yè)之間的合作能夠幫助學(xué)生們對所學(xué)知識的用途進(jìn)行理解。因此高校就有必要加強(qiáng)與百度、華為、科大訊飛以及阿里之間的合作,在合作的基礎(chǔ)上邀請這些企業(yè)當(dāng)中的資深工程師到校兼任導(dǎo)師,通過導(dǎo)師講解程序設(shè)計(jì)產(chǎn)品功能需求、功能實(shí)現(xiàn)以及軟件測試全方位的內(nèi)容,有效地增強(qiáng)學(xué)生們的學(xué)習(xí)動力,確保學(xué)生們對自己的職業(yè)規(guī)劃更加明確,讓學(xué)生們能夠真正地明白自己學(xué)習(xí)這一課程的重要意義,最終有助于提升《程序設(shè)計(jì)訓(xùn)練》課程的教學(xué)質(zhì)量。
從某種程度上來說,編程與其他一些基礎(chǔ)類的課程存在相當(dāng)大的差異,學(xué)生們進(jìn)行程序設(shè)計(jì)往往是為了能夠?qū)崿F(xiàn)一些既定的功能。在高校層面上來說,要想能夠?qū)W(xué)生們培養(yǎng)成一個高素質(zhì)的編程人才,就需要鼓勵學(xué)生們不斷地犯錯誤,在犯錯誤的過程中一遍又一遍地領(lǐng)悟,然后在教學(xué)的過程中還要注意教授學(xué)生們一些改正錯誤的方法,進(jìn)而使得學(xué)生們在不斷地調(diào)試以及改正錯誤的過程中能夠有效地提升自身的編程能力以及編程技巧。與此同時,《程序設(shè)計(jì)訓(xùn)練》課程教師在教學(xué)的過程中還要注重對學(xué)生們主動學(xué)習(xí)的習(xí)慣進(jìn)行培養(yǎng)。在程序設(shè)計(jì)相關(guān)內(nèi)容的學(xué)習(xí)中往往需要對一些已經(jīng)封裝好的函數(shù)方法進(jìn)行調(diào)用,這就需要學(xué)生們能夠自己在課下運(yùn)用手中的資源來尋找最佳的解決方法。
高校為了能夠有效地對學(xué)生們的實(shí)踐能力進(jìn)行培養(yǎng),就要積極地鼓勵學(xué)生們參與一些與《程序設(shè)計(jì)訓(xùn)練》課程有關(guān)的比賽,將這些各種形式的比賽都融入《程序設(shè)計(jì)訓(xùn)練》課程教學(xué)活動當(dāng)中。此外還要充分地鼓勵學(xué)生們參與到一些省賽以及國賽當(dāng)中,確保學(xué)生們能夠以多途徑的方式來對這些比賽有所了解,有效地拓寬學(xué)生們的視野。此外在比賽的過程中能夠充分地激發(fā)學(xué)生們的競爭意識,當(dāng)學(xué)生們的競爭意識提高那么他們的學(xué)習(xí)積極性也會提高,最終使得《程序設(shè)計(jì)訓(xùn)練》課程教學(xué)能夠取得良好的效果。
綜上所述,在“金課”導(dǎo)向下對《程序設(shè)計(jì)訓(xùn)練》課程進(jìn)行改革以及創(chuàng)新是提高學(xué)生們學(xué)習(xí)效果非常重要的一個措施,能夠?qū)W(xué)生們培養(yǎng)成全面發(fā)展的程序設(shè)計(jì)人才,進(jìn)而使得學(xué)生們在未來能夠有更好地發(fā)展。