時間:2022-10-15 23:57:03
開篇:寫作不僅是一種記錄,更是一種創造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的12篇c語言程序設計論文,希望這些內容能成為您創作過程中的良師益友,陪伴您不斷探索和進步。
關鍵詞:數學地質,數值分析,C語言程序設計,教學方法
數學地質解決地質問題的一般步驟或途徑如下:第一,進行地質分析,定義地質問題和地質變量,建立正確的地質模型;第二,根據地質模型選擇或研究適當的數學模型;第三,運用數值分析理論對數學模型進行求解;第四,運用C語言設計計算機程序,并上機試算;第五,對計算機輸出成果進行地質成因解釋,對所研究的地質問題作出定量的預測、評價和解答。為了很好地解決地質問題,需要同時學好《數學地質》、《數值分析》和《C語言程序設計》三門課程。本文將對《數學地質》、《數值分析》和《C語言程序設計》三門課程的教學內容和方法進行研究,并介紹瓦斯危險性預測數學地質軟件的開發。
1數學地質的教學內容及方法
數學地質(mathematicalgeology)是六十年代以來迅速形成的一門邊緣學科。它是地質學與數學及電于計算機相結合的產物,目的是從量的方面研究和解決地質科學問題。它的出現反映地質學從定性的描述階段向著定量研究發展的新趨勢,為地質學開辟了新的發展途徑。數學地質方法的應用范圍是極其廣泛的,幾乎滲透到地質學的各個領域。
1.1 數學地質的教學內容
數學地質的研究對象包括地質作用、地質產物和地質工作方法。通過建立數學模型查明地質運動的數量規律性。這種數量規律性具體表現為地質體的數學特征、地質現象的統計規律以及地質勘探工作中存在的概率法則。其內容可概括為以下3個方面:①查明地質體數學特征,建立地質產物的數學模型。例如礦體數學特征是指礦體厚度、品位等標志變化的數量規律性。按其屬性可劃分為礦體幾何特征、空間特征、統計特征和結構特征等4類。比如,盡管礦產有多種多樣,但礦石有用組分品位的統計分布卻服從正態分布、對數正態分布等有限的幾種分布律。從它們的分布特征可以分析判斷其成因特點,而且各類數學特征還具有不同的勘探效應。②研究地質作用中的各種因素及其相互關系,建立地質過程的數學模型。如盆地沉積過程的數學模型,地層剖面的計算機模擬,巖漿結晶過程的馬爾柯夫鏈分析等。③研究適合地質任務和地質數據特點的數學分析方法,建立地質工作方法的數學模型。論文寫作,C語言程序設計。例如,對于地質分類問題,可根據研究對象的多種定量指標,建立聚類分析或判別分析的數學模型,對所研究的地質對象進行分類或判別。又如針對大量的描述性的地質資料,通常可將其轉化為0~1變量,建立各種二態變量的多元分析模型(邏輯信息模型、特征分析模型、數量化理論模型等),以解決地質成因分析和成礦遠景預測等各類地質問題。論文寫作,C語言程序設計。
1.2 數學地質的教學方法
數學地質的教學方法可概括為:①數學模型法。應用最廣泛的是各種多元統計模型。例如用于地質成因研究的因子分析、對應分析、非線性映射分析、典型相關分析;用于研究地質空間變化趨勢的趨勢面分析和時間序列分析方法等。②概率法則和定量準則。由于地質對象是在廣闊的空間、漫長的時間和復雜的介質環境中形成發展和演變的,因此地質現象在很大程度上受概率法則支配,且具有特定的數量規律性,這就要求數學地質研究必須遵循和自覺運用概率法則和定量準則。同時,地質觀測結果不可避免地帶有抽樣代表性誤差,因此對各種觀測結果或研究結論都要做出可靠概率的估計和精度評價。以礦產定量預測為例,不僅要求確定成礦遠景區的空間位置,而且應給出可能發現礦床的個數及規模,發現礦床的概率,查明找礦統計標志的信息量、找礦概率及有利成礦的數值區間等。
數學地質的主要研究手段是電子計算機技術,其中包括:①地質過程的計算機模擬,該項技術可以彌補物理模型法和實驗地質學法的不足;②建立地質數據庫和地質專家系統,以便充分發掘和利用信息資源和專家經驗;③計算機地質制圖;④地質多元統計計算及其他科學計算。
2數值分析的教學內容及方法
數值分析(numericalanalysis)是研究分析用計算機求解數學計算問題的數值計算方法及其理論的學科,是數學的一個分支,它以數字計算機求解數學問題的理論和方法為研究對象。為計算數學的主體部分。
2.1 數值分析的教學內容
運用數值分析解決問題的過程:實際問題→數學模型→數值計算方法→程序設計→上機計算求出結果。數值分析的教學內容包括插值法,函數逼近,曲線擬和,數值積分,數值微分,解線性方程組的直接方法,解線性方程組的迭代法,非線性方程求根,常微分方程的數值解法。論文寫作,C語言程序設計。
數值分析具有如下特點:第一,面向計算機。第二,有可靠的理論分析。第三,要有好的計算復雜性。論文寫作,C語言程序設計。第四,要有數值實驗。第五,要對算法進行誤差分析。
2.2 數值分析的教學方法
根據數值分析的特點,教學時首先要注意掌握方法的基本原理和思想,要注意方法處理的技巧及其與計算機的結合,要重視誤差分析、收斂性及穩定性的基本理論;其次,要通過例子,學習使用各種數值方法解決實際計算問題;最后,為了掌握數值分析的內容,還應做一定數量的理論分析與計算練習,由于數值分析內容包括了微積分、代數、常微分方程的數值方法,學生必須掌握好這幾門課的基本內容才能學好這一課程。
3C語言程序設計的教學內容及方法
C語言是一種計算機程序設計語言。論文寫作,C語言程序設計。它既有高級語言的特點,又具有匯編語言的特點。它可以作為系統設計語言,編寫工作系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬件的應用程序。因此,它的應用范圍廣泛。
3.1 C語言程序設計的教學內容
C語言程序設計主要有兩方面教學內容:一是學習和掌握C語言的基本規則;二是掌握程序設計的方法和編程技巧。“規則”和“方法”即語言和算法,是本課程的兩條主線,二者不可偏廢其一。從一定意義上說,“方法”更重要,因為它是程序的靈魂。一旦掌握,有助于學生更快、更好地學習和使用其他的程序設計語言。
3.2 C語言程序設計的教學方法
C語言程序設計是一門實踐性很強的課程,對C語言初學者而言,除了要學習、熟記C語言的一些語法規則外,更重要的是多讀程序、多動手編寫程序。學習程序設計的一般規律是:先模仿,然后在模仿的基礎上改進,在改進的基礎上提高。做到善于思考,勤于練習,邊學邊練,舉一反三,學會“小題大做”,一題多解,這樣,才能成為一個優秀的C程序員。
4瓦斯危險性預測數學地質軟件的開發
瓦斯危險性預測包括瓦斯含量預測、瓦斯涌出量預測和瓦斯突出預測。在利用數學地質技術進行瓦斯危險性預測時,需要進行大量的計算工作,一般要求用計算機完成其數學建模和未采區預測工作。隨著計算機軟硬件和可視化技術的發展,編制高速、高效、準確、靈活、用戶界面友善的數學地質預測軟件,是瓦斯地質研究向定量化發展的需要。論文寫作,C語言程序設計。
4.1 數學地質模型的建立
瓦斯含量預測和瓦斯涌出量預測采用回歸分析建立數學模型,即通過規定因變量和自變量來確定變量之間的因果關系,建立回歸模型,并根據實測數據來求解模型的各個參數,然后評價回歸模型是否能夠很好的擬合實測數據;如果能夠很好的擬合,則可以根據自變量作進一步預測。
瓦斯突出預測采用判別分析建立數學模型,即按照一定的判別準則,建立一個或多個判別函數,用研究對象的大量資料確定判別函數中的待定系數,并計算判別指標。據此即可確定某一樣本屬于何類。
4.2 數學模型的求解
對建立的數學模型,采用迭代法對線性方程組進行求解,即利用計算機運算速度快、適合做重復性操作的特點,讓計算機對一組指令(或一定步驟)進行重復執行,在每次執行這組指令(或這些步驟)時,都從變量的原值推出它的一個新值。
4.3 數學地質軟件的開發
采用C語言編寫計算機程序,開發數學地質軟件。瓦斯危險性預測軟件的操作較為簡便,功能較為齊全。在軟件主界面菜單欄的菜單項下面,可分別進入瓦斯含量預測,瓦斯涌出量預測、瓦斯突出預測的對話框模塊。在對話框里分別輸入變量數據和數據文件,運行數據文件,按下詳細資料或判別結果按鈕,可以查看運算結果。按下預測未知單元按鈕可進入預測對話框。
5結論
1)對數學地質、數值分析、C語言程序設計教學內容及方法的研究為解決地質問題提供了便利途徑。
2)瓦斯危險性數學地質軟件的開發較好地運用了數學地質、數值分析、C語言程序設計的理論和方法,為數學地質、數值分析、C語言程序設計的教學提供了應用實例。
參考文獻:
[1]韓金炎.數學地質[M].北京:煤炭工業出版社,1993.1-282.
[2]姚傳義.數值分析[M].北京:中國輕工業出版社,2009.1-373.
[3]賈宗璞,許合利.C語言程序設計[M].徐州:中國礦業大學出版社,2007.1-378.
關鍵詞:單片機;課程實踐;答辯;KEIL C
中圖分類號:G642 文獻標識碼:A 文章編號:1009-3044(2013)36-8369-02
單片機課程實踐是高校自動化專業集中實踐環節的必修課,是學生學習《單片機原理》課程后,進行的一次全面的綜合實踐,其目的旨在加深對單片機基礎理論和基本知識的理解,培養學生具有單片機系統應用軟件設計和開發的能力,在具體實現過程中強化學生的實踐意識,提高應用能力、創新意識和合作精神。在項目的實踐中,使得學生掌握一定的理論與技術知識,而且應該樹立管理理念,建立項目工程思維觀念,而這一點正是高級語言編程思維的一種體現。
通過將單片機課程實踐和高級語言程序設計實驗相結合,使學生在理解單片機理論和高級語言編程思想的基礎上,實際動手開發一個實際的應用系統,來提高綜合運用所學理論知識的能力。
1 研究內容或對象
引導學生運用已學的單片機理論知識、單片機程序設計方法和高級語言編程思想,具體設計一個實用的小型單片機應用系統,開發設計過程按以下順序進行――選定課題、調查用戶需求、總結歸納數據流程、分析性能、書寫需求分析及總體設計報告(包括組成原理圖、硬件連接、程序流程、系統功能模塊)、完成應用系統的開發、撰寫課程實踐報告、系統驗收、組織課程實踐答辯。讓學生在這一系列工作中綜合運用單片機系統原理以及編程語言等相關課程知識,培養學生的綜合素質。
根據單片機課程實踐和專業課程實踐兩個實踐教學環節各有4~5周但分散的實際情況,考慮將其進行整合。并在實踐教學環節中安排相應的指導老師對學生進行必要的指導和幫助,為學生提供分析思路,解決學生項目完成中碰到的實際問題。
2 研究擬達到目標
通過在單片機課程實踐中結合高級語言編程思想,使學生在掌握單片機理論基礎知識的同時,通過參與項目的分析、設計與實現,建立軟件工程理念,具備一定的理論與單片機實物實踐相結合、解決實際應用問題的能力。同時在完成項目的過程中,鍛煉科研開發能力和科研論文寫作能力,為大四的畢業設計和畢業論文的順利完成奠定基礎,并為以后工作中的理論與實踐相結合奠定良好的基礎。
使學生在單片機課程實踐和高級語言程序編程實踐相結合的實踐教學環節中,利用所學的單片機系統原理和C語言程序設計基礎知識設計單片機應用系統,解決單片機系統應用中的實際問題,掌握高級語言編程思想,借助相關編程工具,完成一個小型項目的自主分析、設計與實現。
3 主要研究方法
教師提供部分項目供學生選擇,學生亦可自擬項目,但課題的選擇要由教師審查核準。項目盡量選擇實際需求的題目,讓學生走出校園,通過調查走訪,了解國內單片機應用發展的狀況,開闊眼界,而且在開發一個真實項目的過程中,帶來求知的源動力,激發學生自主學習的渴望以及創造力;對于虛擬項目,要求學生做到切合實際需求,能解決一定的應用問題,有一定的應用價值。
編程開發工具原則上推薦學生使用KEIL C,如果學生認為其它開發工具更適合可由學生自主選擇。由于實際可用的編程開發工具與日俱增且不斷更新,為此在課程實踐中,對學生開發工具的選擇不做過多限制,使得學生可以選擇自己感興趣的程序設計工具進行項目開發,既鍛煉了學生自學的能力,又能讓學生成為項目開發的決策者,這種主人翁意識使得學生變被動學習為主動學習,從而激發學生自主學習的積極性。
為了防止學生對課程實踐任務敷衍了事,對課程實踐的考核方式由原來的提交程序和文檔改變為答辯的方式。且在集中教學環節之前就讓學生明確單片機課程實踐的任務,同時考慮在集中教學環節結束后適當放寬學生上交可運行的項目程序和課程實踐報告以及組織答辯的時間,讓學生能更好的延續自主學習的積極性并進一步完善項目的開發。
4 特色、創新及推廣應用價值
通過將單片機課程實踐和高級語言程序設計基礎實驗相結合,讓學生在項目的分析、設計、與實現的過程中掌握單片機理論知識、單片機系統應用的設計方法和高級語言程序編程思想 ,提高自動化專業學生理論與實踐相結合的能力,激發學生的學習積極性和主觀能動性,提高學生解決實際應用問題的能力。
《單片機原理》課程實踐教學,將單片機課程實踐和高級語言程序設計實驗兩個教學環節有機整合,讓學生能在該實踐教學環節中綜合運用單片機系統原理和高級語言程序設計基礎以及相關編程思想等多種知識,培養初步的科研能力和科研論文寫作能力以及團隊合作精神。并通過組織課程實踐答辯使學生進行類似畢業答辯的演習。
在自動化專業學生的單片機課程實踐教學環節中,通過團隊合作的方式,以共同完成項目為目標,讓學生在單片機課程實踐中綜合運用所學的單片機系統原理和高級語言程序設計基礎的理論知識來完成項目的分析與設計,并借助相關的編程語言來完成項目的編程實現。將原本獨立但有高度關聯的兩個實踐教學環節進行有機整合,可以讓學生有更多的時間來系統而連續的綜合運用所學的相關知識,進而更好的將理論與實踐進行有機結合,激發學生的學習熱情,提高學生的學習積極性。
關鍵詞 C語言程序設計;過程監控;螺旋式上升
中圖分類號:TP311.1 文獻標識碼:B
文章編號:1671-489X(2017)06-0084-03
1 引言
C語言程序設計是理工科專業(如電子信息與科學、通信工程、物聯網技術和應用數學等)的基礎課程,嵌入式系統中的單片機與DSP程序設計,采用C語言編寫應用程序比匯編語言可讀性更強,且更易于維護[1]。該課程的學習目標是不僅要使學生學習程序設計的基本概念和基礎方法,學習編程規則,還要培養學生的計算思維能力、理論與實踐相結合的解決專業領域問題的應用能力,提高專業化教育過程中的創新培養層次。
然而絕大多數學生在剛開始接觸C語言程序設計這門n時,對計算機語言、算法和數據結構知之甚少,更不具備抽象建模、程序設計技巧的相應知識[2]。加上這是第一門程序設計課,大量的新概念、新名詞讓學生感覺應接不暇,在剛剛接觸編寫程序時毫無頭緒,只能仿照現成的例子照貓畫虎,進行淺層次的驗證性實驗,根本掌握不到程序設計的精髓,更達不到計算思維能力的培養,以致該門課程教學質量普遍不高。
為了解決這些問題,筆者在長期教學實踐中總結教學經驗、探索教學方法,提出“基于專業內容,以解決本專業問題為導向,以計算機圍繞專業問題服務為原則,促進學生個體發展,增強學生創新意識,產生創新能力”的教學思想。針對C語言程序設計課程特點,從教學理念、考核形式、教學方法、課程內容等方面做了大膽的改革與創新,采取多種教學方法和教學手段相結合,提高學生學習興趣,取得良好的教學效果。
2 精心設計以解決本專業問題為導向的教學案例
在以往的教學活動中,大部分學生的基礎知識雖然掌握得不錯,但在靈活解決實際問題方面,還是有不小距離的。他們雖然心中有一些解決問題的模糊思路,但不會將想法轉換成程序,甚至還有一些學生直到最后也不會把實際問題變換成算法設計。針對上述問題,課程組教師在教學內容的安排上注重在C語言教學中緊密結合本專業特點,本著“精講多練,重實用,重算法”的原則,結合專業方向對C語言程序設計課程教學內容的差異化要求,確定分專業分層次的教學內容,制度詳細的教學任務,選擇各專業的經典問題作為課堂教學案例。以專業知識為基礎,以解決專業問題為目標,采取任務驅動、因材施教的方式,創建多元化的教學體系,能夠激發學生的學習興趣。
將單純的C語言程序設計教學與專業領域應用相結合,把計算機程序設計作為解決專業問題的工具,有利于學生了解C語言程序設計作為“專業工具”的作用,便于學生對C語言精髓的掌握,能夠培養學生的計算思維能力、邏輯思維能力和邏輯推理能力,以及利用計算機解決本專業問題的能力,提高學生學習本課程的主動性、積極性,促進學生個體充分自由地發展,培養學生的應用能力和創新能力。
3 項目遞進驅動教學法
在實驗教學過程中,制定各專業領域相關實訓項目,以由易到難、循序漸進為主線,采取多層次的項目拓展訓練、遞進式的螺旋式教學方法,讓學生整體提高程序設計能力。整個教學設計分為三個階段。
編程基礎準備階段 本階段的教學內容主要是以本專業的經典問題作為課堂教學案例,引出本課程單元基礎知識。在這一部分教學中通過教師對教學案例的講解,學生通過實訓項目的上機操作,會出現輸入、編寫等問題,通過解決實訓時出現的問題加強對語法、編程規則的掌握。本著“精講多練,重實用,重算法”的原則,用大量典型案例進行實訓,起到拓展學生編程思維的作用。如在為數學專業設計程序三大基本結構項目時,本階段的教學案例分別為分支結構為分段函數的計算、循環結構為求1到10之間的自然數的和。
項目拓展階段 通過基礎階段的訓練,學生已經初步對程序設計有感性認識,并有一定的計算思維基礎,本階段的任務設計上以第一階段的任務為基礎,將與此相近、相關的案例進行總結,主要是通過實訓項目的形式來鞏固基礎階段的訓練成果,養成良好的編程習慣。如在為教學數學專業設計程序的三大基本結構項目時,本階段讓學生完成的項目有:求1到100之間自然數的和、判斷某數是否為素數、求1到100之間的素數、打印楊輝三角形、輸出各種形式的九九乘法表等。實訓題目按類別設計,同類的實訓項目一般設計多個,每個題目又根據難易程度設置不同的分值(方便后期的多元立體化評價),學生可根據自己對知識掌握的情況和自己的興趣愛好選擇一部分題目來練習。但不管是容易的題目還是難度較大的題目,都必須嚴格按照要求提交相關文檔以及編寫的程序代碼。
項目遞進階段 本階段讓學生自由組合成3~5人的互助式小組,以大作業的方式對整個學習階段的效果進行鞏固,同時進行測試和驗收。由于任務量比較大,所以該階段主要在課下完成。在本階段中,教改組成員在對不同專業做了詳細調研的基礎上,精心設計若干個與大學生各類競賽緊密結合的、貫穿整個教學過程的大項目作為本階段的任務。教改組成員為數學專業學生設計的課程大項目是學生成績管理、分析系統,該系統用到大量的數學分析函數來實現對學生成績的統計分析,要求學生盡量自己編寫這些數學分析函數,然后和系統提供的函數做出比較。為電子信息科學與技術專業學生設計的課程大項目是汽車導航系統,該系統用到硬件之間的通信和C語言基礎編程,讓學生看到原來C語言還可以做出如此高級的產品。這一階段主要以學生自主完成作業、教師負責答疑的形式進行,教師對學生提出的問題并不直接給出答案,僅僅給予學生一定的指引,引導學生通過各種途徑查找資料,促使學生自覺利用互聯網、校園網、圖書館、BBS教學網站系統來輔助本課程的學習,幫助學生學會文獻檢索的技能,為學生在以后的學習和工作中保持繼續學習打下堅實的基礎。在這一階段中,要求學生必須提供完整的項目文檔并完成教師組織的簡單答辯。
以上三個階段中,除第一階段由任課教師為學生寫出項目文檔大綱、學生進行補充完善外,其他兩個階段學生都要獨立撰寫項目文檔。在第二、三階段中,教師將學生分成若干小組,每個人作為小組的成員,都有分工,每個小組選出一名小組長負責整個小組內部以及小組之間的協調和管理工作,小組和小組之間以競賽的形式完成各個實訓題目并相互評價。教師H僅起到“導師”的作用,幫助學生打開解題思路,及時引導學生總結歸納編程技巧和語法知識,為學生提供技術支持。通過小組學生之間的討論和協作,提高他們學習C語言的主動性,同時也鍛煉了學生的團隊協作能力[3]。最終要求學生以小組為單位提交相關文檔以及編寫的程序代碼來檢驗本階段的教學效果,避免了以前個別學生抄襲別人報告的現象。
4 制定合理的過程監控機制,有效記錄學生的學習過程
積極探索有效記錄學生學習過程的監控機制,以上每個階段結束,任課教師都會及時對學生項目中的亮點和不足進行分別講解,并認真對學生的每個項目進行批注,以便學生進行改進。同時為每次作業劃分等級,讓學生明確自己本次學習所處的層次,讓學生既有學習的興趣,又有學習的壓力和動力。期末考核方式參考平時作業成績,采取“筆試+實驗考核+開放式作業+課程論文”的形式進行過程考核,積極探索C語言程序設計課程的“嵌入式”考核方式。
5 以解決本專業問題為導向的教學法的教學效果
基于專業內容的案例教學,培養了學生的學習興趣 以“加強基礎、拓寬專業、注重實踐”為原則,以案例教學、任務驅動、螺旋式上升模型等多元化的教學體系引導學生學習,把計算機程序設計作為解決本專業知識的工具,以本專業經典問題為導向的課堂教學案例,促進學生對專業知識的加深理解,使學生體會到C語言程序設計課程在專業學習中的地位,培養學生的計算思維能力、邏輯思維能力和邏輯推理能力,以及利用計算機解決本專業問題的能力,提高學生學習本課程的主動性、積極性,促進學生個體充分自由地發展,培養學生的創新能力。
螺旋式上升的項目任務,激發了學生的求知欲 項目遞進驅動的教學法,通過一個比較實際的切入點,特別是再通過附加一些微視頻,微視頻中教師一步步的詳細演示使學生感覺能夠入手,解決了學生學習程序設計課程的恐懼心理,然后再將此實例不斷修改、擴充,加大難度,引出與此實例相關的一組例子。在這樣的案例教學中,因為有提出問題、解決問題、擴展問題、再解決問題、對解決問題的方法進行評價、優化設計等幾個環節,實際上是一個循序漸進、螺旋式滾動上升的過程[4]。
在案例教學過程中,學生和教師相互提出問題、共同解決問題、深化和擴展問題、再提升解決問題、并對問題解決方法進行評價,這就是一個不斷漸進、提升的過程,在這個螺旋式上升的過程中,能夠非常自然地調動學生的參與。通過不斷擴展一個問題的多種解決方案并對多種方案進行對比,有效開闊學生的思維,強調學生的學習主體地位。這種層層推進的教學方法避免了學生“三級跳”式學習,而有了“走臺階”的扎實基礎,使學生在解決實際問題的過程中完成學習任務,實現計算思維能力培養與專業實際應用的無縫融合,激發學生的求知欲,增強學生的自信心。
立體化的過程監控機制,克服了學生臨時抱佛腳的學習劣習 “筆試+實驗考核+開放式作業+課程論文”的“嵌入式”過程考核機制,使得學生重視學習過程,避免考試前臨時抱佛腳的學習劣習。這種監控機制和“課堂教學實驗教學創新實踐”理論與實踐相結合、相輔相成、相互促進的螺旋式上升模型新教學手段,更符合各專業的教學需求。
6 結語
綜上所述,從專業內容出發,以解決專業實際問題為導向的C語言教學方法是以建構主義學習理論為指導,通過選取專業領域的經典問題,以協作學習的方式開展學習,通過完成最終的工程項目來達到意義建構。它突破了一般的教學模式,通過解決學生本專業的經典問題來實現學生對C語言程序設計知識的掌握,學生通過螺旋式上升的遞進教學法的學習,計算思維能力、解決專業領域實際問題的能力有了極大提高,大大提高了學習本課程的積極性和主動性。本文的教學理念和教學方法不但對非計算機專業學生的C語言課程教學效果比較好,對計算機專業學生的C語言教學也是很好的借鑒。特別是針對目前學生學業水平差異大、自主學習能力差的現狀,加上本課程應用性強的特點,本文的教學方法有其卓越的表現。
參考文獻
[1]馬玉春,汪文彬,王冬,蘇靜.面向工程技術的C語言程序設計教學實踐研究[J].瓊州學院學報,2011,18(5):64-68.
[2]姚志宏.中等職業教育中C語言教學改革[J].實驗教學與儀器,2013(6):45-47.
關鍵詞:民辦高校;C語言;教學改革
中圖分類號:G642 文獻標識碼:A 文章編號:1009-3044(2015)30-0104-03
《C語言程序設計》是針對我校理工類專業大一新生所開設的一門重要的專業基礎課程,該課程是目前高校最流行和實用的一種計算機高級程序設計語言,是進行程序設計教學和計算機軟件開發的主要工具之一,也是理工類專業學生學習其他相關專業課程的一座重要橋梁,因此,該門課程一直是高校所開設的高級語言課程之一。
1 現狀分析
筆者通過問卷調查的方式,了解目前我校教師在《C語言程序設計》這門課程教學方面的現狀及學生的學習情況,分析,總結了師生普遍感到這門課程難教、難學的原因,覺得有以下幾個方面。
1.1 我校學生的學習積極性處于比較低層次
大多數學生是少數民族,入校時學習基礎比較薄弱,對中文的學習能力和理解能力比較弱,邏輯思維能力和動手能力相對比較差,對學習的自信心不太強,學習的主動性和積極性也有所欠缺,大部分同學自主獲得知識的能力偏差,總的來說,他們的學習能力處于較低層次,學習方法比較落后,在學習過程中,對中文的理解能力欠佳,大多同學,不理解課堂上老師所講的內容,只會采用死記硬背的方法,被動地記憶教師講授的基本概念、語法知識等,上機也只會調試程序,根本設計不出程序,對上機實踐操作興趣不高,缺乏對所學知識的綜合運用能力,不會舉一反三,給自己增大了莫名的學習負擔,編程上遇到一些困難就容易退縮。尤其是在大一第二學期階段,有不少學生對計算機的基礎知識及操作還不太熟悉,程序設計課程對初學計算機的非計算機專業學生來說顯得更加抽象、一些程序設計的流難以理解,這往往是導致學生的學習興趣不高,產生畏難、甚至恐懼情緒的原因,最終導致厭學的后果。
1.2 教學內容的組織不太合理
教學內容的組織和教學方法對培養和增強學生的學習興趣和學習信心起著極為重要的作用。《C語言程序設計》這門課一般都是在大一階段第二學期開設,此時學生對計算機的系統結構、工作原理有了一定的了解,但對高級語言程序設計方面的內容,了解的甚少。因此,針對我校學生的基礎特點,現對《C語言程序設計》這門課程內容進行提煉,減少傳統的C語言教材較為復雜語法知識、算法等知識,傳統教材一開始上來的幾節課便是介紹和計算機硬件結合緊密術語、數據類型、語法規則,算法流程等基本概念,學習內容顯得相當的抽象、繁雜、枯燥,新概念名詞和規則如排山倒海般涌來,學生在學習過程中感覺學習的內容相當多,而且比較枯燥乏味、跟實際生活毫無關聯,頓感學習壓力很大,對程序設計的好奇心和期待隨著前幾節課云山霧罩般語法知識和規則的涌來消失殆盡,一開始滿懷的學習熱情受到壓抑,因而失去進一步的學習興趣和學習信心,失去學習動力,甚至有極少學生因而產生畏懼情緒選擇放棄,不利于課程的進一步學習。
1.3 上機實踐存在問題
《C語言程序設計》是一門實踐性很強的課程,主要培養學生的動手能力和編程能力,所以,實踐教學對這門課程來講,非常重要,很多理論知識必須要通過上機動手調試才能夠加深理解,幫助學生掌握和鞏固所學知識。目前,許多高校的《C語言程序設計》這門課程的考試形式基本上是采用筆試,考試的主要內容僅僅是對所學的理論知識進行檢測。這種考試形式使得學生在平時只注重理論知識的學習,不太重視實驗實踐的環節,另外,也有因為硬件環境或課時原因而造成學生上機實踐課時不足,使得學生的理論知識學習與實踐環節脫節,反過來影響了對理論知識的深入理解和掌握。
2 教學內容的改革
重構《C語言程序設計》課程教學大綱,包括理論教學大綱和實踐教學大綱,課程內容分為2個階段,第一階段C語言基礎,第二階段是程序設計。制定的新課程教學大綱“本著理論夠用,重在實踐”的教學理念,強調學生的自主學習能力、創新能力、程序設計能力和對所學知識的綜合應用能力。教學內容由淺入深,由易到難,降低程序設計的難易程度,加強程序設計中分析問題和解決問題的深度和廣度,教學內容循序漸進,螺旋式上升。增加新知識、新理論以及交叉學科知識的介紹,補充教材難以編入的學科發展的前沿知識,充分體現該課程教學大綱的系統性、實用性、實踐性、科學性、先進性。
該門課程的開設64課時,其中理論32課時,實踐32課時,在教學實施過程中,在充分掌握理論知識的同時,加強實踐教學。通過修訂教學大綱、課程標準、授課計劃等相關教學文件,著力加強實踐教學,并對實踐過程進行單獨考核。另外,為了彌補不同層次學生對不同知識的需求情況,將實驗項目計劃增設了選做內容和必做項目,要求學生根據自己的學習情況選做相應的項目,利用業余時間完成。在實踐教學過程中推行“項目驅動、小組合作”的實踐教學模式。選擇趣味性強且與學生生活貼近的項目作為教學主線,合理布局第一個項目,將每個實踐項目分解成一個個體現相關的知識點又與實際生活緊密相連的子項目,對應理論教學的各個教學知識點,把相關的知識點融入到項目的各個環節中去,層層推進項目。通過對項目中的問題的深化和知識點的補充,來拓寬學生對所學知識的深度理解,實現獨立完成項目的目的,從而達到學習知識、培養能力,提高實踐能力的目的。
另外,在教學內容的選擇上,尤其是介紹新內容時,避免選取復雜程序或學生不熟悉的數學、物理等問題作為案例,盡量選擇學生平常比較熟悉的問題來進行分析講解程序設計。在學生了解了新的知識點及新的編程方法后,再擴展介紹新方法的應用和一些常見的技巧,由淺入深,有利于學生了解掌握有一定難度但常用的一些編程技巧。
在教學內容的安排上,以程序設計思想為教學內容的主線,圍繞著一個學生熟悉項目,努力讓學生能主動而非被動接受新教學內容。用教學項目把整個課程諸多關聯的知識點有機地聯系起來,緊緊圍繞著一個案例,如學生進行計算器的設計,從這個主題出發,循序漸進,逐漸延伸、拓展,隨著帶領學生不斷提出新的用戶需求并主動設法解決,引出能滿足新要求的方法和相關知識點。
3 教學方法的改革
按照我校學生的實際情況,制定符合我校學生實際的課程標準、教學大綱,圍繞本課程的教學目標,根據《C語言程序設計》課程和學生的特點,按“夠用、實用”為原則對傳統的教學內容進行重新組織,合理取舍設置教學內容。教學內容上舍棄了一些不常用的語法和章節,注重強調基礎性、實用性和實踐性,同時,兼顧教學和自學兩方面的適用性。例如:可以先帶領學生完成一個簡單的項目――設計一個簡單“加減乘除”的計算器程序,做簡單的輸入二個數據、然后計算結果和輸出計算結果的工作,而后再給學生進一步講解完成每一步工作所用的相關語法知識和需要注意的問題。而學生對兩個數據的“加減乘除”的處理方法很熟悉,學生通過把平常熟悉的工作用計算機語言描述出來并在計算機上運行得到所需的工作結果,讓學生體會到C語言程序的神奇而不神秘,有趣而不難學,體會到用計算機解決問題步驟的條理性、邏輯性和掌握相關語法知識的重要性,減少、消除學生初學程序設計語言時的神秘感和恐懼感,激發學生的學習興趣和求知欲望。
形成“三結合一補充”的教學方法,即:“理論教學與實踐教學相結合、自主學習與過程評價相結合、平時考核與開放考試相結合,模擬項目對課堂教學進行補充”的教學方法;充分利用信息技術手段,滿足學生的個性化發展,包括多媒體教學手段、網絡課堂、數字圖書館等。
3.1 采用任務驅動式的項目教學法
在理論教學過程中,拋棄傳統的從介紹基本概念、語法知識和規則再到舉例說明它們的應用的教學方法,采用任務驅動式教學方法。在教學過程中,全程貫穿任務驅動式教學的思想,按照提出問題、分析問題、解決問題的邏輯思路,引導學生主動參與從接受任務到如何完成任務的整個過程中,改變以往的被動接受為主動學習,充分發揮主觀能動性,積極地思考、學習和掌握編程知識和編程方法,鍛煉提高分析問題和解決問題的邏輯思維能力。
3.2 采取有效的講課方法
在課堂教學過程中,采取有效的講課方法,調動學生積極性。如采用師生互動法,避免傳統的“滿堂灌”、“填鴨式”教學方法,以免學生因被動學習產生抵觸情緒。加強師生互動,采用小組合作的教學模式,融“教學做”為一體,引領學生積極參與教學中,主動提問題,積極思考解決問題。在利用基礎知識解決問題的過程中,培養學生舉一反三的能力,適時提出或引導學生提出一些進一步的要求,拓展學生的思路,讓學生從如何編出程序能解決問題再進一步提高到如何把問題解決的巧妙些、任務完成的更好些、程序的質量更高些,培養學生的問題求解、編程及創新能力。
圖1 采用“教、學、做一體化”的教學模式圖
對于重點、難點的問題,要采取有效的講課方式和思路進行講解,如啟發式、循序漸進式、師生互動式、實例法、類比法等方法,可以有效突出重點、化解難點。如幫助學生對循環控制變量作用的理解,可以類比環形跑道上的長跑裁判員統計運動員所跑的圈數并給出最終判斷。
對于一些比較抽象的、難于理解的內容,借助動畫將其轉化為直觀的形象便于學生理解。如講解數據冒泡排序時,我們老師做了教學動畫幫助學生理解一組數據排序的過程及最后最終結果,這樣學生對抽象的一組數據的排序就容易理解了。
在教學手段上,充分利用多媒體教學和傳統板書的優勢互補,在碰到難點內容時,我們制作微課,幫助同學們理解較為抽象的內容。使用多媒體電子課件和微課相結合的方式,演示程序設計中的難點部分,提高教師、學生的教、學效率,利用微課,提高學生的學習積極性。因此,結合傳統板書來講課,寫出重點難點,畫龍點睛,幫助學生加深對重點內容的印象,理清程序運行過程中的數據變化情況。尤其在初期講解程序設計時,利用板書逐步寫出程序的效果更好些,這樣在整個板書過程中能夠有效控制要講解的內容,思考、提問、修改等環節有機結合起來。使得學生的思路能與教師的講解保持同步。
3.3 實驗教學的改革
讓學生明確編程理論知識必須要通過上機動手調試才能加深理解和掌握,思維能力、編程能力等都需要通過實踐教學來培養,建立重視實踐教學的新理念,主動積極參與實踐教學。將實驗內容設為基本篇和提高篇,基本篇用以鍛煉學生應用基本知識編程解決簡單問題。在此基礎上提出更高的要求,設為提高篇用以鍛煉學生能靈活運用所學知識編程解決較為復雜的問題,培養學生探索創新能力和實踐能力。
為保證實驗的效果,要求學生必須做好上機前準備,設計源程序和調試中可能會出現的問題及解決方法,實驗結束上交源程序,課后上交實驗報告。
3.4 建設多元的立體化教材
積極進行立體化教材的建設和實踐。其中包括教材、教學大綱、實驗大綱、實驗指導、教案、電子多媒體課件、微課堂、教學網站、題庫、習題集等。 出版1部教材。由筆者參編的《C語言程序設計項目教程》是以項目教學為編寫思想,在該教材中融入大量最新的以同學們生活非常貼近具有趣味性的教學案例和操作性非常強的實例,力求提高教材的通讀性和實用性,強化學習實踐操作能力,做到“教師易教,學生易學,技能實用”。
教案中除教學目的與要求、教學重點和難點、教學內容等內容外,根據《C語言程序設計程序設計》課程特點,編寫了課后的作業題、思考題等內容,電子教案內容非常充實,充分體現了教師與學生之間、學生與學生之間的互動;在多媒體課件內容的設計上,盡量簡明扼要,突出重點,只要有用的;知識點之間的銜接思路清晰,既包括了教材的所有內容,在又能激發少數民族學生的學習興趣,取得良好的教學效果;本課程電子課件、作業、課后思考題、教學大綱等均通過網絡以精品課程的形式對全校所有同學開放,另外有充足的網絡教育資源加上對于該門課程的難點內容利用微課來展現,這些對提高學生的自主學習能力,培養學生的學習興趣,發揮了積極作用。
4 考核方式的改革
考核對學生的學習起著重要的引導和促進作用。改變以往以筆試為主的考試方式為全面考核,既要考核學生的理論知識,也考核學生上機動手實踐能力。為了更加公平、公正的檢測學生的學習效果,體現教學改革的效果,《C語言程序設計》課程采取“過程考核”和“期末考試”相結合的方式,改變傳統的一考定成績的方式,過程考核是以上機操作為主,突出學生的實踐能力的培養,在進行完一個知識點的學習后,就進行相應的考核,讓學生更好地掌握自己的學習情況,以及與同學之間的差距,根據考核結果調整學習計劃;期末考試,以試卷考核為主,主要考查同學對所學理論知論的綜合應用能力。
5 評價方式的改革
在《C語言程序設計》這門課程的教學改革中,對考核的評價方式作了大量的修改,制定了符合我校學生實際,又能激發學生學習熱情的考核方式。在該門課程的考試中,除了期末的考試由教師來評價之外,對學生的實踐操作采取了過程性的考核方式,其中過程性的考核采用了“學生評價、學生互評、教學評價”等多種評價方式,激發了學生的學習興趣。
6 總結
本課程的教學改革在我校實施一年以來,取得了一定的成效,但教改成果與國家精品課程標準有相當大的差距和不足,我們將繼續加大《C語言程序設計》這門課程的教學改革國度,加強教學研究,發表高水平教學論文,完善網絡教學資源,加強課程在線學習手段,提高學生的自主學習能力,最終增強學生對所學知識的綜合應用能力。
參考文獻:
[1] 任淑美, 李寧湘, 陳杰. 《C語言程序設計》課程教學改革與實踐[J]. 計算機時代, 2014(7): 65-67.
關鍵詞:高職院校,程序設計,語言,教學方法
一、引言
近年來,隨著科技的進步,各行業對計算機技術的應用越來越普及,為適應社會對高層次人才的需求,各高校也在非計算機專業加強了計算機知識的教學,在一些理工科專業中開設了計算機公共基礎課程,并進一步提升了程序設計課程的重要性。另外,程序設計課程是高職高專院校計算機專業的專業基礎課程之一,它不僅可以培養學生的編程能力,增強學生的邏輯思維能力,還是學生學習好后續專業課程的前提和保障。
為了將學生順利地領進計算機程序設計語言的大門,為了培養和訓練學生的邏輯思維能力和編程的實際動手能,為了取得較好的教學效果和提高教學質量。筆者通過近年來的教學經驗,對程序設計課程教學中存在的實際問題做個分析、在教學思路與教學方法上提出一些建議。
二、教學中存在的問題
1、學習目標不明確,興趣不濃,積極性不高
由于高職院校學生的入學成績相對較低,學習基礎和學習能力相對較差,對知識的渴望程度有限,在沒有明確的學習目標指引下,很難學好一門課程。免費論文參考網。在教學中本人發現,有很多學生不清楚學習程序設計語言課程的重要性,認為程序語言設計課程與他未來的工作毫無關系;有些學生認為學習程序設計語言太枯燥,不如學習多媒體或網絡的一些課程;有些學生是因為學習程序設計需要較強的邏輯思維能力和一定的數學、英語基礎,因而在學習程序設計時顯得力不從心,不能掌握應用計算機解題的基本思維方式,對計算機程序設計產生畏懼感,知難而退。
2、教學方式呆板,教學內容陳舊
在教學過程中,有許多教師仍在沿用傳統的教學方法,偏重知識的傳授,忽視能力的培養。課堂上往往只是知識的傳授者、灌輸者,以教師作為課堂的中心,以廣大學生為講授對象,教師一邊講解教學內容,一邊進行演示,課堂氣氛沉悶,師生間缺乏互動溝通,課堂上留給學生練習的時間偏少,忽視了學生的認知主體作用,無法激發學生的積極主動性,所有學生被迫按照老師的講授速度進行學習,不利于培養思維能力與創造能力,多數理論停留在紙上談兵的階段。
教材內容陳舊、枯燥,脫離課程教學目的,脫離實際。有些教師往往把很大的精力甚至是主要精力放在程序設計語言的語法規則和語義上,不自覺地把“程序設計”課變成“程序語言”課,在考查方式上也常常是一張試卷決定該課程的成績,導致了學生學習精力的偏移教材中的例題和習題大都是立足于程序語言本身的語法規則,與現實生活相差太遠,致使部分學生覺得學習編程語言是一件枯燥的事。
3、過于注重理論學習而忽略了編程實踐能力
在高職院校中,非計算機專業的程序設計語言課程的課時量往往很少,例如我校安排的理論課時和實踐課時加起來總課時為64課時。在教學過程中,很多老師由于受到課時的限制,無法按照正常進度講授完所需的課程知識,或者無法對知識進行詳細展開講解,只好占用上機時間講授理論知識,導致學生過度重視課本上的理論細節的東西,忽略問題的整體結構,輕視實驗課上的上機操作。
三、提高語言程序設計教學質量的幾點思考
1、努力培養學生學習興趣
對于計算機程序設計語言而言,由于許多學生在進入大學以前并未接觸過它,所以,他們會認為計算機語言很深奧、很難學,導致對計算機語言的學習缺乏信心。教師應該采取適當的方式激發學生的積極性和自信心。
“興趣是最好的老師”, 因為高職學生有基礎較弱自律性不強的特點,所以在講授語言程序設計課時更應該優先考慮如何調動學生的積極性,激發學生的學習興趣,點燃他們的學習熱情。所以在上課伊始應該向學生介紹作為 21世紀的大學生在計算機應用方面的要求,以及計算機應用對于他們今后就業的影響以及工作中的用途。另外,在剛進行計算機語言教學時,不易涉及難度大、不易理解的內容,要突出趣味性、易學性,降低學生對新事物的困難感。可在課堂上當場編寫一些小程序、小游戲,并進行演示,以調動學生的興趣和積極性。
2、采用靈活多變的教學方法
1)實例教學法
教師根據本節課的教學目標,確定本節課的教學目的,然后再精選具有一定代表性的、能涵蓋本節課要講的知識點的案例程序,通過對案例程序的簡單講解引出本節課要講的語法知識,運用語法反過來分析程序的運行結果,根據程序的執行過程分析程序的功能,根據程序的功能反過來分析編程思路,理解了上述編程思路后,運用這種方法結合原程序結構再來完成一系列類似程序的編寫。
下面以本人C語言課程中“for 語句”的教學過程為例,詳細闡述一下運用實例教學法如何來實施課堂教學。
①根據本節課在教學大綱中的要求:熟練掌握for語句的使用,利用任務驅動的方式為本節課設定任務。(任務:求1-100之間所有的奇數和)
②精心選擇案例程序。
③以案例程序引入本節課的for語句的語法知識,介紹for語句的一般形式,講解for語句的執行過程。
④通過前面兩項的講解,將所學知識運用到案例中去,畫出程序執行的實際過程,從而得出程序運行的結果。
⑤針對案例進行編程思路上的分析,讓同學們真正地理解各變量及表達式在for語句中所起的作用,以便于他們今后獨立編寫程序。
2)比較歸納法
程序設計語言中有很多的定義、概念、語法規則,它們的使用靈活,功能強大,但是難以記憶。教師可以通過比較歸納的方法將這些概念、語法歸類,使學生獲得的零散知識系統化,對知識理解的更深刻,掌握得更牢固。
下面還是以本人C語言課程為例,在講解完指針這一章后,及時歸納和總結指針的數據類型是至關重要的。學生們普遍反映這樣一個問題,前面的章節學得挺明白的,一到了指針這一章就開始糊涂起來。而指針又是C語言的一個重要概念,也是 C語言的一個重要特色,如果不掌握指針就是沒有掌握C的精華。免費論文參考網。所以在教學中一定要提醒學生,在學習本章內容時要多思考、多比較、多上機,應用的時候應十分小心。
3、突出上機實踐的重要地位,加強操作環節教學指導
為了鍛煉學生解決較大型復雜問題的能力,老師在安排實驗課內容時,可以布置一個大題目作為長期任務,再按不同功能模塊分解開來,形成一個個短期任務。每次實驗課要求學生完成其中一個或幾個簡單的功能模塊,這樣,每次實驗課就好像一條鐵鏈上的一個個鐵環,緊密聯系。僅以VF語言課程教學中的“學生信息管理系統”為例,把這個系統作為一個長期任務,然后把這個系統劃分為若干個小的模塊。免費論文參考網。比如輸入輸出學生信息、添加學生信息、修改學生信息、查詢學生信息等模塊。這樣,當學生完成每一個功能模塊后,便發現原來自己實現的是一個復雜的程序。通過這種方法,一方面可以大大降低學生對大型復雜程序的懼怕心理,另一方面也可以培養學生結構化程序設計方法的思想。
四、結束語
程序設計語言課程作為高職院校學生的計算機基礎課程,直接影響到學生的后續課程的學習以及未來就業中的實踐能力,所以在為高職院校的學生講授該課程時,一定要從內因和外因兩方面進行深入研究學生的狀況,合理利用教學環境中的各種教學資源,注重以興趣為導向設計教學內容,并且采用有效的教學方法,這樣就能夠使該門課程的教學質量上一個臺階。
參考文獻
[1] 譚浩強.C 程序設計[M] .北京:清華大學出版社, 2004.
[2] 楊延廣.對高職程序設計課教學方法的研究與探討.高教論壇,2006(2).
[3] 范新明.高校非計算機專業《程序設計基礎》課程的教學模式研究與實踐[J].電腦知識與技術,2009,5(20):5 462-5 463.
論文關鍵詞:移動學習,C語言程序設計,教學,改革
1 移動學習
移動學習(M-Learning)是借助移動互連技術,使用移動計算設備(智能手機、PDA、移動電話等)實現學習者隨時隨地進行不同目的、不同方式的學習[1]。移動的內涵包括:形式上是移動的,即學習者不再受時間、空間和有線網絡的限制,可以隨時隨地進行不同需求、不同方式的學習;學習環境是移動的,學習資源和學習者也是移動的;內容上是互動的,進行教學活動的雙方實時交流,教育信息、教育資源與教育服務依靠移動計算技術和互聯網技術實現雙向“移動”,教與學相互促進,才能更充分的體現移動學習的優越性;實現方式上是數字的,移動學習是基于無線移動設備進行的數字化學習,它是在數字化學習的基礎上發展起來的,是遠程學習發展的一個新階段[2] 。
現階段的移動學習受技術條件的制約,通常作為高校教學的一種輔助學習模式,主要應用于管理和為學習支持服務提供“交互”通道,學生和教師通過使用移動設備(如手機等)方便、靈活地實現交互式教學活動。高校移動學習的主要應用模式分為三大類:基于短信息的在線移動學習,基于連接的在線移動學習以及存儲移動學習模式[3]。基于短信息的在線移動學習具有使用費用低,設備普遍支持等優點,主要應用于通信數據少并且可用簡單文字描述的學習活動和學習服務,可用于向學習者發送課程安排、考試安排和考試成績等信息,提供指導、激勵和支持等作用。基于連接的在線移動學習和存儲移動學習,需要建設WAP站點,提供能夠支持移動設備訪問和下載的學習資源,著重選取能夠貼近學習者生活和工作同時又較為時尚和流行的主題作為學習內容。存儲移動學習和基于短信息的在線移動學習將是目前在高校中最切實可行的移動學習應用模式[4] [5]。
2 C語言程序設計課程特點
C語言作為當今最為流行的程序設計語言之一改革,不僅是計算機專業的必修課,也是很多
非計算機專業的學習課程。隨著計算機的普及,學生運用計算機的能力越來越強,但計算機程序設計課程因其較復雜的語法、編程等知識,依然是眾多學生學習上的“攔路虎”。
C語言程序課程知識點瑣碎,概念繁多,理論不易掌握;概念抽象且復雜,包含的數據類型和運算符豐富,需預習與復習相結合才產生較好學習效果;對應的規則繁多且易混淆,使用較為靈活,容易出錯,使得學生容易產生畏難、厭倦情緒;理論與實驗教學學時分布不均衡,導致課堂教學中,對如何分析和解決問題講得不夠充分,學生編程思路不清楚;實驗過程中,不能將理論知識應用自如,在處理實際問題時往往不知從何入手,需要在平時教學中注意培養學生動手能力[6][7]。
C語言程序課程的這種特點,適合采用移動學習作為其輔助教學方式。針對C語言理論性強的特點,可以在課前課后發送定時短信,提示預習摘要求較高,不好的縮進格式影響其呈現效果,結構化風格使得程序占用篇幅往往較長等等,這些因素均會制約移動設備的可讀性。
3移動學習在課程教學中的應用
根據上述分析,設計移動學習方式如下:總體原則,以傳統教學方式為主,移動學習方式為輔,移動學習方式充當課堂教學的重要補充,能夠實現課堂知識的延伸,指導和激勵學生進行更深層次的學習和實踐。實現方式,主要采用基于短信息的在線移動學習方式,配合基于連接的移動學習空間、論壇,以及存儲移動學習資源建設。針對課堂教學,精心設計課前案例,提出驅動式問題,相關預習提示,課后設計相關重點回顧,知識點延伸,以短信形式發給學生,對于短信不能很好顯示的內容可以郵件形式發送給學生,或者放在相關網站上,以消息的形式提醒學生查收。軟硬件支持:考慮到學生普遍擁有設備的程度,將移動設備限定在普通移動手機,軟件使用中國移動飛信校園版(EFetion_campus)[10],可以支持PC端向移動手機的短信群發,通過飛信、群、語音、郵箱、空間等多種方式實現互聯網、移動網間的無縫互通改革,還可以使用日程提醒,郵件提醒等功能打造個性化的學習指導核心期刊。移動學習具體實現方式如圖1。
圖1 移動學習應用模式圖
3.1功能模塊介紹
移動學習做為一種輔助教學模式,能夠參與到C語言課堂教學的課前準備,課后輔導以及實驗指導等方面。
3.1.1短消息學習模塊
(1)課前預習提示。可將每節的學習目標、重點、難點發送給學生,也可發一典型程序,加驅動式問題,發送到郵箱里,同時設置郵件提醒功能。
(2)課堂內容回顧。對前面課程學習過的知識內容以短信形式發給學生,提醒其回顧。
(3)作業提示、階段測試。也可仿照上述短信設置方式,定時群發給所有的學生。
3.1.2移動學習空間或論壇
移動學習空間既可以方便學生在線瀏覽,也要努力適應基于連接的移動學習訪問,其資料下載模塊提供的學習資源,也要支持移動終端設備。移動學習論壇,實現學生自由交流空間。在移動學習論壇上定期設置討論專題,既可以是關于某個錯誤進行分析,也可以針對相關程序選題集思廣益,還可以是對當前教育進行探討等等。
(1)課堂內容延伸。可提供諸如:MSDN使用介紹,幫助學生自如設計C/C++程序等;CSDN論壇介紹,提供同資深程序員交流學習的平臺。
(2)常見錯誤提示分析。提供調試程序基本步驟,常見錯誤解讀及可能出錯原因。
(3)課程設計選題。設計相關程序選題,使其能夠體現課程各個階段的進度,并且具有一定的實用性,趣味性,能夠調動學生的學習積極性。
(4)測試空間。提供一些歷年試題,可以幫助學生鞏固理論學習。
(5)教育思考。定期對教學進行總結,尋求更好的教學方式,也可以一些高校精品課程網站鏈接。
(6)資料下載。課程內容的各種學習資源,如PPT課件、多媒體課件、部分課程的錄音、錄像等;有關課程的各種輔導資料,如各章節的知識要點、課程設計任務庫、程序設計案例庫、試題庫等都可以作為下載的資料。
3.2移動學習內容設計
在高校教育中,學生同時需要進行多門課程的學習,如果在針對某一門課程實施基于短信息的移動學習方式時,設計過多的短信內容,或者發送較多的次數,都將會給學生造成信息轟炸,帶來過重的信息負擔。配合C語言程序課堂教學,在課前課后發送兩條飛信,每次不超過5頁,對于無法以短信內容呈現的資源就發送到郵箱,同時以短信形式提醒學生注意查收。程序設計課程所涉及程序對格式要求較嚴格,一個程序案例通常占用較多篇幅,此時以郵件的方式發送較為合適,同時在相關論壇上設置討論專題,根據學生回答設置最佳答案,統計學生活躍度,作為平時成績參照。圖2為課前預習的飛信基本內容設計。
圖2 飛信基本內容設計
把課程內容按照“章-節-知識點”的層次模式進行組織,整理出每章每節的學習目標、重點、難點、學習指導、參考資料等內容改革,并概要總結出每個知識點的核心內容和若干測試題目,學習者可以通過短信息隨時隨地自由學習、復習這些重要的知識點,并對學習的效果進行測試。設計短信內容時需考慮程序格式問題,屏幕顯示行數,盡量控制在8行*5屏=40行,每行8字以內,不要以圖片的形式發送(涉及彩信資費問題)。
另一方面,為課程的核心內容提供文檔、PPT課件、課程錄音、課程錄像等多種媒體格式、適合多種移動終端的學習資源,滿足學習者不同的學習需求和學習習慣。學習者只要把這些資源通過教學網站,下載到自己的移動終端上,當他們在教室外面、公共汽車上等地方時,都可以通過移動終端來瀏覽這些學習內容,充分享受移動學習的便捷與方便,而且不需要承擔高昂的移動通訊費用。但是供下載的資料要充分考慮移動學習的特點,不僅要考慮學生的設備支持程度,還要考慮移動學習的片段性特點,對其中的部分資料需要進行特殊處理使其適合移動學習方式,主要處理原則,按知識點,將文檔,影音資料都處理成片段,確保一個片段一個知識點,每個片段持續10分鐘左右核心期刊。
4 實驗分析
借助中國移動飛信校園版,上述大部分移動學習方式都可以實現,從PC端到手機客戶
端可以方便的實現短信群發,只要不超過一定數量,免費且易于操作。學生也分常樂意參與到這種形式的移動學習中來,非移動用戶除了在接收短信受限之外,也可以加入飛信校園版PC端,可以共享資源。實驗證明,使用移動學習方式作為程序設計課程的輔助教學方式能夠大大調動學生學習的積極性。但是在學生中間出現了兩級分化的現象,部分同學興趣高漲,能夠充分利用提供的學習資源,學習進度甚至出現超前現象,另外一部分同學上課時也在查看手機,學習不僅沒有進步,反而沉迷于手機上網。這種現象提醒大家不僅應該注意實施移動學習的方式,同時還要加強大學生的思想教育,使其認識到網絡資源的便利性和危害性,能夠主動的去尋求有益的資源來提高自己。
使用飛信實現移動學習還有以下必須注意的地方:(1)飛信中涉及大量廣告,容易分散學生注意力。(2)短信數量過大,易給學生造成信息轟炸,要限制性的使用。(3)需警惕不法分子盜取飛信或手機號,進行詐騙。可以利用飛信的二次開發功能,屏蔽其他模塊,使其更適合校園使用。
移動學習對學習者也要有一定要求改革,比如說需要一定的自學能力,自制能力,以及較強的學習動機等[8][9]。現階段的移動學習在高校教學中應該起輔助作用,但不能排除其對研究生,博士生及在職人員充電的作用,所以還是要做好移動資源的建設工作,注意打上數字簽名保護知識產權。
5 結論
當前,移動學習是教育界的研究熱點。將移動學習方式引入語言類課程的教學中已取得較大進展,但將其應用到C語言程序設計課程教學中來,還屬于嘗試階段。移動學習給教學改革注入新鮮活力,其對高校教學的促進作用,不僅依賴教師的合理使用和學生的大力配合,還依賴于軟件平臺的設計。本文所使用的飛信校園版,受到發送短信條數,廣告綁定等不利因素的限制,不僅要考慮課程特點,還要考慮軟件的使用規則,不能充分發揮移動學習的優勢。下一步需要改進的地方,不僅在于移動學習資源的建設,還要建設實施移動學習的軟件平臺,不僅要適合移動終端在線瀏覽,還要能夠與校園各個系統整合,充分利用現有資源,更加適應程序設計課程的要求。
參考文獻:
[1]德斯蒙德·基更.移動學習:下一代的學習[J].開放教育研究.2004
[2]劉豫鈞,鬲淑芳.移動學習——國外研究現狀之綜述[J].現代教育技術.2004
[3]王建武.3G網絡下基于彩信的被動式移動學習實踐研究[D].西安:陜西師范大學.2009
[4]張瓏,王建華,張軍,邸佳奇.移動學習在高等學校教學改革中的應用[J]. 計算機教育.2010(6):34-37
[5]王偉,鐘紹春,呂森林.大學生移動學習實證研究[J].開放教育研究,2009,15(2):22-27.
[6]張素芹,吳連生.獨立學院“C語言程序設計”教學改革實踐[J]. 計算機教育.2010
[7]顧鈞.程序設計語言課程的概念體系及教學策略探討[J].中國成人教育.2010
[8]李望秀.高校教學中的移動學習[D].長沙:湖南師范大學.2008
[9]徐楠.M_Learning在現代遠程開放教育中的應用研究[D].南京:南京師范大學.2005
[10]efeixin.10086.cn/product/category_15.html
關鍵詞:獨立學院;課程改革;人才培養;程序設計
隨著計算機軟件行業的發展與普及,十幾年來計算機軟件技術發生了翻天覆地的變化,而高等學校的教學內容、教學模式與教學方法卻沒有多大的改變,課程教學理念嚴重滯后于實際需要,教學效果存在相當大的問題。現在的計算機軟件專業學生擁有的優勢越來越少,就業壓力也越來越大。對獨立學院的計算機軟件專業學生而言,更是如此。比專業理論知識,他們沒有一本、二本的學生全面扎實,比實踐操作能力,他們又遠不及高職學生。那么獨立學院應該培養怎樣的計算機軟件人才呢?學生將來畢業以后,憑借什么在社會上立足呢?這是我們老師一直在思考和探索的問題。
為適應新的形勢,我院明確了計算機軟件人才的定位:培養應用型軟件人才。這個培養目標既是從獨立學院學生的自身條件出發,又符合當前社會對計算機軟件人才的需求。在這個培養目標的指導下,我們在計算機程序設計課程教學上進行了大膽嘗試,修訂了教學大綱,增加、刪除了部分教學內容,并將新的教學模式與教學方法引入計算機基礎教學中,取得了較好的效果。
1存在的問題
已往的教學經驗表明,學生在學習程序設計類課程時最難的地方不是掌握某種程序設計語言的語法規范,而是掌握程序設計的基本方法。
程序設計語言的語法規范是死的,并且與任何一種自然語言相比,程序設計語言的語法規范更簡單規則。因此,只要學生掌握好了程序設計的基本方法,再花費一定的時間掌握某一種程序設計語言的語法規范,就能用該程序設計語言設計程序,甚至達到精通水平。
具體而言,目前教學中存在的主要問題有:教學內容與教材組織過于陳舊;教學目標沒有反映新形勢的需要。其典型表現在:程序設計方法強調不夠,抽象思維能力培養不足;某些程序設計中重要的概念講授力度不足,如庫與接口、UML建模以及目前流行的軟件開發方法等,學生在實際的軟件開發中無法滿足企業的需要。
2構建程序設計基礎培養四階段課程體系
大多數獨立學院的本科計算機軟件專業現行的課程設計,與普通的一本、二本院校相比相差無幾,沒有突出獨立學院的特點,也沒有明確獨立學院的培養目標。因此,對獨立學院計算機軟件專業課程體系進行改革迫在眉睫。我院以“計算機導論與C語言程序設計”為公共基礎的程序邏輯訓練、以“高級程序設計技術”為核心的程序設計方法培養、以“數據結構”為支持的數據與程序抽象能力培養、以“C++程序設計”貫穿面向對象程序設計新理念,并在大三大四高年級開設了Java、Linux、UML建模等程序設計類選修課程,形成了“基礎訓練+方法培養+提高能力+拓展層面+實踐應用”的程序設計教學新模式[1],在強化程序設計能力培養過程中發揮了重要的作用。
3提出并實施四層次軟件人才培養新模式
我院以課程體系為基礎,提出并實施了“基礎訓練+提高能力+拓展層面+實踐運用”的四層次軟件人才培養模式。
3.1基礎訓練
程序設計基礎訓練課程開設在大學一年級,是大學階段系統認識計算機、應用計算機的入門課程,通過程序設計的詞法、語法及使用方法的學習,要求學生掌握、體會計算機解決問題的基本技能。在基礎訓練中,通過對計算機導論課程的學習,讓學生認識并能熟練運用計算機編寫程序;通過對C語言程序設計課程的學習,讓學生初步掌握程序設計的方法,訓練程序設計中的邏輯思維。
3.2能力提高
程序設計能力提高課程開設在二年級,主要從兩個方面提高學生的程序設計能力:一是高級程序設計技術課程,重點學習典型的程序設計方法技術,便于學生系統地學習并掌握程序設計方法技術。二是數據結構課程,通過構造性思維的訓練,重點突出數據抽象與程序抽象能力的培養,讓學生在基礎訓練階段之后能更深入地理解程序設計的概念。
3.3層面拓展
主要以市場需求為基礎,包括工具類別與應用環境的拓展,以選修課形式開設在三、四年級。在具有良好C程序設計能力基礎上,展開其他程序設計工具層面,如開設Java、VC++、VB等程序設計類選修課程,增強學生掌握新工具,舉一反三的能力。隨著我國經濟發展,國外市場份額不斷增加,熟悉和使用Unix環境已成為計算機軟件專業應當掌握的重要技術,開設Unix環境編程和Linux程序設計等課程,將拓展應用環境,提高學生適應新環境的程序設計能力。
3.4實踐應用
自2006年以來,我院就加大了程序設計課程中的實踐課時比例,實踐課時占到總學時的1/2或1/3,每門實踐課都單獨安排了實踐課老師,指導學生更好地進行實踐。在實踐課設計中,我們既重視學生理論知識的鞏固,又注重其解決實際問題能力的培養,因此,我們把實驗自下而上分為知識層、應用層和綜合層3個層次。
知識層注重對知識的理解和掌握,數據結構、數據庫原理和Java程序設計等理論課增設了相應的課程設計,課程設計的主要內容是:按軟件企業先進的項目管理和開發模式,以“項目驅動”進行軟件系統開發的實訓。應用層重點在于鞏固與應用,學生在校期間參加課外興趣小組或在畢業論文設計中,大部分學生都能使用VC++做系統級深層次應用。綜合層則關注綜合與創新,學校鼓勵學生參加大型的綜合性IT比賽,如ITAT、大學生挑戰者杯創業大賽等。
3.5創造性思維能力的強化
計算機程序設計能力,對計算機專業學生的知識結構、技能的提高和智力的開發變得越來越重要,技能培養的重要程度決不亞于知識傳授。對程序設計能力的提高來講,編程序不難,編好程序不易。質的飛躍來自量的積累、艱苦的磨煉,所以良好的專業技能和創造性思維培養的關鍵在于實踐。程序設計是高強度的腦力勞動,是創造性的藝術,只有提高了科學思維,學會了程序設計的真本領,才會將知識與技術變成能力,應用自如。
3.5.1案例驅動教學:興趣引導
針對獨立學院學生思維靈活但學習自覺性較差的特點,我們采用案例教學法,避免了傳統填鴨式教學方法的呆板,通過實例演示,讓學生對所學知識產生興趣,有了一定的感性認識之后,再提升到理論高度,循序漸進地掌握知識。經過多次教學的探索,總結出重點講授解題思路、算法設計及編程構思,突出上機訓練,在編寫程序過程中讓學生自己進行探索性的學習,程序設計中的成果能極大地增加學生的成就感、培養學生程序設計的興趣,并達到更加牢靠地鞏固理論知識的目的。好的程序設計案例所采用的程序設計方法教會學生用適當的語言清晰地表達其思考過程。
3.5.2指導―大運動量實踐―反饋訓練:加強創造性思維培養
數據結構[2]的學習過程,是進行復雜程序設計的訓練過程。技能培養的重要程度不亞于知識傳授。難點在于讓學生理解,習慣算法構造思維方法。針對數據結構技術性與綜合性較突出的特點,我們提出并實施了“指導―大運動量實踐―反饋訓練”教學法。通過作業練習、課程實習、課程設計3個環節實現實踐過程,前者偏重于對課程內容的理解,后者側重于軟件設計綜合訓練,促進了專業學生邏輯抽象能力和創新能力的培養。
3.5.3項目訓練:提高應用能力
通過“項目訓練”[3]方法,我們提出課程設計規范要求,突出關鍵技術要點,貫穿基本技能訓練主線,精心設計綜合性實驗,體現加強實踐能力培養的重要思路。數據結構課程設計時進行軟件開發綜合訓練的第一門課,通過選用具有一定實用性的綜合題目,采用學生個人進行和小組合作的方式,通過問題分析、總體結構設計、用戶界面設計、程序設計基本技能和技術的一系列過程,培養學生動手實踐、合作研究、協作開發大型軟件項目的能力,培養學生采用軟件工程正規方法進行設計與實現,為專業技能訓練奠定了基礎。“項目訓練”方式將學生引入具體的項目研發,使學生有更多的主動學習機會,培養了科研能力。
3.5.4提高學生的興趣與創新能力
競賽等多種活動為學生提供了展現程序設計能力的舞臺,激發了學生學習的主動性。我們已連續3年開展全校“電腦文化節”、“網頁設計大賽”、“Flash競賽”、“計算機知識競賽”;學生參加省級、國家級數學建模比賽,6人次獲國家級獎勵,20人次獲得省級獎勵;學生在程序設計大賽中取得優異成績,獲得多項獎勵,3人次獲ITAT國家級獎,多人次獲省大學生挑戰杯一等獎。
4結語
計算機課程改革勢在必行,特別是對于獨立學院來說,更是迫在眉睫。改革的成功與否將直接關系到學生以后的就業。在進行計算機課程改革的基礎上,我們針對軟件人才的培養,提出程序設計教學的新模式和以設計為中心的能力培養新方法。作為一種有益的嘗試,新的課程體系通過一種有趣的、面目可親的方式向學生說明了創造性思維能力在程序設計中起到的重要作用。
參考文獻:
[1] 翟玉慶,鄧建明. 計算機科學研究型人才培養模式的探討與實踐[J]. 計算機教育,2005(1):31-33.
[2] 耿國華. 數據結構[M]. 北京:高等教育出版社,2007.
[3] 王志英,寧洪,戴葵. 強化計算機專業實踐教學[C]//第七屆全國計算機系系主任論壇論文集. 北京:高等教育出版社, 2004:37.
Reform of Computer Courses and Training of Software Personnel in Independent Colleges
LIU Ya, TAN Qian-mao, ZHOU Li
(Computer Science and Engineering Department, Jinjiang College, Sichuan University, Pengshan 620860, China)
考試時間
云南西雙版納2020年4月自學考試時間安排在4月11日星期六、4月12日星期日(上午9:00-11:30;下午14:30-17:00)舉行。
考試須知
(一)考場設置:由各州(市)招生考試機構確定。需在縣城以外設考場的,須報省招考院批準。“廣告”專科只在昆 明設考點。
(二)考生應試時,須帶準考證、考試通知單和居民身份證(或其它能證明身份的有效證件),三證不全者不得進入考場。考生必須嚴格遵守考場規則,不得以任何形式作弊。凡違紀違法者,按2011年教育部第33號令和《刑九修正案》嚴肅查處。
(三)考試成績以百分計,六十分及格,不及格者可參加該門課程的下一次考試。考試成績公布在“云南省招考頻道(ynzs.cn)”網站上,考生自行登錄查詢。考生對成績有質疑的可在成績公布之日起10個工作日內到各州(市)招生考試機構辦理查分申請,由各州(市)招生考試機構匯總后統一到省招考院查分,查完后通知考生。省招考院不直接對考生查分。
(四)考試時,對需要使用計算器的科目,考生可攜帶沒有存儲功能的計算器,并且不得互相借用。不準使用有存儲、接收、發射功能的電子工具。考生進入考場考試嚴禁攜帶任何通訊工具,否則將視同作弊。
(五)同一考試時間段,一名考生只能參加一門課程的考試。
(六)全國計算機等級考試(NCRE)成績在自考系統中的使用:
根據全國考委辦函[2004]148號文件規定:
1.NCRE課程暫與高等教育自學考試的部分專科課程進行銜接。
2.凡獲得NCRE一級合格證書者,可以免考高等教育自學考試中的《計算機應用基礎》(課程代碼:00018)或《計算機應用技術》(課程代碼:02316)課程(包括理論考試和上機考試兩部分)。
3.凡獲得NCRE二級C語言程序設計(筆試和上機)合格證書者,可以免考高等教育自學考試中的《高級語言程序設計(一)》(課程代碼:00342)課程(包括理論考試和實踐考核兩部分)。
4.凡獲得NCRE三級PC技術(筆試和上機)合格證書者,可以免考高等教育自學考試中的《微型計算機及其接*術》(課程代碼:02319)和《微型計算機原理及應用》(課程代碼:02277)課程(包括理論考試和實踐考核兩部分)。
(七)全國公共英語等級考試成績在自考系統中的使用:
高等教育自學考試的考生參加PETS二級或PETS三級考試,筆試合格者的成績可直接替代自考有關專業大專或本科公共英語〈即英語(一)(課程代碼:00012)、英語(二)(課程代碼:00015)〉的考試成績,并可獲得相應的學分(PETS二級替代專科英語(一)成績,PETS三級替代本科英語(二)成績,英語專業不能替代)。考生是否參加相應口試,則根據考生是否要求獲得PETS等級證書或高等教育自學考試的相關專業來定。
(八)漢語言文學本科專業的畢業論文答辯定于每年的5月和11月,分兩次舉行,考生可與云南師范大學文學院聯系進行答辯事宜。英語本科的“口譯與聽力”,專科的“聽力”、“口語”考試時間由云南師范大學外語學院安排,請考生與學校聯系。
(九)已取得自考專業全部課程合格證書的考生,如該專業有實踐、實習、設計、畢業論文等考核要求的,應及時和主考院校聯系實習考核事宜,待取得合格成績后,方可辦理畢業證書。
考試時間
云南迪慶2020年4月自學考試時間安排在4月11日星期六、4月12日星期日(上午9:00-11:30;下午14:30-17:00)舉行。
考試須知
(一)考場設置:由各州(市)招生考試機構確定。需在縣城以外設考場的,須報省招考院批準。“廣告”專科只在昆 明設考點。
(二)考生應試時,須帶準考證、考試通知單和居民身份證(或其它能證明身份的有效證件),三證不全者不得進入考場。考生必須嚴格遵守考場規則,不得以任何形式作弊。凡違紀違法者,按2011年教育部第33號令和《刑九修正案》嚴肅查處。
(三)考試成績以百分計,六十分及格,不及格者可參加該門課程的下一次考試。考試成績公布在“云南省招考頻道(ynzs.cn)”網站上,考生自行登錄查詢。考生對成績有質疑的可在成績公布之日起10個工作日內到各州(市)招生考試機構辦理查分申請,由各州(市)招生考試機構匯總后統一到省招考院查分,查完后通知考生。省招考院不直接對考生查分。
(四)考試時,對需要使用計算器的科目,考生可攜帶沒有存儲功能的計算器,并且不得互相借用。不準使用有存儲、接收、發射功能的電子工具。考生進入考場考試嚴禁攜帶任何通訊工具,否則將視同作弊。
(五)同一考試時間段,一名考生只能參加一門課程的考試。
(六)全國計算機等級考試(NCRE)成績在自考系統中的使用:
根據全國考委辦函[2004]148號文件規定:
1.NCRE課程暫與高等教育自學考試的部分專科課程進行銜接。
2.凡獲得NCRE一級合格證書者,可以免考高等教育自學考試中的《計算機應用基礎》(課程代碼:00018)或《計算機應用技術》(課程代碼:02316)課程(包括理論考試和上機考試兩部分)。
3.凡獲得NCRE二級C語言程序設計(筆試和上機)合格證書者,可以免考高等教育自學考試中的《高級語言程序設計(一)》(課程代碼:00342)課程(包括理論考試和實踐考核兩部分)。
4.凡獲得NCRE三級PC技術(筆試和上機)合格證書者,可以免考高等教育自學考試中的《微型計算機及其接*術》(課程代碼:02319)和《微型計算機原理及應用》(課程代碼:02277)課程(包括理論考試和實踐考核兩部分)。
(七)全國公共英語等級考試成績在自考系統中的使用:
高等教育自學考試的考生參加PETS二級或PETS三級考試,筆試合格者的成績可直接替代自考有關專業大專或本科公共英語〈即英語(一)(課程代碼:00012)、英語(二)(課程代碼:00015)〉的考試成績,并可獲得相應的學分(PETS二級替代專科英語(一)成績,PETS三級替代本科英語(二)成績,英語專業不能替代)。考生是否參加相應口試,則根據考生是否要求獲得PETS等級證書或高等教育自學考試的相關專業來定。
(八)漢語言文學本科專業的畢業論文答辯定于每年的5月和11月,分兩次舉行,考生可與云南師范大學文學院聯系進行答辯事宜。英語本科的“口譯與聽力”,專科的“聽力”、“口語”考試時間由云南師范大學外語學院安排,請考生與學校聯系。
(九)已取得自考專業全部課程合格證書的考生,如該專業有實踐、實習、設計、畢業論文等考核要求的,應及時和主考院校聯系實習考核事宜,待取得合格成績后,方可辦理畢業證書。
關鍵詞: 計算機基礎課程; 教學改革
中圖分類號:G64 文獻標識碼:B
文章編號:1672-5913(2007)04-0022-04
1 我校計算機基礎課程的教學現狀
高校非計算機專業計算機基礎教育的目的是培養學生的基本信息素養和信息能力,使學生能將計算機與信息技術用于其工作領域,成為既熟悉本專業知識又掌握計算機應用技術的復合性人才。在進入信息時代的今天,計算機基礎教育對于提高21世紀大學生的素質和能力有著十分重要的作用。根據教育部高等學校計算機科學與技術教學指導委員會非計算機專業計算機基礎課程教學指導分委員會的“關于進一步加強高等學校計算機基礎教學的意見”和中國高等院校計算機基礎教育改革課題組的研究成果“中國高等院校計算機基礎教育課程體系2004 ”等文件精神,我們在2004年將目前面向全校所有專業開設“計算機文化基礎”課程名稱改為“大學計算機基礎”,將各類程序設計語言課程統一定為“計算機程序設計基礎”。教學中嘗試采用了多樣化、立體式的教學模式,逐步完善和充實了課程教學內容,在“大學計算機基礎”課程中強化計算機文化、信息處理基礎、計算機網絡和多媒體技術等內容的教學;在“計算機程序設計基礎”課程中強化程序設計思想,突出利用計算機分析問題的思路和解決問題的能力,兩類課程的實踐環節教學均得到較大的重視,除了正常的課內教學之外,均增加了等量的課外實踐學時,與此同時加大網絡課程建設的力度,進一步了解國內同類課程的設置,加強與國內同行間的交流,教學水平與教學質量力圖與國內著名高校接軌。經過多年的努力、實踐和積極探索,通過不斷轉變教學理念、更新教學內容、完善教學方法、改進教學手段,我校基本構建起比較完善的計算機基礎課程的教學體系,形成了一定的特色。2006年4月經專家驗收,“大學計算機應用基礎”被評為校級精品課程。
2 我校的專業設置和學生入學條件
我校的專業設置和2005級以及以前學生入學條件如表1所示。
3 非計算機專業計算機課程設置方案
多年的教學實踐使我們認識到大學生的計算機基礎教育是一個循序漸進的教育過程,要著眼于學生信息素養和信息能力的培養,包括通識素養和能力與應用創新素養和能力。通識素養和能力是對所有大學生的基本要求,是指在接受高等教育之后,在信息技術方面應該具備的基本知識和能力。例如計算機的基本知識,信息表述能力、信息交流能力、信息搜索能力等。應用創新素養和能力是指學生能自主學習,具備較強的創新意識和開發能力,能靈活自如地把計算機技術用于專業研究領域。實踐證明,許多在計算機技術領域有成就的人是非計算機專業畢業的學生。他們既具有本專業的知識,又掌握計算機技術,跨學科的人才知識面寬,富有創造精神。關鍵在于正確引導和培養。
在研究非計算機專業計算機課程設置和教學時應當充分圍繞這兩個層次素質與能力。為此我們提出“3+1+X”(3門通識課+1門限選課+X門任選課)的分層課程設置方案,開設8門核心課程 ,表2給出了8門核心課程名稱以及學時設置。
其中,“大學計算機基礎”、“計算機基本操作技能”和“計算機程序設計基礎為”為全校通識課,課程主要涉及計算機基礎性和適用性的概念、技術和應用,它在培養學生的計算機知識、能力和素質方面起到基礎性、先導性的作用,我們學校已將它們納入學校通識課范疇,并作為學校重點課程來管理和建設。
對于“計算機程序設計基礎”課程考慮到學生的興趣不同、計算機基礎不同、專業需要不同,由學生所在院系在“C語言程序設計”、“Visual Basic語言程序設計”、“Visual Foxpro語言程序設計”和“多媒體基礎應用”四門課程中任選一門作為計算機程序設計基礎課程。
在三門通識課程學習完成之后,各專業可根據需要在“數據庫技術及應用”、“計算機網絡技術及應用”中選擇一門作為專業限選課。
為了達到新形勢下高校計算機基礎教育的目的,學校在學分制下采用的是多模塊、多層次的進階式教育模式。由于學生的基礎各異,學校還提倡學生根據自己的基礎知識、興趣愛好和實際應用需要選修一些計算機課程和計算機實用技能課程。為此,我們還設置了一系列信息類選修課程,供學生自主選擇。學生自主選修課程設置表如表3所示。
4 非計算機專業計算機課程建設的進一步改革設想
4.1大學計算機應用基礎課程網站的建設
網絡課堂的教學模式為學生的自主學習和師生之程網絡課堂內容。2006校級精品課程“大學計算機應用基礎”的網絡課堂目前包括“大學計算機基礎”和“計算機程序設計基礎(C語言)”兩門課程。在使用中發揮了應有的作用。
(1)擴容大學計算機應用基礎網絡課堂,將建設包括8門核心課程的網絡課堂,完備相應的教學計劃、教學大綱和教材建設。
(2)完善網絡作業平臺,實現在網上向學生布置作業、網上輔導答疑、網上做作業、網上批改作業、網上測試、網上討論等一系列網絡教學活動,充分發揮校園網在日常教學以及教學管理中的功能。
4.2教學方法的改革
在教學中要繼續堅持以教師為主導、學生為主體的教學理念,注重發揮學生在各個教學活動中的主體作用,注重采用多種教學形式培養學生解決問題的能力和綜合素質。
(1) 集中課堂教學。
根據各門課程特點發揮集體的智慧和經驗制作優質的電子教案和多媒體輔助教學課件,并充分利用多媒體設備和多媒體軟件進行生動、形象、直觀的教學,使得介紹理論概念時不生硬、不枯燥,實時演示實際操作時具有直觀性和動態性并保持有趣性。
(2)分散自主學習。
為了培養學生的自學意識和能力,在教學中要繼續有意識地引導學生自學,把課程中的部分有趣又相對簡單的章節留作自修內容,以論文、小結、調查報告等形式檢查學生的學習情況。
(3)實踐中學習。
在實訓教學中,強調基本操作方法的靈活運用,注重培養學生的實際操作能力和創新學習意識。為了有效地進行實訓教學,首先要加強實踐教學指導的力度,我們將聘請一些具備厚實計算機操作能力的學生和教師一起進行實訓輔導,其次制定科學的、系統的、先進的實訓基本要求和目標、提高要求和目標以及綜合要求和目標,同時配套以實訓教材、電子課件、實訓案例和實訓素材做到拋磚引玉的作用,以發揮學生的才智,達到鍛煉學生應用所學知識分析問題和解決問題的綜合能力。
(4)理論結合實訓的教學。
部分理論知識由于課時的限制和學生的基礎無法詳盡地介紹,如“大學計算機所基礎”課程中數據庫基礎、多媒體技術基礎等部分內容。在教學中通過實際案例驅動教學,在較少的學時下使學生能通過實例既理解和掌握了繁多的基本概念,同時可調動學生學習的興趣,引發其進一步學習的意識,以取得較好的教學效果。
(5)網絡課堂。
網絡學習模式本身就是一種潛意識的課程學習,學生在使用網絡環境時會促使其學習的欲望,并能與教師之間建立新型的師生關系。
(6)課外科技活動平臺。
配合學生自發成立的青島理工大學計算機分會活動,定期為學生舉行計算機前沿技術、常用熱門軟件操作等講座;開設共同關心的問題論壇;引導學生走出校園到知名企事業單位參觀、考察,真實感受社會、感受專業。
4.3實訓教學改革
信息類課程的特點之一就是理論和實踐并重,所以學生實際運用計算機的能力可以作為評價課程教學效果的尺度之一。我們在日常教學中非常重視實訓教學,并不斷地進行實訓教學的改革嘗試。
(1)根據實訓教學要求,我們將按照知識點建立“基本實訓+提高實訓+綜合型實訓”的分級體系,分級考核和鍛煉學生對知識點的綜合應用能力。
(2)考慮到新生計算機操作能力參差不齊,對一些具備計算機操作能力的學生可以讓他們優先獲得學分,我們在每個學期將分三階段進行過關測試,分別按照達到基本、提高和綜合能力給出及格、良好和優秀成績。
(3)在有限的實驗課學時內,加強實驗教學的管理和實驗教學的資源,建立開放機房。
4.4高素質師資隊伍建設
幾年來我們已形成了一支隊伍穩定、熱愛基礎教學、團結協作、勇于改革,富有創新精神的教師隊伍,其中包括一名校級拔尖人才,兩名校級青年骨干教師,一人獲得寶鋼獎。為了深化教學改革的力度,不斷提高教學質量,師資隊伍的建設也是一項長期不懈的工作。
(1)我們將一如既往地定期進行教學法研究和專題講座。
(2)組織教師進修學習,不斷更新知識。
(3)積極接受和培養青年教師,鼓勵年青教師攻讀碩士、博士學位,提高自身的學術素質。
(4)積極參加全國各地區的教學研討會,向兄弟院校學習,取長補短。
5結束語
經過多年的努力和實踐,在大學非計算機專業的計算機教育方面取得了一定的成績,并得到了肯定,但是課程設置和建設是一個系統工程,涉及到方方面面的問題,比如學校定位、學生來源、專業特點、師資結構等。我們所做的工作和將要進行的改革無論是課程設置、課程內容更新,還是教學方法的改革等,目標都是明確的,那就是為了提高我校計算機基礎教學的教學質量、教學效果,最終使學生受益。
參考文獻:
[1]馮博琴.非計算機專業計算機基礎教育“白皮書”與教學改革實踐[A].大學計算機基礎課程報告論壇論文集[C],2005.
[2]龔培增.大學計算機基礎課程體系建設與教學改革實踐[A].大學計算機基礎課程報告論壇論文集[C],2005.
關鍵詞:編程語言;課程群;編程能力;過程化教學管理
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)25-0140-02
Abstract: The curriculum group of programming language has basic function in developing students' programming ability. The main problems existing in the programming language curriculum group teaching are analyzed, and some concrete measures for the reform of programming language course group teaching are posted. these measures are important to improve the students' ability of programming.
Key words: Programming Language; Curriculum Group; Programming Ability; Teaching Process Management
1 引言
編程能力是軟件工程專業學生應具備的核心能力之一,它的培養是通過一系列課程來實現的。編程語言如C語言、Java、Web程序設計、Java Web等組成了編程語言課程群,這個課程群在培養學生編程能力中具有基礎性作用。編程語言課程群在編程能力培養的重要性已受到廣泛認同,在我校新修訂的軟件工程人才培養方案中,為了適應應用型技術大學轉型發展需要,編程語言課程群地位更加突出,特別是作為基礎的第一門編程語言教學時數大大增加,同時調整了實驗學時數,基本上理論與實驗學時數各占一半,而且鼓勵教師在實驗室上理論課,加大了學生動手實踐要求和機會。
近年來,我校在編程語言群教學工作取得了一些成績,如:公開發表了十余篇編程語言教學改革論文,多個編程語言課程改革項目獲得省級、校級立項建設,出版了幾部編程語言自編教材或教學輔導書等。盡管如此,目前編程語言課程群教學還存在不少問題,不適應學校向應用技術大學轉型發展的需要,不適應編程能力培養的需要。在教學中我們發現至少下面五個問題比較突出。
(1) 編程語言課程群的教學缺乏統一管理,部分教學內容重疊
編程語言課程群的教學工作缺乏統一管理,各門課程教學各行其是,課程之間部分教學內容重疊,課程之間的銜接不夠。從總體上看,編程語言群中各編程語言的語法基礎具有一定的相似性,如C語言與Java(或C++)。Java是在C語言的基礎上發展起來的,語法基礎與C語言相近。若在上Java課程時,對其前面的語法基礎介紹與訓練太多,將無法用更多的時間來介紹面向對象設計、GUI、異常處理、多線程、網絡等高級主題;同時,對學生已經有一定基礎的語言基礎進行過多的重復,會降低學生的學習積極性和學習興趣,甚至產生厭學情緒。
(2) 第一門編程語言的基礎不牢固
學好第一門編程語言相當重要,但是萬事開頭難。若第一門編程語言學得好,將對后繼編程語言及其他課程的學習奠定基礎,就可以“舉一反三,觸類旁通”;反之,就可能是“基礎不牢,地動山搖”。目前通常選用C語言作為第一編程語言,C語言對初學者來說是一門較難的課程,學好它并不容易,需要學生用心學習才行。在教學過程中我們發現,一些學生一開始學習不上心,日積月累,問題越來越多,就容易產生厭學情緒。更重要的是,C語言的語法嚴謹,不能隨意編寫程序,少數學生從課程開始到課程結束仍然寫不出幾個正確的程序,總是包含語法錯誤或邏輯錯誤。有的學生閱讀、編寫、調試程序的時間與精力不夠,軟件開發平臺(如:Eclipse)使用不熟練,軟件工程基本素養的訓練和培養不夠。
(3) 教學過程化管理不夠
不注重學習過程的考核,期末筆試所占學期總成績的比例大(占60%),而實驗成績占的比例小(占20%)。而且實驗考試在實驗成績中的比例沒有具體規定,沒有明確規定:實驗考試不及格,則課程總成績不及格。實驗考試過程沒有期末筆試那么正規、正式,考試時間通常只有筆試的一半,試卷的批閱也沒有規定。這不利于調動學生平時的學習積極性,平時的教學秩序、教學效果很難保證。實際上,學生閱讀、編寫、調試程序的能力主要是在平時的教學過程中培養出來的,期末筆試時間短、內容不全面,不能全面考核編程能力。
(4) 課外實驗、課程設計、課程實訓管理不夠
目前編程語言的實驗主要是在老師指導下的課內實驗,而缺少課程規定的課外實驗。盡管現在多數學生都有自己的計算機,但是缺乏在計算機實驗室的集體學習環境。編程語言課程沒有統一要求學生完成課程設計,學生學習一門編程語言編碼量不夠。課程實訓往往規定在一兩周內完成,通常3-5人為小組完成項目,但少數學生沒有自己寫代碼,學生動手獨立編程訓練不夠。不少學生沒有認真訓練如何編寫好的程序和較大規模的程序,軟件開發平臺使用技巧掌握不夠。
(5) 非編程語言課程的編程能力訓練不夠
非編程語言課程,特別是數據結構、操作系統、計算機組成原理、計算機網絡、編譯原理、軟件工程等課程,程序設計的訓練也非常重要,學習這些課程也是提高編程能力和水平的重要手段。但是,在這些課程的學習過程中,不少學生不愿自己編寫程序,而只是調試老師指定的代碼、粘貼來自網上的代碼,這樣既無法提高編程能力,也無法學好、學活相應的課程。
2 優化編程語言課程群的具體措施
2.1 加強編程語言課程群的教學管理
建立編程語言課程群教學指導小組,加強編程語言課程群的教學管理,改革課程考核體系,提高實驗教學與實驗成績的比重。深入研究編程語言課程群(C語言、Java、Web程序設計、Java EE、C#等)教學內容的交叉、關聯與繼承關系,分析它們在培養編程能力過程中的角色和任務,對編程語言課程群的教學進行整體規劃與優化[1]。必須讓學生牢記:單憑閱讀和學習語法結構并不能真正掌握一門程序設計語言,必須進行編程實踐――親自編寫程序并研究別人寫的程序。學習一門新程序設計語言的唯一途徑就是使用它編寫程序[2]。
精心設計各課程的教學內容、典型案例、編程項目與實訓項目等,從簡單的順序結構(Input、Process、Output,簡稱IPO)編程,到模塊化、結構化編程,再面向對象編程,再到Java Web開發、Java EE流行框架技術開發應用等。避免課程之間不必要的重復,提高教學效率。注重典型案例的基礎作用,循序漸進地進行開展編程能力訓練。任課教師要在教學指導小組的指導下工作,深入研究教學內容,講究教學方法,加強教學互動,注意課程之間的教學內容銜接。
加強學生調試程序能力的培養,從第一門語言課程開始,學生就要練習編程語言和開發工具的基本調試技巧[3]。不斷學習流行軟件開發平臺(如Visual Studio、Eclipse、MyEclipse等),最終熟練掌握開發平臺的使用技巧,提高編寫程序、調試程序、分析程序的能力。
2.2 突出第一門編程語言的基礎地位
通常C語言作為入門語言教學,C語言對初學者來說是一門較難的課程。在教學過程中,我們實施“教、學、做”合一、“課堂與實驗室合一”的教學模式,通過各種教學手段提高學生閱讀、編寫、調試程序的積極性和主動性,盡力使他們感受到編程的快樂和成就感[4]。另外,讓學生學習并掌握流行軟件開發平臺(如Visual Studio、Eclipse等)的使用方法,從最基本的命名規范、注釋、縮進的細微入手訓練軟件工程素養[5]。為加強C語言的編程能力,我們在大一的下學期開設“C實例分析與應用”課程,同時為后繼課程(如:數據結構與算法等)打好基礎。
此外,C語言作為第一門編程語言對初學者來說有一定困難,也可以選擇其他語言(如:Python)作為第一語言。Python語言的設計哲學是“優雅”、“明確”、“簡單”。國際上用Python做科學計算的研究機構日益增多,一些知名大學已經采用Python教授程序設計課程[6,7,8]。
2.3 加強教學過程管理,嚴格實驗考核
嚴師出高徒,第一堂課應讓學生明確教學目標要求,約法三章,嚴格課程管理。注重教學過程化管理,根據編程語言課程實踐性強的特點,要加強實驗教學的過程化管理[9,10]。不僅要提高實驗學時數占總學時數的比例,還要提高實驗成績在學期總成績中的比重(如:40%以上)。加強平時的實驗項目考核,學生編程能力的提高主要是在平時的實驗項目中實現的。鼓勵學生使用開發平臺進行大量調試、修改程序訓練,從中感受編程中失敗的痛苦、成功的喜悅和成就感。通過在線考試系統或在線測評系統平成實驗項目成績的統計與管理。
實驗考試過程應該正規、正式,考試時間不少于筆試。嚴格實驗考試,若實驗不及格,課程總成績不及格。實驗考試采用在線考試系統或在線測評系統方式,隨機抽題,自動閱卷。為了提高學生的應試能力,以及閱讀、分析、編寫、調試程序的能力,鼓勵學生平時在實驗過程中(如:規定的實驗項目完成之后)通過考試系統進行積極訓練。
2.4 加強課外實驗、實訓教學管理
課內實驗是在老師的指導下進行了,有的學生一離開老師的指導就無能為力了。課外實驗正好可以培養學生的自主學習能力,促進同學之間的相互討論,實在不能解決的問題也可以找機會問老師,課外實驗的學時數應不少于課內實驗。
大量項目實踐是提高編程能力的根本保證。課內的課程設計、單獨的課程實訓以及企業實訓是主要的項目實踐活動。通過這些項目實踐活動,逐漸掌握如何編寫好的程序和較大規模的程序,掌握軟件開發平臺的使用技巧與程序調試能力,理解軟件工程的基本方法,熟悉軟件工程過程(問題定義、需求分析、系統設計、算法設計、模塊測試和調試、集成測試等)。還可以不斷提高學生問題分析能力、規劃設計能力和團隊合作精神等綜合能力。通過完成各種實驗項目可以不斷贏得自信。
上述實踐活動只有通過認真、踏實的態度,不斷堅持下才能夠達到好的效果,因此關鍵是要嚴格管理,絕對不能流于形式、走過場,應規定實訓項目成績等級的具體標準。
2.5 編程能力培養應貫穿所有專業課程
不斷提高學生的編程能力,僅靠編程語言課程群是不夠的,要加強非編程語言課程(如:數據結構、操作系統、計算機組成原理、編譯原理、數據庫原理、計算機網絡等)的編程能力與編程能力訓練,應提高非編程語言課程實驗學時占整個課程學時的比例,以及實驗成績占學期總成績的比例,使學生通過自己的編程實踐與軟件工程訓練,提高對課程內容的理解和掌握。把這些課程的內容當做應用開發的工具、技術、系統、項目的成功案例,加以學習研究,特別是掌握其相關的設計與實現的基本思想和方法[11]。
此外,應鼓勵學生參加各種程序設計競賽,如:ACM程序設計大賽、中國大學生計算機設計大賽、全國大學生計算機博弈大賽等等,通過比賽展示自己計算機應用與創作才智,進一步提高自己解決實際問題的綜合實踐能力、創新創業能力和團隊合作精神。
3 結語
加強編程語言課程群的管理,對課程群中各門課程教學內容進行總體規劃和優化,精選編程案例、編程項目與實訓項目,由淺入深、循序漸進地提高學生的編程能力。對于每一門編程語言課程,要加強教學的過程化管理,特別是實驗教學的管理與考核。編程能力的培養應貫穿所有專業課程和專業活動,使學生在潛移默化中提高編程能力與軟件工程素養。在第一門編程語言課程教學實踐中,我們積極進行教學改革實踐,表1是三學期“C語言程序設計”課程的成績統計分析表,盡管這三個學期試題難度不全相同,對教師的評價指標也不完全一致,但從總的情況看,教學改革實踐還是受到學生的歡迎和好評。
表1是第一門編程語言教學改革實踐過程的情況分析,隨著改革的進行,學生的滿意度不斷提高,采取了多種措施提高了學生的編程能力和軟件工程素養。但全面提高編程能力,還需不斷探索,采取改革編程語言課程群教學的綜合措施。
參考文獻:
[1] 張基溫.計算機課程體系整合暢想[J].計算機教育,2014(8):59.
[2] Brian W. Kernighan, Dennis M. Ritchie. C程序設計語言(第2版?新版)[M].徐寶文, 等譯.北京:機械工業出版社,2004.
[3] 羅先錄,羅顯松,胡韶峰,等.應用型本科計算機類專業程序設計課程體系建設研究[J], 工業和信息化教育. 2016(3):38-41.
[4] 吳元斌. 提高C語言初學者編程能力的幾點措施[J]. 現代計算機,2015(1):13-15.
[5] B. A. Forouzan, R. F. Gilberg. C程序設計-軟件工程環境(原書第3版)[M].黃林鵬 等, 譯. 北京:機械工業出版社,2008.
[6] 梁勇(Liang Y. D.). Python語言程序設計[M]. 李娜 譯.北京:機械工業出版社,2015.
[7] 沙行勉. 計算機科學導論: 以Python為舟[M]. 北京:清華大學出版社,2014.
[8] 嵩天,黃天羽,禮欣. Python 語言:程序設計課程教學改革的理想選擇[J].《中國大學教學》, 2016(2):42-47.
[9] 郭小清,謝忠紅.計算機專業程序設計類實驗課程教學方法與考核方式探討[J].高校實驗室工作研究,2015(1):11-12.
【論文摘要】學習之間的影響有促進和干擾之分,一種學習對另一種學習起促進作用的稱為正遷移;如果起干擾或抑制作用的,稱為負遷移。在計算機語言教學實踐中,學生要接觸許多新知識,會面臨許多新問題,通過對所講授內容進行合理安排,加強學生對基本概念、基本語法的理解等途徑,可以促進學生產生積極的遷移,提高教學實效。
心理學上把已獲得的知識、情感和態度對后續學習活動的影響或者后續學習活動對先前學習活動的影響稱為學習遷移,它廣泛存在于知識、技能、態度、品德等學習中。學習之間的影響有促進和干擾之分,一種學習對另一種學習起促進作用的稱為正遷移;如果起干擾或抑制作用的,稱為負遷移。知識的遷移在學生學習知識的不同階段都表現出來并發揮作用,教學中,教師應遵循促進學習遷移的教學原則,盡量引導正遷移,避免負遷移,充分體現“為遷移而教”,促進學生對所學新知識的遷移與運用,對于提高計算機編程教學效果具有很重要的作用。
1.精選教學材料,重基礎、找規律,促進計算機語言教學中的正遷移
我們在組織教材時,應把基本概念和規律放在首位,突出教材的系統性和規律性。例如在計算機程序語言教學中,程序是計算機編程中的一個重要概念,程序的實現要遵循問題的求解步驟。算法是學生對求解問題的第一個描述,學生熟練了通過算法來描述題目的求解,才有可能去利用程序語言進行源代碼的組合,而后編寫出符合要求的源代碼。算法描述求解步驟的熟練應用,便成了一個遷移的生長點,在學習其他程序設計語言時,就可以舉一反三,觸類旁通。這告訴我們:遷移,能夠利用原來的“序”作為生長點,產生適合于其他領域的新“序”。教學實踐也證明,這樣的"生長點"找準了,并做好遷移示范,遷移的效果是相當明顯的。這樣的“生長點”在計算機編程過程中很多,也就是我們平時所講的“基礎”。抓好基礎,才能舉一反三,才會觸類旁通。在學生頭腦中有意培養一些熟練的“生長點”,讓遷移從中“生長”開去,是一條正遷移的捷徑。
2.合理編排教學內容,準確把握不同語言之間的異同點是實現正遷移的有效途徑
在計算機教學中,應注意對不同計算機編程語言知識進行異同比較,在對比過程中,學生始終處于主動積極、探索進取狀態,引起有意注意,促成思維交鋒,這樣對完善舊知識,自覺完成從舊知識到達新知識的遷移,并鞏固新知識,都極為有利;不然,就語句論語句,該對比不對比,不僅不會促進遷移,反而會造成負遷移。
心理學研究表明:對比抗干擾,加強對易混知識的比較,找準分化點,利于排除干擾,加深對某些相關概念的認識和理解,促使易混知識在學生頭腦中徹底分化。例如:學生學過“當型循環”后,已能熟練掌握用“當型循環”來編寫程序。當學了“計數型循環”后,碰到問題時,對于究竟該用哪種循環來求解,學生往往感到不知所措。這種負遷移的產生,是因為比較牢固的舊知識排擠了鞏固程度較差的新知識。為了克服這種干擾,可采用列表比較,逐條對比的方法,嚴格劃清十分相似的新舊知識間的界限,讓學生掌握新舊知識的異同點。通過新舊知識的對比,達到較好的教學效果。
類比推理也是分析比較行之有效的方法,類比促進遷移。在計算機編程教學中,類比方法具有探索和解釋兩個功能。探索功能體現在學生通過類比提出假設,進行推測,提出問題,并設想解決問題的方向。解釋功能在于喚起學生頭腦中已有的知識或經驗表象,對將要學習的知識提供一個相近的表象,實現知識或經驗的遷移。例如學習過C語言程序設計的知識點后,在學習PHP網頁程序設計時,就可以對比以前所學過的C語言程序設計知識,通過類比分析,實現學習的正遷移。 轉貼于
3.創設問題情境,激發學生的求知欲是實現正遷移的催化劑
創設問題情境就是在講授內容和學生求知心理之間制造一種“不協調”,將學生引入一種與問題有關的情境中,造成一種懸念,使學生產生向往、探索的欲望,處于欲罷不能的狀態。創設問題情境時應注意:問題要小而具體、新穎有趣、有適當的難度;有啟發性,要善于將所要解決的課題寓于學生實際掌握的知識基礎之中,造成心理上的懸念。懸念解除之時,也就是正遷移實現之時。例如編程求解N的階乘,可以用循環來實現;也可以不用循環,利用函數的遞歸來實現。教師提出兩種解題的思路:通過循環實現是利用前面講過的循環語句來求解,實現起來很容易,但不用循環,僅用函數怎么來求解?至此,引起了學生認知的沖突,創設了問題的情境,喚起學生強烈的求知欲,以高度集中的注意力去探究上面提出的問題,把學生的注意力引到如何通過函數的遞歸來實現問題的求解,加深學生對函數遞歸編程的認知。
在教學中還可以采用幻燈片、實驗演示等多種可以豐富感性認知的呈現方法來培養學生對計算機編程的濃厚興趣。例如許多學生喜歡玩電腦游戲,通過實驗演示方法向學生展示用計算機語言編寫的一些游戲例子,激活學生的學習興趣,將學生的興趣從玩游戲轉到編寫游戲程序上來。實驗演示有利于開闊視野、發展智力,特別是發展學生的創造力。實踐證明,只要我們利用學習動機的遷移,因勢利導地把學生已有的對其他活動的興趣轉移到學習上來,這樣就可以激發學生學習新知識的強烈動機。
4.促進新、舊知識的交互作用,改善認知結構是防止負遷移的有效手段
人的每一個認識活動都含有一定的認知結構,它是人類認識客觀事物在主觀上的反映。建構認知結構,是計算機編程教學的中心環節。促進新、舊知識的交互作用,對于完善認知結構,使認知結構系統化、綜合化、整體化具有重要作用。
在教學中,要引導學生積極地把新概念或規律與自己認知結構中原有的適當概念相聯系,把新概念、規律納入原有概念、規律中,同時使新概念、規律與原有的有關概念、規律進一步分化和融匯貫通,組成一個整體結構。例如學習C語言編程時,可指導學生進行如下的認知活動:
4.1把C語言中的數據類型和表達式概念與認知結構中原有的計算機編程語言的概念相聯系。
4.2把C語言中的基本語句的語法規則與原有的計算機編程語言相關語句的語法規則相比較,將新舊(下轉第78頁)(上接第73頁)知識融匯貫通,形成一個有機的整體結構。
在教學中,要引導學生積極地喚起頭腦中已有的有關概念,與新感知的概念一起,進行進一步的概括和抽象,總結出共同因素,上升到更高的層次。例如在學生認知結構中已有了結構化程序設計中的順序結構程序設計、分支結構程序設計、循環結構程序設計的基礎上,再來學習可視化編程。可視化編程是在結構化程序設計上的一個提升,用可視化編程工具編寫程序,學生可以象搭積木似的來構造程序的框架,但問題的具體求解方面還是要用到結構化程序設計的概念。由結構化程序設計到可視化編輯,認知結構需要更新到一個更高的層次。
綜上所示,遷移對計算機語言的學習作用不容忽視。教學不只是要讓學生掌握一門學科或幾門學科的具體的知識與技能,而且還要讓學生學會如何學習,即掌握學習的方法。學習方法是一種學習經驗,它可以對后繼學習產生一程比較廣泛的一般性遷移。在計算機編程教學中,使學生養成良好的學習習慣、掌握正確的學習方法,是促進知識順利遷移所不可少的前提。所以教師在采用行之有效的教法、認真研究學生的學法,進行教學改革的同時,認真學習知識遷移規律,并考慮影響知識遷移的各種因素,定能提高教學效果,使教學達到持久遷移的目的。■
【參考文獻】