有關地方高校非計算機專業程式設計課程教學的思考

才智咖 人氣:2.34W

課程體系建設.按專業需要開設課程目前很多高校為了便於管理和方便教學,只開設一門統一的程式設計課程,這種模式在學科門類齊全的綜合性高校是不合適的。雖然從原則上講,程式設計語言只需要學習一門即可,其他語言可以通過自學來掌握。但是由於地方院校學生的自主學習能力差異,並且各類非計算機專業對於程式設計課程的需求不同,應該根據專業需要來開設程式設計課程,允許不同專業選用不同的教學語言, 以方便學生能夠將所學知識快速運用,而不需要從頭學習一門新的程式設計語言。

有關地方高校非計算機專業程式設計課程教學的思考

我校雖然是一所地方本科院校,由於經過了多次合併重組,目前具有經濟學、法學、教育學、文學、理學、工學、農學、醫學、管理學等九大學科門類。在選擇何種程式設計語言的問題上,我們認為,程式設計課程一方面是培養一種使用計算機解決問題的基本思想和素質,另外也必須考慮後續專業學習、畢業設計以及今後的工作中的具體應用,所以語言的選擇,~般都是由相關專業的教學指導委員會負責,計算機基礎教學部門只是提供諮詢。

目前程式設計課程的開設基本上滿足各專業的需求,具體情況如下:

“Visual FoxPro資料庫程式設計”:經濟學、管理學、農學、醫學類各專業。

“C語言程式設計”:工學類專業,包括機械製造、電子資訊、電氣自動化、土木工程、光資訊、環境工程、地理資訊系統等。

“Visual Basic程式設計”:理學類專業,包括數學、物理、化學等。

“C++程式設計”、“演算法設計與分析”:公共選修課程,主要面向對程式設計有愛好的理工類學生,並從中挑選、組織學生參加ACM程式設計競賽等。

文學、法學、教育學類的專業注重網路應用和多媒體作品創作, 目前沒有開設程式設計課程,但是如果學時允許,也將開設程式設計類課程。對於這些專業的程式設計課程,主要是要培養其程式設計的基本思想,有助於進一步學習作品創作類軟體。例如對於藝術類專業,程式設計思想對其動畫設計、創作將有較大幫助。 、課程內容設計傳統的程式設計課程存在著很多問題,主要表現在:

語句、語法講的太多、太細;忽視基本問題的求解過程:

課程中演算法意識淡薄;不能激發學生的學習興趣;教學目標存在問題,學了但不會用,忘記得很快。

所以,在課程內容的設計上,不宜過分注重語法知識,而應該重點強調程式設計技術的基本方法。通過研究課程的教學內容,對程式設計語言本身採取“有所取、有所不 取”的策略。對於那些常用的語言成分,穿插在程式設計過程中詳細地介紹;對於那些與程式設計方法聯絡不太緊密、不太重要 放在程式舉例時簡單介紹;而對於那些與講述程式設計方法關係不太大,也不常用的部分,則根本不涉及。

例如,對於“Visual Basic程式設計”課程內容體系可包括:程式設計基本知識、結構化程式設計、常用演算法、物件導向程式設計、視覺化介面設計、案例和應用程式六大模組, 將結構化程式設計和物件導向程式設計融合在一起,物件導向的程式程式碼主要體現在各個事件過程中,而在事件過程中貫穿了傳統的程式設計思路和演算法的應用。這種內容體系有機地把基礎知識、基本概念和應用程式開發結合起來。通過一個個案例,既引出物件、語言的概念,又介紹了應用程式開發的方法,引起學生學習興趣、提高了動手能力和解決問題的能力,可達到事半功倍的效果。

教學方法改革.讓課堂充滿活力課堂教學是整個教學過程中的關鍵環節。傳統的程式設計語言教學按照“給出語法、解釋語法規則、舉例說明”

的三步曲進行,課堂顯得枯燥乏味。案例教學從學習者的認知規律出發,精選與實際生活關係密切的問題作為案例,通過對一個個案例的執行效果,可以有效地激發學生的好奇心和求知慾。

通過分析案例的設計思路和實現方法,引出案例中用到的知識點,展現分析問題、解決問題的全過程;在程式的編寫上,則展現出程式從無到有,從簡單到複雜的過程。

由於在多媒體教室上課,課堂的資訊量一般都比較大,連續高強度聽課會導致學生注意力下降。所以,在課堂上應該鼓勵學生參與到教學過程中。我們採用的模式一般是老師講解了一個案例後,刪去編寫完成的程式中的某一部分,要求學生上講臺重新編寫出來。另外也可以是老師先給出一種演算法,要求學生用另外一種演算法來完成同樣的任務。

在學生上講臺參與教學過程中,也要求其他學生在座位中一起完成相應的要求。當臺上的學生無法獨自完成時,他還可以邀請同宿舍的同學上臺一起討論,從而解決問題。

這種學生參與課堂教學的模式,其實在中國小使用得很普遍,只是大學由於課時問題,較少採用。這種模式至少有以下優點:

學生的主動性增加了,因為要提問,而且還不能僅僅說“不會”就可以逃避(我們的規則是,你不會,可以請你的同學一起幫忙,而且人數不限,但是你一定要先上去講臺),所以課堂上必須認真聽課,準備被提問。

給予學生思考的時間。多媒體教學的滿堂灌,使得學生幾乎不能停下來思考一下。所以這個參與環節, 實際上也是學生思考問題的時間。

有助於了相互協作、討論的'氛圍。教學過程中一直希望同學之間要多討論程式設計問題,只有多討論,才能開闊自己的思路。同宿舍同學之間的相互幫忙,有助於這種討論氛圍的形成。

有助於活躍課堂氣氛。大學理工科課程的教室一般是比較沉悶的,學生參與環節可使得課堂具有生機。

充分運用網路進行教學程式設計課程內容豐富,學生在學習過程中遇到的問題多種多樣,基本上無法單獨以書面或者課堂講解的方法解決,建設一個內容豐富、學生參與的課程網站是必須的。

課程網站的內容應包含以下內容模組:

基本教學資源。包括課程資訊釋出、老師講稿教學案例、重點難點演算法的動畫演示等。

網路試題庫。按知識點收集、整理各種型別的試題,組成試題庫,供學生平時練習。對於選擇、判斷、程式填空這些客觀型的試題,可設計成自動評分形式 對於程式設計題,可給出解題思路、主要演算法,開發能力較高的學校也可嘗試對程式設計題的自動評分,但是不宜過分依賴自動評分,特別是在正式考試時要慎用。因為對於地方高校學生而言,程式設計初學者的水平有限, 自動評分的結果通常是非對即錯,無法體現中間狀態,可能會打擊學生的學習積極性。

答疑交流平臺。這是師生之間、學生之間的交流平臺,特別是要鼓勵學生將自己遇到的問題發表出來,與老師和同學進行交流,尋求解決問題的思路、方法,最後由學生進行總結。由於學生的問題往往具有普遍性,‘其他的學生也就可以從別人的提問及老師的回答中找到解決自己問題的方法,實際上交流平臺執行時間長了以後就積累了大量的、貼近學生實際的網路教學資源。另外,答疑係統對於那些基礎較好,對於程式設計有濃厚興趣的同學,也提供了一個展示他們才能的平臺,他們很樂意幫助老師去回答問題,和同學交流。這樣,就在學生中漸漸培養了良好的討論氛圍,有助於提高學生學習本課程的興趣一.3 借鑑專業課程中的課程設計方法一般非計算機專業的程式設計由於學時的限制,很少做課程設計,學生學完後對於課程的內容缺乏整體的感受,只學到了一些零碎的知識,所謂“只見樹木、不見森林”。所以有必要要求學生以小組協作的方式完成一個簡單的、類似計算機專業程式設計課程的課程設計作品,可以稱之為“綜合性實驗”。

綜合性實驗一般以完成一個簡單的資訊管理系統作為要求,可包括以下內容:

資料結構設計(或資料庫設計);資料的輸入及儲存;資料增、刪、改;資料的排序、查詢、統計;資料的輸出;介面設計。

綜合性實驗的內容可以在課程的開始就佈置,課程的教學可圍繞該綜合性實驗展開。學生在學完相應的知識點後,即可進行了相應模組的設計,最終完成系統的開發,形成了一個可執行的小系統。綜合性實驗可以較好地提高學生的學習興趣,培養學生解決問題的能力。

課程評價方式改革程式設計課程的學習需要學生從一開始就投入時間和精力,並且該課程實踐性強,需要學生編寫完成大量的程式。所以課程的考核應該注重過程,平時成績f每個知識點的程式編寫、綜合性實驗等1可以佔學期總評成績的%~50%,而期末考試可以自動評分形式的客觀題為主,只需少量程式設計題即可。這種考核方式一方面督促學生一步一個腳印地跟上課程的學習進度,另外一方面也體現出課程實踐性強的特點。

另外對於學生參加省級和全國計算機等級考試的問題,我們的做法是:鑑於目前的計算機等級考試過分注重語法,並且有很多偏題,所以不應該以等級考試為目標進行教學,但是可以鼓勵對程式設計有興趣的學生參加等級考試,並給予必要的指導,使得他們對於很多語法現象可以有更加詳細、清楚的認識。我校對於通過省級以上計算機等級考試的學生的獎勵辦法是另外給予l學分,很多學有餘力的學生在學完程式設計課程後通常會自願報考全國計算機等級考試。

結束語地方院校的特點決定了程式設計課程既不能像重點大學那樣對學生提出過高的要求,也不能像高職院校那樣主要培養實踐能力,如何在理論性和實踐性之間取得一個合理的平衡,並且根據具體的專業特點進行個性化的教學,是需要繼續進行思考和探索的問題。