宋慶軍

摘要:數據庫應用基礎是一門綜合應用類的科目,涉及程序編寫的知識和技能。而在計算機應用專業的對口高考中,其所占分值是3門科目中最高的,加上往屆學生對其學習難度的夸大渲染,學生容易產生畏難情緒,不利于教學活動的有效開展。為此筆者從“注重知識的積累”“促進專業的轉化”“鞏固教學的收獲”幾個層面談如何克服這些難題,提高程序學習的效果,有效實現新時代職業教育的目標。
關鍵詞:程序學習? 注重積累? 促進轉化? 鞏固收獲
近年來,對口本科擴招,應用型本科院校招生的職普比逐年提高,對中職生而言是一個新的機遇:提供更廣闊的上升通道,增加更多深造的機會,為今后掌握更多的知識和技能提供了支持。這種利好的舉措,也是對中職教育職能的有效提升和拓展。
計算機應用專業對口升學所學的專業課有3門:計算機基礎、計算機原理、數據庫應用基礎(VFP)。比較這3門科目,從學習難度、對口高考所占分值來說,數據庫應用基礎都是首選,對學生而言應該是一門硬核科目。從學習難度來看,數據庫應用基礎是一門綜合應用類的科目,學習的重點是通過結構化編程和面向對象編程進行數據處理,涉及程序編寫的知識和技能,學生沒有基礎。從計算機應用專業的對口高考來講,其所占分值是3門科目中最高的,理論200分占100分、技能250分占120分。再者,歷屆計算機專業的學生對學弟學妹不斷夸大渲染,將VFP這個科目“神化”或“妖魔化”,人為地增加其神秘感,無形之中提高了它的學習難度。
筆者所學的專業是計算機科學與技術,從事數據庫基礎教學工作已有二十幾年,就這門科目而言,有著豐富的知識沉淀和經驗積累,現將教學過程中的點點滴滴分享出來與同行們共勉。
一、注重知識的積累
(一)貼近生活,解禁神秘
在我們生活中,有很多程序化的事情,在教學中要有目的地引導,讓學生明白程序就在我們生活中,與我們生活息息相關。比如一年四季的變化,春季開始,冬季結束,完成年度更替;學生的課程表,每周執行一次,學年結束完成教學任務;上學無論是步行還是騎電車,或者乘公交車,方式不同,其目的都是來到學校;英語中的小作文,瀏覽一遍,你會發現,只是將漢語中的小作文用英語書寫而已……這樣的事例比比皆是,這就是生活中的程序。
數據庫應用基礎中的程序,是將完成的任務或操作,利用專業的結構化語句或命令,遵循程序規則,形成有序的集合。類似于英語中的小作文,只是將語言文字換成了計算機的專業命令而已。
(二)厘清思路,逐步過渡
在程序章節的教學中,前期講解命令時,讓學生仔細掌握每一個命令功能、達到的效果或完成的任務,多安排上機進行操作,留出充足時間讓學生去體驗、去領會,同步獲得知識與技能。同時有目的地進行不同命令組合,強調不同的組合完成的任務是否相同或不同,有什么優劣。并且對有些組合可以多加強調,畫成小方塊,讓學生感悟,一步一步引導學生進行程序化模塊化思維,為程序教學做好前期知識儲備。
在程序教學中,可以先安排2~3課時,編寫漢字程序,讓學生找感覺,整理思路,體驗程序建構模型。比如找出XSCJ表中VFP成績排前2名的學生:
●關閉人機對話,構建程序運行環境
●打開表文件XSCJ
●按VFP字段按降序排序或索引
●定位首記錄
●顯示姓名和VFP兩個字段和2條記錄
●關閉XSCJ
●打開人機對話方式,恢復原有系統狀態。
多進行練習,讓學生自己找出編程的一般結構,形成習慣性思維,并融入程序編寫的規則和要求,對程序進行理解和感悟,激發學生自覺探討、共同研討,從而培養其學習興趣。
二、促進專業的轉化
(一)夯實基礎,厘清結構
程序的前期學習應該說難度不大,順序結構、選擇結構貼近生活,學生易理解、編寫程序得心應手,能夠輕松掌握。這時在教學中引入流程圖,讓學生先畫流程圖,再寫程序,讓學生厘清程序邏輯結構、構建數據模型。同時有目的地逐步強化、逐步深入,將程序的基礎思想“自上而下、模塊化、逐步細化”滲透進學生的編程思維中,讓學生明白程序整體結構如何構建、細節部分如何打磨。這樣一來,進行循環結構教學時,學生就可以自然過渡,也不會感覺程序太難、找不到方向。
(二)注重結果,更注重過程
程序的運行和我們生活中處理問題,在時間上是不對等的。我們很難追溯程序執行的過程,得到的只是一個結果,所以我們必須準確知道程序執行的流程。只有注重過程、知道計算機運行程序的方式,才能更好地構建數據模型(構建的模型也不會是數學中的解題程式),準確編寫計算機運行的程序。
用程序調試器檢視程序執行可能存在的問題。將程序放到程序調試器內,逐步運行,中間變量實時反映程序運行結果,讓我們跟進每一個命令、每一個步驟、每一個模塊,觀察與預設的結果是否匹配,從而找出程序中不和諧的因素、不吻合的模塊。
理解了程序的運行過程,在檢查編寫的程序時,脫離計算機,在紙面上運行與調試,擺脫對計算機的依賴,讓學生明白程序命令組合的因果關系、邏輯關系,從而更好地為結果服務,達到編程的目的。
(三)梳理思路,總結技巧
自上而下、逐步細化、模塊化是編程的基本思想。對于編程,如果是一個小的問題,尋求的是一個簡單的結果,可以利用前期命令教學中強調的小方塊程序加上程序的開始和結束,按照程序的模塊組合就可以了。但是難度系數比較大的問題不是一個小方塊程序可以解決的,可能需要很好的小方塊進行組合。
如何組織邏輯結構、語法結構,如何確定模塊位置、模塊的調用,如何發揮模塊的功能等這些問題的處理類似于積木組合,不同的組合可以構建不同的建筑,程序的編寫同樣也有一定的技巧和組合規則。比如程序嵌套教學時,筆者先講透基礎知識,讓學生掌握,然后程序中功能單一的小模塊程序,代之以一句話或者一個圖形,再讓學生看程序的結構。學生不難發現其類似于前面學習的順序結構,這樣一來程序的邏輯結構就清楚了,學生就知道如何進行組合了。同時這也為后期的子程序、過程和自定義函數的教學打下了堅實的基礎。