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

面向對象程序設計教學改革與探索

2014-04-25 22:14:14袁國武張學杰孔兵丁海燕楊軍
計算機教育 2014年3期
關鍵詞:教學改革

袁國武 張學杰 孔兵 丁海燕 楊軍

摘要:針對面向對象程序設計課程教學中存在的問題,從課程設置、理論課教學、實踐課改革等方面提出改革基本思路、原因和改革方法。

關鍵詞:面向對象程序設計;教學改革;Java

1 教學中存在的問題

筆者根據多年的教學經驗,總結出面向對象程序設計課程教學中主要存在以下問題。

(1)學生熟悉了c語言為代表的過程化程序設計思想,難以轉變為面向對象程序設計的思想。在第1學期,學生學習了c語言,第2學期學習數據結構時,也大量采用c語言進行編程,學生已經熟悉了過程化程序設計的思想,因此,當接觸到面向對象編程語言時,難以接受面向對象的思想和方法。部分學生在學習了一學期后,仍然會寫出“方法名(對象名)”這樣的語句,并且不習慣于“對象名.方法名”這樣的調用方式。

(2)理論課所講實例間關聯性小,實驗課中驗證型實驗過多,且驗證內容單一,前后實驗沒有關聯和連續性,嚴重地影響了學生自主學習的興趣和對知識點的統一性認識。現有的實驗依賴課后的上機習題。這些習題通常只針對本章的某個語法或知識點進行設計,前后章節的上機習題沒有關聯,學生不能通過這些上機習題對面向對象程序設計思想從整體上進行認識。即便全部上機習題做完,也都是一些非常小的“玩具”程序,不能對學生進行綜合型實驗訓練。

(3)計算機軟件水平考試中面向對象程序設計題目做的不好,嚴重影響該專業認證考試的通過率。軟件水平考試是計算機的專業認證考試,能在很大程度上體現所培養學生綜合掌握計算機各方面知識的水平。該考試的證書是用人單位挑選計算機專業學生的重要指標。經過多年參加計算機軟件水平考試云南省考區軟件設計師試題的閱卷,我們發現軟件設計師試題中面向對象程序設計題目的得分情況不好,多數學生的得分低于總分的1/3。所以,教學中加強對軟件水平考試中面向對象程序設計的訓練是非常必要的。

因此,對面向對象程序設計課程進行教學改革,提高學生面向對象程序設計的能力勢在必行。

2 教學改革的措施和方法

2.1 課程設置的調整

在2009年教學計劃修訂中,面向對象程序設計被提前安排在第3學期開設,以Java語言為例進行講解和實驗,有3個學分,理論講授36課時,實驗36課時,與之前的18課時實驗課相比,加大了實驗的比例。課程調整的主要原因如下。

(1)以Java為代表的面向對象程序設計語言應用非常廣泛,是計算機專業學生必須掌握的技能,提早講授會讓學生有更多的時間去熟悉。

(2)Java語言可以作為其他專業課的實驗工具,表1為Java在各門課程實驗中的應用,其中的某些知識點可以采用Java方便地進行實驗。

(3)在專業課的安排上,保證每學期至少有一門課程與程序設計緊密相關,使程序設計貫穿本專業4年的學習過程。教學計劃修改后,實驗中需要進行編程的課程見表2。可以看出,面向對象程序設計提前到第3學期,用Java語言為例講解,對后續課程的學習非常有利。

2.2 理論課教學改革

在用Java講授面向對象程序設計的知識時,傳統的講解方法是先講Java語言的歷史、基本語法,然后再講解面向對象的理論知識、類、對象、封裝、繼承、多態等概念,這也是課本常規的編寫順序,但是對于很多學校來說,學生學習的第一門編程語言是C語言,已經習慣了把程序分成多個函數的思想。在講解了Java語言的歷史、基本語法之后,學生在接觸到類時,仍然習慣于過程化的程序設計思維。由于課堂講解的例子都很簡單,這些例子采用c語言也可以很方便地實現,而采用Java語言實現時,反而顯得代碼更多、語法更復雜,這就令學生懷疑采用面向對象的方法會令簡單的問題復雜化。

事實上,面向對象程序設計課程的目的是在學生已有過程化程序設計思想的基礎上,讓學生的思維向面向對象程序設計思想上轉變。我們可以調整部分教學內容的順序,以達到更好的效果。

1)Java和C語言基本語法的不同之處。

由于Java和c的基本語法大部分相似,學生有c語言的基礎,因此教學過程中只需要說明兩者的不同之處。基本語法中,Java和c的不同之處主要有兩點。

(1)基本數據類型:char類型,c語言中是1個字節,采用ASCII編碼,而Java語言采用Unicode編碼,長度是2個字節;布爾類型,C語言中用0表示false,非0表示true,而Java語言提供的boolean是一種基本數據類型,只有false和true兩種取值。

(2)數組類型:在c語言中,數據類型直接聲明后就可以使用,如“int a[10]”,而在Java中語言,聲明后還要創建才能使用,如“int a;a=new int”,或者聲明和創建連在一起寫為“int a[]=qtew int[10]”。

2)講解幾個Java系統類,讓學生體會面向對象編程的好處。

Java的系統類庫很多,可以挑選幾個讓學生熟悉,編程實現一些小程序,體會面向對象的魅力,讓學生習慣“對象名.方法名”這樣的調用方式。

(1)String類:編程中用的比較多的運算是字符串的操作,在c語言中很多操作要自己編寫代碼實現。而在Java中,字符串的定位、比較、連接、查找、求長度、替換、拆分、去空格等多種操作只要簡單地用“字符串名稱,方法名(參數)”的調用方式就可以完成,完全不用了解這些功能到底是怎樣實現的,只需知道怎樣調用、參數需要什么,就可以輕松使用。

(2)Frame類或JFrame類:現在的程序基本上都是窗口形式的可視化用戶界面,學生在學習c語言以后,一直很好奇可視化用戶界面是怎樣實現的,可是在C語言中學生沒有辦法實現。在Java中,給學生簡單講解Frame類或JFrame類的基本方法,學生就能用“JFrame myWindow=new JFrame();”這樣一條簡單的語句創建一個窗口進行顯示,然后可以用“myWindow.setTitle(“我的窗體”);設置窗口標題,用“myWindow.setSize(800,600);”設置窗體大小為800×600點,還可以改變窗口背景顏色、添加標簽等。這些操作都只需要簡單的幾行語句,不需要了解Frame類或JFrame類是怎么實現的,就能實現一個可視化窗口,學生就會覺得以Java為代表的面向對象編程語言很簡潔、方便。講解時,可以順便講解如何使用“import”導入包。endprint

3)面向對象的知識。

學生了解到所講的幾個Java系統類使用的便捷性、簡易性后,就會有興趣學習自己怎樣定義需要的類。講解時,可以用前后有關聯的例子進行舉例,最常見的例子就是圖形計算面積的例子。例如,可以定義圓類Circle,它有1個公有成員變量radius,表示圓的半徑,1個方法getArea(),求圓的面積。這時,定義一個圓的對象c后,可通過“c.radius=10;”直接賦值,但是這樣的方式可以給radius一個負數,這顯然不符合圓的定義。這時,我們可以引導學生把radius設置為私有類型,不允許直接修改,并增加方法setRadius()設置半徑。該方法可以先判斷半徑值,如果給定半徑是負數,則把radius設為0。如果學習了異常處理后,這里可以修改為半徑小于0就拋出一個異常,這樣就可以保證radius得到一個合理的值,保證程序的正確性和合法性,通過這個例子可以引出封裝性的概念。

由于每個圓在定義后,都需要用setRadiusf()設置半徑,很不方便,因此可以引出構造方法的概念。有了構造方法,可以方便地在定義對象時進行初始化。隨后,為了記錄生成了幾個圓對象,可以引出靜態變量。在講解繼承性時,可以引入圓柱體類Cylinder,因為圓柱體的底面是一個圓,可以在圓的基礎上,增加圓柱體高度height,計算圓柱體體積時可以使用圓的getArea()方法得到底面積,然后再乘以height,這樣可以引導出繼承性的概念。當然這個例子最好用類的組合來實現,在講解類的組合時可以用繼承實現的方式進行比較。在講解多態性時,可以引入其他圖形,如三角形、矩形,將它們求面積的方法名稱統一為getArea(),引出抽象類的概念。定義抽象類Graphics,在Graphics中定義抽象方法getArea(),可以講解方法覆蓋的概念。

在子類中,同樣也需要初始化對象的構造方法,這時可以引出子類的構造方法的寫法,講解this和super關鍵字。這樣,就可以通過圖形計算面積的例子引出很多重要概念,并且通過這個例子,可以看出這些主要概念運用的意義和之間的聯系。如果后面講解圖形用戶界面,可以要求學生在這些基礎上,設計一個求各種圖形面積的圖形界面程序。

2.3 實踐教學改革

在理論課進行改革的同時,對實踐教學的改革更為重要。面向對象程序設計課程知識點多、應用廣泛,因此我們可以建立多層次實踐教學體系。

(1)課堂內實驗。該類實驗主要驗證各個知識點。設計實驗內容時,我們盡量做到前后實驗有關聯,后面的實驗是對前面實驗的完善,讓學生最終能得到一個實用的小系統。在實驗中,可以精選一些往年計算機軟件水平考試中的軟件設計師的程序設計試題讓學生實現,要求所有學生都必須完成,讓學生提前進入軟件水平考試的實戰。

(2)課程設計。設計一些規模稍大、有難度、有工作量的題目,這些題目是知識的綜合運用,讓3-5個學生組隊完成,并在最后花部分時間給每個小組進行講解,綜合評分。

(3)各類程序設計競賽、本科科研和全國計算機軟件水平考試。要求學生在學習該課程中和學完該類課程后,參加每年兩次的全國計算機軟件水平考試中的程序員和軟件設計師的考試。可對部分學習能力強的學生進行相關培訓,鼓勵他們參加ACM國際大學生程序設計競賽、百度之星程序設計競賽、TopCoder程序設計競賽、甲骨文ThinkQuest程序設計競賽等;鼓勵部分有創新思維的學生,讓他們選定指導教師,參加校級、省級、國家級本科科研項目。

經過以上多個層次的實踐教學,學生的面向對象程序設計能力會有較大提高。參加程序設計競賽、本科科研和計算機軟件水平考試,對學生能力的鍛煉、更好的就業都有很大的好處。

3 結語

面向對象程序設計是計算機專業的基礎課,對其他課程的學習和實驗教學有較大的幫助。由于面向對象程序設計是當今程序設計的主流,而程序設計能力是計算機專業學生能力的最大體現,所以該門課程至關重要。對該門課程進行教學改革,從而提高學生的面向對象程序設計能力也非常重要。

(見習編輯:劉麗麗;編輯:宋文婷)endprint

猜你喜歡
教學改革
完全學分制下選課管理的思考與實踐
考試周刊(2016年76期)2016-10-09 10:08:04
金工實習教育對工科院校創客教育影響分析
考試周刊(2016年76期)2016-10-09 10:04:11
新形勢下小學語文教學方法研究
考試周刊(2016年76期)2016-10-09 08:47:08
譯林版英語教材的人文特點研究
成才之路(2016年26期)2016-10-08 11:33:49
當前農村學校實施“新教育實驗”的研究
成才之路(2016年25期)2016-10-08 10:05:54
構建和改進現代化學校美育工作體系研究
成才之路(2016年25期)2016-10-08 10:04:29
中職學校“生本課堂”的調查研究與實踐
成才之路(2016年25期)2016-10-08 10:03:04
高校三維動畫課程教學方法研究
成才之路(2016年25期)2016-10-08 10:00:36
基于人才培養的技工學校德育實效性研究
成才之路(2016年25期)2016-10-08 09:51:08
現代信息技術在高職數學教學改革中的應用研究
科技視界(2016年20期)2016-09-29 12:59:03
主站蜘蛛池模板: 亚洲成人在线网| 欧美日本激情| 免费人欧美成又黄又爽的视频| 色婷婷狠狠干| www精品久久| www.av男人.com| 亚洲狼网站狼狼鲁亚洲下载| 国产一区二区三区在线观看视频 | 欧美精品H在线播放| 91www在线观看| 国产精品综合久久久| 久久久久国色AV免费观看性色| 欧美另类图片视频无弹跳第一页| 伊人丁香五月天久久综合| 亚洲精品欧美日韩在线| 欧美日韩国产在线观看一区二区三区| 亚洲床戏一区| 国产经典三级在线| 无码中文AⅤ在线观看| 99精品热视频这里只有精品7| 欧美在线伊人| 中文字幕66页| 成人福利在线视频| 久久国语对白| 亚洲日本www| 国产真实二区一区在线亚洲| 日韩精品亚洲精品第一页| 色国产视频| 国产成人免费| 国产成人一区免费观看| 国产高清在线观看| 1级黄色毛片| a级毛片毛片免费观看久潮| 国产91成人| 国产精品lululu在线观看| 999国内精品视频免费| 国产成人久久综合777777麻豆| 欧美啪啪网| 亚洲午夜天堂| 国产免费a级片| 亚洲 日韩 激情 无码 中出| 日韩国产亚洲一区二区在线观看 | 天天摸天天操免费播放小视频| 黄片在线永久| 免费看a级毛片| 一级毛片a女人刺激视频免费| 999在线免费视频| 日韩午夜伦| 伊人婷婷色香五月综合缴缴情| 午夜日b视频| 九九热免费在线视频| 天天综合色网| 国产成人亚洲毛片| 伊人久热这里只有精品视频99| 亚洲福利视频一区二区| 91欧美亚洲国产五月天| 毛片卡一卡二| 日韩黄色大片免费看| 东京热av无码电影一区二区| av大片在线无码免费| 97在线视频免费观看| 久久semm亚洲国产| 久久性视频| 亚洲人成人伊人成综合网无码| 亚洲中文字幕无码mv| 日韩无码黄色| 香蕉久久国产精品免| 久久成人国产精品免费软件| 午夜啪啪福利| 免费观看亚洲人成网站| 中文无码精品a∨在线观看| 亚洲欧美日韩视频一区| 日韩国产亚洲一区二区在线观看| 久久国产成人精品国产成人亚洲| 亚洲床戏一区| 婷婷伊人五月| 色男人的天堂久久综合| 日本在线免费网站| 无码国产伊人| 国产女人18毛片水真多1| 在线观看欧美精品二区| 成人免费黄色小视频|