朱 紅
摘要:提高學生的計算機知識水平和實踐動手能力,是計算機教學的根本任務。本文提出了一種上機實踐教材的新思路,遵循學生的學習規(guī)律,從閱讀程序模仿程序入手,由淺入深,最后達到拓展思維、提高編程能力的目的。
關鍵詞:上機實踐;實踐教材;教學改革;創(chuàng)新;探索
中圖分類號:G642 文獻標識碼:A
1引言
在計算機教學活動中,計算機語言程序設計方面的教學是比較困難的,因為計算機語言和我們自身使用的語言在邏輯上有很大的區(qū)別,具有較為嚴格的語法格式和獨特的算法邏輯。在教學中,語法和算法都可以通過研讀程序進行講解,但是,如何使學生通過學習能夠獨立編寫程序一直是我們教學中的難點。由于計算機的算法與數(shù)學上算法有很大的區(qū)別,而經(jīng)過十幾年的學習,大部分學生利用數(shù)學中的算法解決問題已成了定式,例如求“1+2+3+……+100”這個計算機程序語言中經(jīng)典的問題,很多學生考慮的是簡便公式而不是直接循環(huán)求累加和,類似的問題不勝枚舉。如何使學生從多年養(yǎng)成的思維定式中解放出來,輕松編寫適應計算機特點的優(yōu)秀程序,擴展其思維能力、創(chuàng)新能力,是程序語言教學需要解決的首要問題。針對這一問題,除了需要在計算機程序設計教材上下功夫外,實踐教材的切入與引導也是不可缺少的必備環(huán)節(jié)。
2遵循學習規(guī)律,重視實踐環(huán)節(jié)
長期以來,大家對編寫計算機程序設計語言的教材十分重視,但卻忽視了實踐上機教材的編寫,甚至于上機教材絕大部分內(nèi)容是程序設計語言教材的習題解答,有的老師甚至不希望學生購買上機教材,因為部分學生會直接抄書上的作業(yè)答案。但是,歷年來上機編程卻是學生學習計算機程序設計語言的薄弱環(huán)節(jié),許多學生可以熟練地閱讀程序,但需要獨立編程時卻束手無策,不知從哪方面下手。而大部分的上機教材的上機實驗的內(nèi)容都只是針對某一個知識點,簡單地提出編程要求,達不到輔導學生自主編程的目的。
為了解決這一在教學環(huán)節(jié)中出現(xiàn)的問題,培養(yǎng)學生的獨立思考和編程能力,拓展學生思維,我們編寫了《C++程序設計上機實踐與學習輔導》教材,教材由四個部分組成,分別為上機實驗指導、學習輔導與習題解答、綜合測試和書中出現(xiàn)的全部習題與測試題答案。
3針對上機環(huán)節(jié)的創(chuàng)新與實踐
雖然第一部分的上機實驗指導只有16個單元,但卻不同于一般的實驗教材,是遵循學生的學習規(guī)律,從閱讀程序模仿程序入手,由淺入深,最后達到拓展思維、提高編程能力的目的。具體來說,有以下四個步驟:
(1) 分析運行樣例程序
閱讀分析程序是學習計算機程序設計的第一步。每個實驗單元的第一部分都是一個有一定深度和難度的典型范例程序,同時對該程序進行編程分析,分析程序的算法和難點,并且針對該程序提出問題,需要學生通過上機運行分析程序予以解答,目的是使學生通過調(diào)試運行樣例程序掌握算法的基本結構與常用語法規(guī)則,并且學習規(guī)范化的編程方法。
(2) 完善程序
實驗單元的第二部分是完善程序。給出一個與樣例程序類似的完整的程序架構,其中重點的算法或相關的語法部分由學生自己完善,完善后調(diào)試運行,并且回答有關的問題。這樣通過練習,逐步使學生適應了程序的語法結構,同時因為算法是學生自己完善的,也解決了程序結構與算法不能兼顧的問題,使得學生可以有針對性地解決重點問題。在這一部分中,如果碰到經(jīng)典的算法問題,比如弦截法求解方程、選擇法排序等,則會給出詳細的解釋,以幫助學生深入掌握。通過這一部分的練習,學生對程序的結構和算法語言的特點有了一個比較全面的認識,也有了一定的獨立編程的能力。
(3) 模仿樣例程序編程
實驗單元的第三部分是要求學生獨立編寫與樣例程序類似的程序,主要是使學生通過模仿練習獨立編程。模仿是獨立編寫程序的必要步驟,通過模仿,可以了解規(guī)范的程序結構,思維方式,編程方法,程序設計技巧,同樣,對編程過程中涉及到的常用算法及編程難點都有詳細的提示及指導。
(4) 進階提高編程
實驗單元的第四部分是進階編程練習,編寫與上述三部分內(nèi)容與語法有一定的關聯(lián)度但又具有一定難度的程序。這一部分要求學生比較好地掌握前面三部分的內(nèi)容,目的在于加強學生對所學知識、技能的靈活運用。在這一過程中,學生獨立分析問題和解決問題的能力得到提高,并且可以嘗試不同的解決問題的方法,引導學生用多種思維方式去解決問題,拓展思維能力,增強學生的創(chuàng)新精神和創(chuàng)新能力。
每個實驗單元都是由上述四個部分組成的,從學生實踐的角度而言,由淺入深,構成了一個有機的整體,使不同程度的學生都能找到適合自己實際情況的實驗項目,達到提高學生的知識水平和實踐動手能力的目的。
例如實驗書中的函數(shù)單元,其中樣例程序是根據(jù)變量求解函數(shù)值,通過這個樣例程序使學生掌握了調(diào)用函數(shù)的格式,實參、形參的定義、引用,函數(shù)返回值的使用等函數(shù)調(diào)用的基本知識。而完善程序部分有兩個程序,一是用牛頓切線法求解方程的實根,另一個是利用二分法求解方程的根,兩種算法都給出了詳細的圖示說明,要求學生完善的部分則是實參、形參調(diào)用的語法格式和關鍵的算法語句。學生在完成該部分內(nèi)容的時候,不用去考慮具體的程序結構,而將重點關注在函數(shù)部分最易出錯的地方上——參數(shù)的調(diào)用格式和函數(shù)返回值的應用。模仿編程的部分是編寫弦截法求解方程的程序,同樣在書中給出了弦截法求解方程的詳細的圖示說明,而弦截法解方程的程序結構與二分法極其類似,所以對學生而言,只要掌握了函數(shù)調(diào)用的概念,通過閱讀程序說明就可以輕松地完成這一項目。進階提高是用遞歸調(diào)用的方法編寫牛頓切線法求解方程的程序,這個題目有一定的難度,因為遞歸調(diào)用本身就是程序語言學習的難點,但是,從另一個角度來看,掌握了遞歸調(diào)用,則對函數(shù)調(diào)用參數(shù)的傳遞、函數(shù)值的應用等函數(shù)調(diào)用的概念也有了一個深層次的理解,同時編程能力也有了進一步的提高。
由此可見,通過這四部分的練習,不同程度的學生都可以找到適合自己水平的切入點,進而深入下去,由淺入深,掌握每個實驗單元的內(nèi)容,編程能力和思維能力都得到了切實有效的提高。
以上是實踐教材的第一部分即上機實驗指導部分的內(nèi)容及特色,也是我們編寫實踐教材的初衷。
4用多樣化練習鞏固所學內(nèi)容
眾所周知,C++語言由于概念復雜、規(guī)則繁多、使用靈活,是較難掌握的一門算法語言。這就需要學生在了解概念、語法、算法的基礎上,有針對性地大量練習,在練習中加深理解,發(fā)現(xiàn)問題,鞏固所學的內(nèi)容。而現(xiàn)有的教材由于篇幅所限,無法涵蓋大量的例題及習題,因此,在實踐教材的后邊部分,我們收錄了大量的習題,用以補充這部分的內(nèi)容。
實踐教材的第二部分是學習輔導與習題解答,其中章節(jié)的設置與《C++程序設計教程》一書相同,針對初學者在學習過程中遇到的困難和容易出現(xiàn)的問題,結合大量的例題進行了詳細論述,內(nèi)容全面,例題豐富,針對性強,同時給出了大量習題,幫助學生鞏固復習所學的內(nèi)容,使學生在學習完每一章后,都可以通過相應的習題和例題鞏固所學到的理論知識。例如,在數(shù)組這一章,由于課時的限制,一般的教科書只給出簡單的例題幫助學生理解概念和算法,比如冒泡法排序,數(shù)組中尋找最大值,簡單的字符串處理函數(shù)的應用等,如果要深入靈活掌握數(shù)組的內(nèi)容,這些例題無論是深度和廣度,都是遠遠不夠的。因此,在實踐教材的第二部分,對應數(shù)組這一章,我們詳細講解了13個例題,包括求解fibonacci數(shù)列,二維字符數(shù)組的輸入輸出,進制的轉(zhuǎn)換等經(jīng)典例題,同時給出了32道練習題,涉及利用遞歸算法排序,從字符母串中查找子串等常用算法,再加上上機部分的鞍點查找,實時插入排序等算法,這些內(nèi)容相輔相成,構成了一個立體的、全方位的練習體系,有助于學生靈活、深入地掌握所學內(nèi)容,達到良好的學習效果。
第三部分是綜合測試,給出七套模擬試卷,與第二部分學習輔導中對知識點分門別類的練習不同,在這部分中,將C++程序設計語言的全部內(nèi)容綜合考慮,融合各個知識點從而使學生能夠全面、深入地掌握C++語言;第四部分是全部習題及模擬試卷的答案。
5加強實踐教學是提高學生創(chuàng)新能力的關鍵
《C++程序設計上機實踐與學習輔導》教材經(jīng)過一年的使用,效果十分明顯,大大增加了學生上機練習的積極性,通過網(wǎng)絡提交上機作業(yè)的人數(shù)與往年相比,有了大幅度地提高,不少學生還主動提出新的思路、新的方法與老師交流。由此可見,在實踐教學中倡導新的思路、新的方法,對提高學生學習興趣,發(fā)展學生個性,拓展學生思維,培養(yǎng)學生的自主學習能力和創(chuàng)新能力發(fā)揮著關鍵性的作用。為此,計算機教學需要不斷地研究創(chuàng)新,探索有效的教學方法,有的放矢,有效地培養(yǎng)全面發(fā)展的人才。
實踐教學是高等教育中的重要組成部分,實踐教學應努力貫徹以學生為主體,教師為主導,堅持知識傳授、能力培養(yǎng)、素質(zhì)教育協(xié)調(diào)發(fā)展的實驗教學理念,培養(yǎng)具有創(chuàng)新意識、實踐能力的高級人才。
參考文獻:
[1] 金長宮. 高校計算機基礎課教學實踐與探討[J]. 中國科技信息,2008,(4):204,206.
[2] 左桂蘭. 計算機教學的實踐與創(chuàng)新[J]. 遼寧教育行政學院學報,2008(2):147.
[3] 趙玉. 基于網(wǎng)絡資源的計算機教學實踐探索計算機教學的實踐與創(chuàng)新[J]. 教學與管理,2008(12):112-113.
Developing Teaching and Learning Innovations in C + + Programming and Practice Book
ZHU Hong
(College of Electronics and Optics, Nanjing University of Science and Technology, Nanjing 210094, China)
Abstract: Improving student computer knowledge and practical ability is the fundamental task of computer teaching. This paper presents a new idea of C++ programming and practice book. Students can learn to follow rules of learning procedure, first study good C++ programming code from easy to digest, and finally achieve the expansion of thinking, and improve the programming and practical ability.
Key Words: exercise on computer, practice book, teaching reform, teaching innovation, teaching exploration