計算機課程實(shí)驗設計探討論文
1建立專(zhuān)業(yè)的程序編寫(xiě)習慣

程序是邏輯的組合,其本質(zhì)是代表人的邏輯模型思想。如何讓計算機讀懂我們的思想,在學(xué)習中最直接的方法就是編碼,通過(guò)程序編碼、編譯、連接后成為計算機能夠進(jìn)行邏輯運行的指令,利用計算機的快速反應,較高的存儲效率,完成某個(gè)邏輯模型的解答。邏輯是解決問(wèn)題的方法,那么,讓學(xué)生編寫(xiě)出,清晰明了、簡(jiǎn)潔高效的代碼,讓其表現出業(yè)務(wù)邏輯思想,是高校教師應該考慮的教學(xué)問(wèn)題。下面兩組代碼:要求用for循環(huán)實(shí)現,如果用戶(hù)輸入數據為100,返回100以?xún)人哉麛抵,否則返回用戶(hù)的輸入數據。從代碼的比較來(lái)看,學(xué)生在程序編寫(xiě)的過(guò)程中,暴露出了以下幾點(diǎn)問(wèn)題:
。1)代碼編寫(xiě)的可讀性差可以看出,學(xué)生在編寫(xiě)代碼實(shí)踐過(guò)程中,其中的變量都用字母x,a,i等。而且代碼的布局沒(méi)有層次感,比如for循環(huán)后面,直接就寫(xiě)了“a+=i”。反觀(guān)后者,局部變量命名有含義,而且各語(yǔ)句之間層次清晰、明了、可讀性強。
。2)代碼編寫(xiě),不注重編寫(xiě)程序的技巧性代碼的技巧性不足,前者寫(xiě)的邏輯判斷語(yǔ)句if(x==100),后者所寫(xiě)的為if(100==nInputData)。雖然二者寫(xiě)法都表示了當客戶(hù)輸入100后的邏輯,但是如果在編寫(xiě)中,將“==”寫(xiě)成了“=”,那么if(x=100)就是個(gè)“賦值恒真”邏輯。而if(100=nInputData)就是“賦值語(yǔ)法錯誤代碼”,在編譯階段,后者就會(huì )報錯;而前者就將成為程序的邏輯錯誤。
。3)程序運算的冗余性前者for(inti=0;i<100;++i),后者,for(intnIdx=1;nIdx<100;++nIdx),顯然,前者比后者多一次循環(huán),雖然不影響最后的結果,但是程序運算出現了冗余,顯得不夠專(zhuān)業(yè)。造成上述的根源有兩方面的原因,學(xué)生對程序的認識不足,編寫(xiě)代碼隨心所欲。其次是老師在計算機實(shí)驗教學(xué)中,不注重學(xué)生編寫(xiě)程序的實(shí)踐練習,沒(méi)有對學(xué)生的日常作業(yè)或者實(shí)驗練習進(jìn)行規范性要求。在計算機實(shí)驗過(guò)程中,需要編寫(xiě)編碼規約,讓學(xué)生遵守編碼規則,讓其通過(guò)在編碼規約中去體會(huì )代碼編寫(xiě)的要點(diǎn)。在掌握計算機語(yǔ)言的同時(shí),編寫(xiě)出簡(jiǎn)潔、干凈的代碼程序。因為編寫(xiě)程序也是一門(mén)藝術(shù)。雖然在開(kāi)始實(shí)施有些困難,但是千里之行,始于足下,萬(wàn)丈高樓起于累土,只有通過(guò)規范性的程序編碼,才能出現干凈、簡(jiǎn)潔的程序代碼,以此來(lái)提升學(xué)生的實(shí)踐動(dòng)手能力,也可以通過(guò)代碼規范,來(lái)規避一些在編寫(xiě)程序中出現的技術(shù)問(wèn)題,比如C++程序中,由于編程者用new申請對象,而不用釋放內存的計算機資源管理問(wèn)題。在計算機實(shí)驗教學(xué)中,通過(guò)建立規范程序編寫(xiě)規約,幫助學(xué)生建立專(zhuān)業(yè)的程序編寫(xiě)習慣,是提升學(xué)生掌握計算機語(yǔ)言的有效途徑。
2化自身專(zhuān)業(yè)素質(zhì)
軟件程序是邏輯思想的集合。邏輯思想的冗余會(huì )直接影響到程序運行的效率。比如數據存儲冗余,影響運行速度。對于學(xué)生而言,在上學(xué)期間,還無(wú)法接觸到對海量數據的處理。在計算機課程實(shí)驗中,經(jīng)常編寫(xiě)的程序只有10幾行。處理的數據量最多也是在kb的數量級上。所以當學(xué)生編寫(xiě)完應用程序后,基本上不考慮程序的運行效率,因為無(wú)論用什么邏輯算法,處理結果都基本相同,計算機都會(huì )在2s內完成邏輯運算。這就麻痹了學(xué)生對程序邏輯運行性能的認識,從而對程序邏輯算法無(wú)法擁有一個(gè)清楚的認知能力。這就出現了為什么軟件程序員多,但是高級軟件人才匱乏的原因之所在?v觀(guān)程序處理,抽象其本質(zhì),主要為排序、查找、存儲,相關(guān)業(yè)務(wù)的數學(xué)運算。這些都是課堂教學(xué)的基礎,而這些往往也是我們學(xué)生容易忽略的地方。為何會(huì )忽略?因為他們在校學(xué)習期間,缺乏實(shí)際工作的實(shí)踐,缺乏對基礎知識的認識,重視度不夠高,最后參加工作后,往往做不到“信手拈來(lái)”。對于某些行業(yè),對程序的性能要求比較高,在這樣的業(yè)務(wù)下,可能會(huì )要求學(xué)生重構哈希表、堆存儲等算法,才能夠解決業(yè)務(wù)上的性能要求。計算機實(shí)驗是對課堂知識的實(shí)踐,所以在實(shí)驗課程設計中,應該突出基礎知識的差異性,以及其在工作中的實(shí)踐性。能夠結合實(shí)踐讓學(xué)生對課題知識擁有一個(gè)清楚的認識。比如在學(xué)習完成數據排序后,學(xué)習了冒泡排序、二分排序、快速排序等排序邏輯。針對上述內容的課程實(shí)驗,通過(guò)實(shí)驗是讓學(xué)生能夠掌握上述算法思想,在課程實(shí)驗中讓學(xué)生實(shí)踐課堂上所學(xué)的專(zhuān)業(yè)知識,編寫(xiě)相關(guān)算法程序,幫助學(xué)生強化自身專(zhuān)業(yè)素質(zhì)。在課程實(shí)驗中,經(jīng)常會(huì )看到這樣的一個(gè)題目“教師給予學(xué)生100以?xún)鹊?0個(gè)隨機數,讓學(xué)生分別應用冒泡排序,二分排序依據快速排序對其進(jìn)行數據排序"。這樣的實(shí)驗內容無(wú)可厚非,讓學(xué)生進(jìn)行編程實(shí)踐掌握上述排序算法。但是這樣就會(huì )出現一個(gè)問(wèn)題,哪就是無(wú)論是選擇用什么排序方法,計算機完成排序后所用的時(shí)間基本相同,完全無(wú)法體現出各種算法的優(yōu)越性。課程實(shí)驗設計應該結合實(shí)踐工作,教師在計算機課程實(shí)驗的實(shí)踐過(guò)程中,可以結合對外軟件企業(yè),抽取部分相關(guān)業(yè)務(wù),讓學(xué)生進(jìn)行課題練習。就以上述排序為例。以1G的企業(yè)財務(wù)文本文件數據,讓學(xué)生對其中的某一財務(wù)數據為依托,讓其對文本文件內的數據進(jìn)行數據排序,并且輸出前200位數據,輸出到另外的文件中。至于排序的算法,由學(xué)生自己選擇。大多數的學(xué)生在看到該題目后,在上機實(shí)驗中,大多數都選擇了冒泡排序算法,實(shí)現對該文本的排序,結果可想而知,由于數據量大,等學(xué)生完成了排序過(guò)程,啟動(dòng)運行后,20分鐘內,都無(wú)法完成排序。而有的同學(xué)選擇了快速排序算法,3分鐘內,完成了該排序事務(wù)。顯然對于學(xué)生而言,這樣的課程實(shí)驗才是有效的,通過(guò)這樣的實(shí)驗,才能夠讓學(xué)生體會(huì )到邏輯的本質(zhì),對各種算法擁有清楚的認識。通過(guò)計算機課程實(shí)驗教學(xué),提升學(xué)生的專(zhuān)業(yè)素養。
3結語(yǔ)
提升學(xué)生的程序語(yǔ)言認識是一個(gè)循序漸進(jìn)的過(guò)程。計算機課程實(shí)驗教學(xué)主要注重學(xué)生動(dòng)手實(shí)踐。需從作業(yè)準則、編碼規范,以及邏輯算法出發(fā),規范化實(shí)驗教學(xué),通過(guò)專(zhuān)業(yè)化的知識培養與實(shí)踐,方可提升計算機課程實(shí)驗教學(xué)品質(zhì),提升計算機課程教學(xué)水平。
【計算機課程實(shí)驗設計探討論文】相關(guān)文章:
英美文學(xué)課程改革的探討論文08-19
課程論文評語(yǔ)大全09-02
實(shí)驗設計方案12-24
探討語(yǔ)文學(xué)習方法的論文08-27
化學(xué)實(shí)驗教學(xué)探討論文10-14
探討幼兒園課程資源開(kāi)發(fā)的新思路與利用07-18
探索地域文化課程論文04-07
計算機應用論文06-25
計算機課程學(xué)習心得12-20