摘要:面向?qū)ο蟪绦蛟O計課程對提高學員的編程能力具有較大幫助。為提高教學效果,文章在分析目前教學存在問題的基礎上,提出該課程的類比教學法,闡述該教學法的應用依據(jù)并指出在實施過程中要注意的問題。
關鍵詞:面向?qū)ο蟪绦蛟O計;類比教學法;教學方法改革
引言
面向?qū)ο蟪绦蛟O計課程是電子工程學院計算機及相關專業(yè)的一門基礎課程,這門課程對于培養(yǎng)學員的編程能力,提高利用計算機解決現(xiàn)實問題的能力具有很大幫助。同時,這門課程是后續(xù)很多重要的專業(yè)課程如數(shù)據(jù)庫、操作系統(tǒng)等的基礎,是學員畢業(yè)后順利走上技術性工作崗位的重要基礎,因此,學好這門課程對于計算機及相關專業(yè)的學員具有重要意義,教員必須精心設計教學方案,力爭取得較好的教學效果。
1 課程教學面臨的主要問題
(1)面向?qū)ο蟪绦蛟O計課程一般安排本科學員在大一開課。該階段學員所學專業(yè)課較少,主要是高等數(shù)學、英語、物理等課程,學員較少有使用計算機語言描述現(xiàn)實問題的概念和經(jīng)歷,例如在數(shù)學和物理的學習過程中,解方程的時候根本無需關心變量要用幾個字節(jié)表示。這就導致教員在給學員講授各種數(shù)據(jù)結構和類型時,學員由于初次接觸,且與以前學習到的物理和數(shù)學知識不一致,感到難以理解。
(2)學員的計算機基礎水平高低不一。學員來自各個不同的中學,有些中學在信息技術課程投入較大精力,學員對計算機及網(wǎng)絡技術已經(jīng)比較熟練;有些中學則以高考為指揮棒,全力應付高考,對高考之外的課程重視不夠,使學員對計算機的了解相對較少。此外,即使是同一所學校的學員,由于家庭經(jīng)濟能力、個人喜好等方面因素的影響,學員的計算機水平也存在較大差異。
(3)該階段學員剛剛結束高中學習,還受一定的高中應試學習模式影響,想通過大量做題來提高自身的解題熟練程度,但是這種學習思路對于面向?qū)ο蟪绦蛟O計課程的學習來說并不是非常適用。本課程的主要教學目的是培養(yǎng)學員利用計算機語言對現(xiàn)實世界建模的能力。通過大量練習的確能夠提高學員運用某一知識點的熟練程度,但是本課程更注重學員靈活運用知識的能力,即創(chuàng)新思維。此外,本課程的知識點非常多,難以一一練習。
面對這些問題,可以在具體的教學實施中引人類比教學法,注重從現(xiàn)有知識出發(fā),從學員熟悉的事物出發(fā),推移到要學習的新知識嘲,降低學員理解難度,提高學習效果。
2 類比教學法的實施
在教學過程中,依據(jù)類比的角度不同,可分為依據(jù)生物學知識、依據(jù)已學知識、依據(jù)生活常識、依據(jù)社會關系等類比方法。
2.1 依據(jù)生物學知識進行類比
生物課是學員在初中和高中均需學習的一門課程,而且學員通過日常生活觀察,已經(jīng)掌握了不少生物知識。依據(jù)生物學知識進行類比,不僅有利于學員理解,而且使課程講述生動形象。
在講授類的繼承與派生的時候,我們指出該概念類似于生物學的遺傳和變異。由父代生出子代,父代可以將自身的一些生物學特點遺傳給子代,所以兒女長得像自己的父母,對應在面向?qū)ο蟪绦蛟O計中指的就是子類擁有父類的數(shù)據(jù)成員和函數(shù)成員,這就是繼承。同時,子代在遺傳的過程中,為了適應新環(huán)境,往往會有一些新特性即產(chǎn)生變異,對應在面向?qū)ο蟪绦蛟O計中指的是子類往往會產(chǎn)生一些新的數(shù)據(jù)和函數(shù)成員。如果沒有變異,那么新生命就無法不斷地適應環(huán)境,不能夠進化,同樣的,不增加新成員,那么子類(派生類)就與父類(基類)一樣,無法解決新問題。
在講授單繼承與多繼承時,指出該概念類似于單性繁殖和雙性繁殖。每個人都有父母,孩子一般會同時具備父母的某些特性,多繼承也是如此。
在介紹派生類構造函數(shù)的調(diào)用順序時,我們指出該過程類似于一個嬰兒的誕生。首先必須有父母,即在派生類的生成過程中首先調(diào)用基類的構造函數(shù);然后嬰兒的器官逐個形成,即調(diào)用派生類內(nèi)嵌對象成員的構造函數(shù);最后嬰兒形成并誕生,即調(diào)用派生類的構造函數(shù),形成一個具體的對象。依據(jù)生物學知識進行類比,我們通過課堂提問、上機練習等環(huán)節(jié)觀察到學員們普遍容易理解并掌握相關知識。
2.2 依據(jù)已學知識進行類比
該類比方法指的是在講授新知識的過程中,將新知識與學員已經(jīng)學過的知識聯(lián)系起來,使學員在一個較高的起點上學習新知識。學員在課程前期的學習中已經(jīng)學習到“類是對具有相同屬性和行為的一組對象的抽象”,即對多個個體進行抽象,以便統(tǒng)一對其描述。因此,在介紹類模板的概念時,我們指出該概念與之前學習過的類的概念類似,類模板的目的也是為了對一組具有相同屬性和行為的對象進行抽象,只不過此時的抽象對象是類。利用類能夠聲明多個個體,在面向?qū)ο蟪绦蛟O計中將其稱為對象,利用類模板同樣能夠聲明多個個體,此時的個體稱為模板類。在聲明的過程中,給類傳遞參數(shù)的接口是構造函數(shù),給類模板傳遞參數(shù)的接口是模板形參表。依據(jù)已學知識進行類比,不僅易于學員理解新知識,而且能夠及時復習已學知識,具有雙重效果。
2.3 依據(jù)生活常識進行類比
該類比方法指的是將面向?qū)ο蟪绦蛟O計知識與學員的日常生活知識聯(lián)系起來。在講授數(shù)據(jù)類型的時候,我們指出數(shù)據(jù)類型類似于日常生活中的衣柜。衣柜的用途在于裝衣服,數(shù)據(jù)類型的用途在于存儲數(shù)據(jù)。對應于不同的房間大小和衣物量,應該選用不同的衣柜,太小,衣物裝不下;太大,房間的空間又不允許。同樣,在面向?qū)ο蟪绦蛟O計過程中,選擇何種數(shù)據(jù)類型取決于待存儲數(shù)據(jù)的范圍和內(nèi)存的大小,應該盡量選用恰好能夠表示待存儲數(shù)據(jù)范圍的類型,避免存儲空間的浪費。在講授靜態(tài)聯(lián)編與動態(tài)聯(lián)編時,我們指出靜態(tài)聯(lián)編只能調(diào)用到指針所對應類型的函數(shù),而無法調(diào)用到指針所指向具體對象類型的函數(shù),這在很多情況下會產(chǎn)生不便。就像舉辦主題演講比賽時,雖然每位選手都是圍繞同一個主題(調(diào)用同一個函數(shù)名),但是觀眾希望選手能夠根據(jù)自身單位特點來演講,不同單位的選手講不同的故事(實現(xiàn)動態(tài)聯(lián)編),而不希望所有的選手講同一個故事。
2.4 依據(jù)社會關系進行類比
該類比方法指的是采用社會關系類比講述面向?qū)ο蟪绦蛟O計中的數(shù)據(jù)關系。在講述派生類對基類的訪問權限控制時,我們指出這類似于父母(基類)對孩子(派生類)的訪問控制。父母對孩子總是大公無私的,因此不管是使用公有繼承、私有繼承還是保護繼承,孩子總是能自由訪問父母可以公開的事情(公有成員),但是父母總有一些個人隱私(私有成員),這些隱私無論采取何種繼承方式,都無法被孩子訪問。在講授類的友元函數(shù)時,我們指出這類似于人的好朋友。人總是有很多隱私和不便公開的事情(私有成員和保護成員),這些事情人們不希望其他人知道,對應地,私有成員和保護成員不能夠在類外訪問;但是人們也會有好朋友,會對他們知無不言,告訴他們自己的秘密,并且有時候告訴朋友秘密能夠帶來很多便利。友元函數(shù)就是類的好朋友,利用它能夠自由地訪問類的私有成員和保護成員,帶來操作上的便利。
3 類比教學法需要注意的問題
3.1 類比對象與程序世界的差異
引入類比方法能使課程講授變得生動易懂,但是也要注意類比指的是相似,而不是相同。雖然面向?qū)ο蟪绦蛟O計課程中有很多概念與現(xiàn)實事物存在相似性,但是仍在某些方面存在較大差別,教員在使用類比法時需要指出這些差異,以免學員照搬類比對象,從而產(chǎn)生誤解。例如,派生類對象的構造就好比嬰兒的形成,構造函數(shù)的調(diào)用順序與嬰兒的形成順序一致,首先是父母,然后是器官,最后是自身。派生類對象的析構就好比生命的消亡,但是派生類對象析構函數(shù)的調(diào)用順序則與生物界不同。在生物界中,生命的消亡一般從父輩開始,然后是子輩;但是對于派生類對象的析構而言,析構的首先是自身,然后是內(nèi)嵌對象成員,最后才調(diào)用基類的析構函數(shù),與生物界正好相反。STL中的vector類似于現(xiàn)實生活中的容器,能夠用來存儲物品即數(shù)據(jù),但是現(xiàn)實生活中的容器容量是固定的,而vector的容量則可調(diào)整,因此在講授這些概念時,教員必須及時指出它們與類比對象的相似和差異。
3.2 與其他教學手段的配合
類比教學法雖然比較直觀易懂,但是也要與其他教學手段配合才能取得較好的效果。一要特別注意與多媒體技術的配合。在使用類比方法時,可以通過圖片、視頻等多媒體技術形象展示兩類事物的共同點,例如使用圖像展示子輩與父輩的相似性,使用視頻展示細胞到嬰兒的整個變化過程。應用多媒體技術不僅能夠使學員獲得震撼的直觀印象,使教員的類比過程易被學員接受,而且能夠使課堂變得生動活潑。二要與案例教學相配合。在課程中期,學員掌握一定的編程技巧后,教員可以布置一些小項目,讓學員通過編程解決問題,并對學員的程序進行點評,指出優(yōu)點和不足。通過實踐提高學員的動手能力,加深其對知識的理解。三要讓學員閱讀和分析知名開源項目。目前網(wǎng)絡上有許多開源的面向?qū)ο蟪绦蝽椖?,這些項目多由資深的程序員編寫,項目文件組織合理,代碼編寫規(guī)范。學員通過閱讀這些代碼,能夠?qū)W到很多編程知識和技巧,而且有助于培養(yǎng)良好的編程習慣。
4 結語
類比教學法降低了學習難度,容易記憶和理解,使學員能夠在已有知識儲備的基礎上學習新知識。通過采用該教學法與其他教學手段相結合,電子工程學院面向?qū)ο蟪绦蛟O計課程教學取得了較好效果。近3年來,學員計算機二級考試通過率維持在90%以上并逐年提高,參加全國軟件專業(yè)人才設計與創(chuàng)業(yè)大賽有14人獲得賽區(qū)一、二等獎,參加全國大學生信息安全競賽多次獲得全國二、三等獎。
類比不是簡單的比喻,它對教員提出了較高的要求,需要教員充分理解面向?qū)ο蟪绦蛘Z言的本質(zhì),并對課程前后知識非常熟悉,因此教員在上課前必須充分備課,努力提高自身素質(zhì),其次要加強類比教學法的素材庫和示例庫建設,努力使學員樂于學、易于懂、會運用,進一步提升教學效果。