999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

通識教育中Java程序設計課程的教學研究與實踐

2008-12-31 00:00:00李勁華楊厚俊
計算機教育 2008年20期

文章編號:1672-5913(2008)20-0151-02

摘 要:本文分析了計算機程序設計在通識教育與計算機基礎教育中的差異,說明了在通識教育中開設程序設計基礎課程的重要性,討論了該課程在通識教育中的特點與定位,說明了我們在該課程中采用的教學策略和手段、并給出了教學效果,最后提出了今后要繼續研究的有關教學問題。

關鍵詞:通識教育;程序設計;教學研究

中圖分類號:G642 文獻標識碼:B

1 為什么在通識教育中設置程序設計課程?

通識教育的倡導者認為,大學教育不能局限于專業知識與技能的傳授,還應注重“全人”的培養,即對學生素養、品格、價值觀的培養,希望個人潛力得到最大限度的發揮,而不局限于個人選擇的專業。計算機技術的飛速發展帶來了信息技術的革命,使社會發展步入了信息時代,在大學的通識教育中增加有關計算機技術基礎知識與能力的課程,有助于非計算機專業大學生,特別是其中文科學生,綜合素質的提高。

計算機程序設計的思維方式具有鮮明的獨特性:系統論、抽象性和自動化。軟件專家溫伯格認為,這種思維先于專門的學科知識的存在而存在——有時繞過專門的學科知識,有時又把專門的學科知識綜合起來;把這種思維和教育方法稱為一般系統論的方法。其次,程序設計的最終結果是讓計算機按照程序執行,去解決一類問題,而不是某個具體問題,這與數學的抽象性類似。這種思維是讓機器自動地完成任務,卻又允許人進行干預,即所謂的人機交互式的問題解決模式。而且,不同的計算機語言會影響人們的思維模式,但是,基于程序設計的思維原理是普遍的。系統化的思維與計算機編程思維與之有著深刻的內在聯系。

像其他大學一樣,我校已經開設了計算機基礎教育,也包含了Visual FoxPro的程序設計課程。在通識教育中開設計算機程序設計課程與計算機基礎知識的教育沒有沖突,而是一種補充。根據教育部高教司的建議和要求,目前國內大學的計算機基礎教學分成三個層次:計算機文化基礎、計算機技術基礎和計算機應用基礎,在第二層次中包含計算機程序語言進行編程建模。因此,我們在全校的通識教育中開設了“Java程序設計基礎”的課程。此課程屬于選修課,在教學內容、形式、手段、考核等方面與必修課不同,同時給了學生更多的選學余地。事實上,自從我們在全校開設這門通識教育課程三年以來,每學期限制的120個名額遠遠不夠!

2 課程的特點與定位

作為通識教育,“Java程序設計基礎”具有如下特點:課程面向全校學生,面大、量廣、專業種類繁多、對計算機的興趣、知識和技能的需求各異,基礎知識參次不齊,而且是低年紀的學生,缺乏必要的自學能力;學時有限,比教育部非計算機專業計算機課程教學指導分委員會提出的最低學時還少3個學時。

學生的期望不同,大致包括:

●學習計算機編程:了解程序設計是什么。

●學習一種程序語言:Java程序設計語言是什么。

●學習新的編程技術:面向對象的程序設計是什么:

●學習更多的計算機語言:Java語言與C、C++或者Visual Basic的區別。

●當然,也包括通過該課掙得學分。

作為通識教育課,“Java程序設計基礎”課程的目的不是或者不僅僅是培養計算機程序設計員,該課程的定位是計算機科學與技術的一門普及課、入門課,希望通過學習計算機的核心知識與技術,

●讓學生理解計算機軟件,進而深入地了解計算機系統的工作原理和方式;

●學習程序設計的思維方式,全面培養學生的綜合素質;

●提高對計算機科學與技術的興趣,促進更多的學生在未來的學習和工作中應用計算機來解決實際問題。

因此,著力培養學生對計算機及其編程的興趣和理解,成了“Java程序設計基礎”的根本目標。

計算機已經成為現代社會的一個基礎知識和工具,85%以上非計算機專業的學生未來在從政、經商、在某個專業領域(如電力、汽車、物流、軍工、藝術)從事技術或服務工作,都可能使用計算機系統,也許會有人因為工作需要而自己動手修改或創造新的計算機軟件工具或系統。這在計算機的發展史中比比皆是。例如,統計軟件包SPSS最初是由斯坦福大學的政治學研究生Norman Nie開發的,國內廣泛使用的財務軟件用友是由在財務領域工作的王文京領導研制的,數學軟件Mathematica是由數學家領導研制開發的,雅虎搜索引擎最初出現是楊致遠與費洛為了把在網絡上尋找的資料類別整理好而編制成的軟件。最初這些簡單的應用軟件經過發展、進而形成了新的商機和技術,同時也極大地推動了計算科學與技術的發展。

3 教學的策略與手段

3.1 教學策略

教什么、如何教就成為通識教育的關鍵問題。針對該課程以及學生的特點,我們經過實踐、總結了本課程教學的策略:了解概念,理解思想,“不拘小節”,“不求甚解”。

“理解概念”是任何學科的基礎,每門課程都有自己獨特的概念。我們在講述Java程序設計的概念時,重點在突出差異、采用比較的方式講授。如把數學中的實數與計算機中的浮點類型數進行比較,并分別從計算機存儲與安全檢查兩個方面簡述為什么要區分出單精度浮點和雙精度浮點類型的實數。

寫出好的計算機程序,除了要掌握程序設計語言本身以外,還要求理解計算機的基本組成、運用數據結構、算法設計以及軟件工程的基本知識和技術,最主要是要掌握程序設計的過程,讓學生理解程序設計的思維模式和工作過程。這些知識都屬于計算機專業的核心課程,不可能在通識教育的程序課程中充分展開,我們只需講解與程序設計相關的要點。

例如,變量名在數學與計算機中都表示未定的值,但是在計算機中還表示值在內部存儲地址的抽象,這樣就順便補充了計算機組成的核心——存儲。在軟件工程方面,需要學生掌握的的基本思想是:程序是機器執行的,但更多的時候是讓人閱讀的!因此,寫出符合規范的、讓人容易看懂的程序更重要。這就要求在教學中培養學生良好的程序設計風格和習慣,如規范的變量名、必要的代碼注釋、清晰的程序結構等。

經典程序設計的思想是“算法+數據結構”。算法設計是編程的核心,程序是用計算機語言實現的設計思想,數據結構與算法設計環環相扣,是不可分離的程序的兩個方面。變量類型、數據結構和控制結構是馮諾伊曼式計算機系統的基本模式和組成。封裝、抽象、復用發展成現代向對象程序設計的核心。在講授這些抽象思想和原理時,我們盡量采用理論結合實際、案例引導、直觀教學。

我們把程序的閱讀與執行結合起來,讓學生直觀地學習靜態的程序如何動態地執行、產生結果。由于一開始就閱讀實際的程序,有很多知識可能還沒有學到、甚至在課程中就不出現,使得學生“一知半解”,不能完全理解,對有些問題或知識可以“不拘小節”、“不求甚解”,這樣有助于在短時間內讓學生了解程序設計過程和程序結構,掌握編程的基本要領。這種方式類似于在外語學習中所采用的猜測法:在閱讀中出現的生詞不要急于查字典,可以通過上下文來猜測,通過大量的閱讀來培養語感、文化直接用外語的思維模式。程序語言類似于外語,編程者需要逐步培養用程序化的思維方式、常用的表達模式和慣用語,而不必計較一些不懂的函數、表達、語句、或者類,特別是不要在編程工具可以解決的以及需要經驗積累的細微末節上花費寶貴的時間。

3.2 教學手段

在教學的內容和形式方面,我們重點采取了下面的手段。

1) 基礎知識不求全。因為,在一個學期的課程中不可能讓學生把一門程序設計語言掌握到實用的程度。與其泛泛的介紹Java標準版的所有內容,還不如通過Java語言深入理解程序設計的精髓。因而,我們選擇與語言無關的、所有編程的基礎知識,如變量、表達式、邏輯運算、控制語句、類與對象以及GUI。知識的取舍取決于學生未來可能的應用。例如有關數的運算,我們只講十進制的數,不講各種數進制之間的轉換,不講二進制及其運算(盡管這是計算機的基礎),也不講位運算;對面向對象部分,不講內部類和匿名類,等等。

2) 潛移默化思維模式。培養學生程序化、系統化的思維模式,讓學生抽象的、類問題的解決模式(而不是個體問題)。通過實踐使學生掌握程序設計的過程,包括如何分析問題、如何用計算機語言描述問題的解決過程——即編程,如何分析并解決程序中出現的錯誤(調試程序),如何在不同的環境下運行程序。

3) 培養自學能力。計算機技術、尤其是軟件技術的發展日新月異,沒有一本語言的教材能夠與語言同步。現在的計算機發展為深入學習編程語言及其技術提供了廣泛的手段,學生應該掌握自學能力。我們通過演示,讓學生自己動手編程、分析代碼、得到結果;直接上網查找資料,使得學生自己可以查找包括wiki、Blog、用戶組、廠家在內的資料,了解語言的發展,更新知識,同時培養獨立研究的能力。

4) 使用工具、動態學習。計算機是實踐的技術、應用的技術,唯有動手才能掌握技術和技能;很多細節不需要花費時間(也沒有時間),要充分利用工具來解決非核心的問題。例如括號不配對、變量未賦值就使用,程序美化排版,甚至需要引入的類庫等;將有限的時間集中到概念的解釋和計算機工具的使用,例如通過例子解釋為什么變量使用前要先賦值,面向對象的屬性有缺省值,然后如何利用編譯器來發現變量未賦值引用的錯誤。

針對學生的不同基礎和需求,我們還采取了如下的措施:對不同的學生采取靈活的教學方式,允許部分學生以難度較大的練習代替少量的缺席;針對學生課后時間有限以及編程是動手實踐的活動,我們的課堂教學采用了理論+上機實踐,課時分配位1:1,其中實踐的內容包括學生自己閱讀程序加上動手編寫程序。理論上我們分配的課堂與課后的學時位2:1,實際上有一半以上的學生課后花費不足一個小時就能完成作業,沒有花更多的時間去深入學習課程內容。考核以課堂練習和課后作業為主,考核也遵循“不拘小節”的策略,主要考查學生對程序的結構、語句的選擇等設計思想的掌握,而忽略語言的細節,如變量名是否正確。

4 實踐與挑戰

在我們已經連續開設5個學期的通識教育課程“Java程序設計基礎”中,教學策略和手段經過不斷改進,逐步得到了學生的認可。表1列出了最近3個學期該課程的部分統計數字。每期的120個名額都報滿,參加學習的學生分布全校理、工、文、藝、管、醫的各個學部。學生的合格率也在逐年提高;其中音樂、藝術和服裝設計專業的學生不合格的比例較高。選該課的一年級的學生幾乎都在80%,而在第二學期的比第一學期的學生要多。

下面是一些需要我們繼續研究、并通過實踐來檢驗解決方案是否可行的典型問題和挑戰,也希望與同行共同探討:

教學程度。通識教育中計算機程序設計的教學內容到什么程度合適?是否要再開設一個提高班,以滿足部分學生對計算機技術的更高追求?

分班教學。理工科學生在計算機的基礎和理解力方面明顯比其他專業的學生要強,是否有必要進行分班教學、因材施教?如何平衡學校、學院、學生以及教師的各種關系?

教材問題。難有教材滿足我們的教學思想和內容,我們給學生只列舉了主要參考書和網址。這種西方通行的教學方式在我校實施起來有難處:學生不愿花錢買參考書、圖書館沒有足夠的教材、大一學生的自學能力尚需培養。沒有教材如何使得學生學好一門課?

語言與編程:程序語言是算法設計的體現,不同的語言適合不同的編程風格與應用領域。是選擇流行的、應用廣的編程語言還是選擇體現計算機思想、適合教學的編程語言?

共性問題。如何處理通識教育與計算機基礎教育中程序設計技術的關系(如學分可否互換)?是否應該對通識教育課的設定課程通過率(四分之一的不及格率是否過高)?

參考文獻

[1] G. Weinberg. An Introduction to Systems Thinking[M].北京:清華大學出版社,2003.

[2] 謝中科,肖增良.程序設計系統化思維培養模式的探討[J].計算機教育,2007,(4).

主站蜘蛛池模板: 久久精品66| 国产性猛交XXXX免费看| 毛片手机在线看| 久久精品人人做人人综合试看| 国产91麻豆免费观看| 免费一级毛片在线播放傲雪网| 国产在线无码av完整版在线观看| 亚洲欧美天堂网| 国产福利观看| 久久国产香蕉| 全色黄大色大片免费久久老太| 国产成人无码Av在线播放无广告| 国产精品视频999| 亚洲码一区二区三区| 男女男精品视频| 2018日日摸夜夜添狠狠躁| 青草国产在线视频| 免费中文字幕在在线不卡| 亚洲欧美成人影院| 国产精品国产主播在线观看| 国产亚洲精品97AA片在线播放| 国产91丝袜在线播放动漫| 狠狠色狠狠综合久久| 亚洲精品福利视频| 国产视频一区二区在线观看 | 国产一区二区精品福利 | 久久永久免费人妻精品| 精品福利网| 亚洲一级毛片在线观播放| 在线观看国产黄色| 日韩成人在线网站| 亚洲第一极品精品无码| 日韩精品无码不卡无码| 成人亚洲视频| 欧美亚洲日韩不卡在线在线观看| 国产性生大片免费观看性欧美| 亚洲第一视频区| 99视频在线免费观看| 国产成人亚洲毛片| 天天综合色网| 久久这里只有精品2| 亚洲第一综合天堂另类专| P尤物久久99国产综合精品| 亚洲第一福利视频导航| 午夜老司机永久免费看片| www.亚洲天堂| 日韩精品成人在线| 在线免费观看AV| 国模私拍一区二区三区| 在线视频一区二区三区不卡| 99久久精品免费视频| 亚洲综合片| 中国黄色一级视频| 国产一区亚洲一区| 欧美在线天堂| 波多野结衣一区二区三区AV| 亚洲精品免费网站| 中文字幕亚洲另类天堂| 最新国产麻豆aⅴ精品无| 国产亚洲一区二区三区在线| 色偷偷一区二区三区| 欧美另类精品一区二区三区| 国产Av无码精品色午夜| 欧美综合中文字幕久久| 成人毛片免费观看| 久久国产拍爱| 欧美亚洲一区二区三区导航| 久久精品嫩草研究院| 黄色一及毛片| 免费观看三级毛片| 欧美日本在线播放| 成人中文字幕在线| 国产精品爽爽va在线无码观看| 国产产在线精品亚洲aavv| 国模私拍一区二区| 精品欧美视频| 国产免费福利网站| 亚洲欧美自拍一区| 精品黑人一区二区三区| 国产精品免费入口视频| 国产波多野结衣中文在线播放| 国产精欧美一区二区三区|