亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        論程序設計課程群的教學

        2015-06-24 10:57:32胡傳福
        東莞理工學院學報 2015年3期
        關鍵詞:面向對象數(shù)據(jù)結構程序設計

        胡傳福

        (東莞理工學院 計算機學院,廣東東莞 523808)

        如今大學對大學生專業(yè)能力的培養(yǎng)基本上是通過一系列單門的課程來實施和完成的。課程之間存在一定的聯(lián)系——時間上有先有后,空間內(nèi)容上有先行后繼,知識點上也必然存在著一定的交叉。在實際教學過程中,對各門課程進行管理,以單門課程作為培養(yǎng)目標,制定課程計劃并對教學內(nèi)容進行取舍,會在學生的專業(yè)能力培養(yǎng)這個總的高度上顯現(xiàn)出局限性和不足。如果以課程群的概念來建立課程體系,充分利用課程間的內(nèi)在聯(lián)系和邏輯性,把屬于同一目標的一系列課程當作一個有機的整體來看待,讓各課程相互配合,那么既能加深課程間內(nèi)在的關系,在教學效果上又能起到相互促進的作用[1]。

        課程群是一系列內(nèi)容密切相關,有先行后繼關系的課程的集合,一般屬于同一學科,甚至同一專業(yè)。通過對同一學科課程體系的研究,探索課程內(nèi)容及課程間的先行后繼關系,合理安排教學內(nèi)容進行課程群建設,易于打通各課程的知識結構,使得課程間前后連貫,從而獲得整體的良好教學效果。

        1 程序設計教學現(xiàn)狀

        程序設計能力是計算機專業(yè)培養(yǎng)的學生主要技能,也是檢驗計算機專業(yè)教師教學效果和學生學習效果的主要依據(jù)。因此,對程序設計的認知,對教與學雙方來說都顯得尤為重要。迄今為止,還沒有一個統(tǒng)一的標準來對程序設計能力進行評判。

        傳統(tǒng)的教學模式比較單一,大多圍繞兩三門語言類課程教學,先從理論上介紹程序設計語言、語法、語義、程序的結構、程序邏輯等,然后再讓學生對課本上的案例進行驗證[2]。教學過程顯得枯燥無味,需要學生以莫大的興趣與熱情才有可能學好。絕大部分學生缺乏學習的積極性與主動性。依筆者十幾年的教學經(jīng)驗表明,個別有熱情與毅力的同學可能達到理想的學習效果,但大部分學生學與沒學的區(qū)別不是很大。

        2 程序設計課程群建設的原則

        課程群建設是專業(yè)建設的一部分。對于東莞理工學院這類以“立足東莞、培養(yǎng)新型應用型人才”為目標的新型地方高校來說,制訂培養(yǎng)方案時應找準專業(yè)定位、行業(yè)現(xiàn)狀和發(fā)展前景,這樣才能明確教學知識點、所需課程以及課程群的大致內(nèi)容。同時,課程群建設應當以課程的知識組合、融合為線索,對各個課程的教學、實驗大綱等內(nèi)容進行全盤設計。針對應用型人才的培養(yǎng)目標,程序設計課程群應以“程序設計”為中心,注重理論與實踐相結合的方法,走“從實踐入手—上升到理論高度—再指導設計實踐”的路子。通過實踐吸引、試驗來先對學生學習興趣進行培養(yǎng),在不斷實踐的過程中讓學生體會到程序設計的方法,慢慢加深學生對程序設計理論的理解。教學內(nèi)容上,應當先以驗證、模仿為主,通過不斷的實踐,使學生逐漸體會程序設計的方法,從而獲得、增強學生學習程序設計的樂趣,讓他們漸漸把程序設計當成一門藝術而不是枯燥無味的數(shù)字編碼。在具備了一定的經(jīng)驗和方法后,重點放在對問題的理解、分析與設計上,要求首先能夠理解具體的問題,然后對具體問題進行分析,再后找出程序設計的相關元素,設計出針對性的具體的解決方案,最后再用當前比較流行的主流開發(fā)工具去驗證。在學習過程中,將理解問題、分析問題、解決問題相結合,使得學生不斷加深對程序設計的認識。當學生熟練掌握這一過程之后,對程序設計理論的學習就沒有多大問題了。

        《程序設計》類課程學習的重點就是“程序設計”,即采用一定的技術實現(xiàn)所設計的內(nèi)容。實現(xiàn)設計的技術有很多,逐一介紹既無效果也不太現(xiàn)實。采用“觸類旁通、舉一反三”的教學思路,重點掌握一種工具、獲一門相關技術即可,對其他技術稍微提及,開動學生的積極性與主動性,讓他們自己摸索,即能減輕教師的負擔,又符合對人才培養(yǎng)的需求。常用的程序設計教學語言有很多,在課程群建設中應當內(nèi)容連貫,避免重復,力求課程間的融合、促進、加深,但也要兼顧實現(xiàn)技術的由淺入深,循序漸進。因此在課程的選擇上,精必選取四至五門即可。理論與實踐的比例要根據(jù)學生的能力和進度進行調整,新生剛開始接觸編程工具,可能需要多點時間來適應,一學期乃至一年以后,可以適當降低實踐教學的比例,同進鼓勵學生利用課余時間自主進行實踐學習。

        對于不同課程之間內(nèi)容相同或相似部分的處理方式最能體現(xiàn)課程群的優(yōu)勢。對相同的概念的介紹能夠讓課程相互促進,使得概念更加清晰,而類似的概念就需要做適當?shù)娜∩?。從教學目標來說,程序設計課程群的教學核心目標是讓學生至少熟練掌握一門編程語言及其相關開發(fā)工具的使用,并能深刻理解程序設計思想,主要是面向對象程序思想、面向對象的分析方法、面向對象程序設計技術以及面向對象的原則與理論。

        3 程序設計課程群的教學

        東莞理工學院程序設計課程群主要包括《C語言程序設計》、《面向對象程序設計基礎》、《Java語言程序設計》、《數(shù)據(jù)結構與算法》、《Java EE編程技術》。課程群以實踐教學為主線,主要培養(yǎng)地方普通本科院校學生編程創(chuàng)新能力。

        課程群中各課程內(nèi)容安排如表1:

        表1 各課程及主要教學內(nèi)容

        C語言是在國內(nèi)外廣泛使用的一種計算機語言。C語言功能豐富、表達能力強、使用靈活方便、應用面廣、目標程序效率高、可移植性好。特別適合于編寫系統(tǒng)軟件[2]。因此,許多高校都開設了C語言課程,一般情況下,多數(shù)高校都把《C語言程序設計》作為程序設計課程群的入門課程。對于后續(xù)課程的開設,一般都以面向對象的程序設計為主,但根據(jù)主流應用平臺的選擇與喜好不同,一般有兩種不同的見解,當前主要分為兩大陣營——.Net和Java。它們雖然思想相同,但具體的實現(xiàn)技術相差比較大。我們一般把C++作為《面向對象程序設計基礎》的主講內(nèi)容,而把Java作為選修課程,因為在學生學習完C++以后,完全能夠很輕松的自學Java語言,兩者區(qū)別其實并不是很大。

        C++作為《面向對象程序設計基礎》的主講內(nèi)容的主要原因是C++全面兼容了C,同時提供了比C更嚴格、更安全的語法[3]。從這個意義上講,C++首先是一個更好的C。所以,學生在學習完C語言以后再學習C++,是一個水到渠成的事情,可以把它看作是C語言的延續(xù)。從課程群的角度來來看,兩者有著天然的連續(xù)與一致性。學生在學習C++的過程中,可以盡量少的關注語法語義與程序的邏輯結構,因為這些都是C語言中已有的。學生只需把重點放在面向對象的思想、方法上即可。因為全面兼容了C,所以可以在C的基礎上慢慢地體會面向對象的思想和方法。

        而Java同樣作為一門程序設計語言,它是純面向對象的。這就要求學生對面向對象的思想有一個全面的認識。對于學習完C++的學生來說,這顯然不是太大的問題。在學習過程中,只需注意與C++中不同的地方即可,同時掌握不同的集成開發(fā)環(huán)境即能很容易的上手實踐。

        雖然數(shù)據(jù)結構的大部分內(nèi)容 (尤其是算法及算法分析)都是描述性的、與語言無關的,但是,算法要真正實現(xiàn)還是需要特定程序設計語言的支持。由于C語言的簡潔易懂、同時又是計算機相關專業(yè)的入門基礎課程,故國內(nèi)外很多數(shù)據(jù)結構相關的書籍教材大多采用類C語言作為數(shù)據(jù)結構的描述語言,并把C語言作為數(shù)據(jù)結構算法的實現(xiàn)語言。C++除了修正了許多C語言的語法方面的缺陷之外,還提供了直接結構 (類和模版)來實現(xiàn)抽象數(shù)據(jù)類型的通用數(shù)據(jù)結構。面向對象的方法更是將數(shù)據(jù)和對數(shù)據(jù)的操作放在一起,作為一個相互依存、不可分離的整體—對象。即對同類型對象抽象出其共性,形成類,只通過一個簡單的外部接口與外界發(fā)生關系[3]。

        .Net一般是建立在C/C++之上,而Java EE目前只能以Java為基礎,這兩大陣營各有優(yōu)劣。不同的學生根據(jù)自己的喜好完全可以自由的選擇某一方面或同時進行學習。在有了前面的基礎鋪墊之后,上面的兩類課程都可以開設。在培養(yǎng)復合應用型人才的教育宗旨下,學生多學習一種技能,也能在一定程度上提高就業(yè)率。

        關于教學,筆者認為,其唯一目的是使學生掌握知識,培養(yǎng)學生運用知識分析問題解決問題的能力。計算機相關專業(yè)對應用型人才培養(yǎng)的主要任務是培養(yǎng)學生的編程能力,而程序=數(shù)據(jù)結構+算法,程序設計語言是描述數(shù)據(jù)結構的工具,數(shù)據(jù)及數(shù)據(jù)結構的表示首先是在內(nèi)存中的表示,所以數(shù)據(jù)的存儲應該是一個難點。如果不借助調試工具,我們很難直觀地看出數(shù)據(jù)之間的關系,而跟蹤、調試都需要有相應的預備知識才能完成。傳統(tǒng)的C語言對數(shù)據(jù)結構的表述能力為最強。但程序設計語言發(fā)展較快,目前,面向對象的程序設計語言C++和Java在Internet上得到廣泛應用。數(shù)據(jù)結構為了反映計算機科學技術的新發(fā)展、新技術,就不能保持一成不變,所以面向對象的程序設計語言來描述數(shù)據(jù)結構必將成為一種趨勢,但面向對象的程序設計語言,因為把數(shù)據(jù)和對數(shù)據(jù)的操作封裝在一個類中,理解起來非常困難,初學者常常因為不知道數(shù)據(jù)存放在哪里而茫然不知所措。所以,在講授典型數(shù)據(jù)結構及其操作的算法實現(xiàn)時要首先考慮面向對象的程序設計語言,引入面向對象的概念,但也不能把傳統(tǒng)C語言的描述一概棄之。

        所以關于課程群各課程之間的關系,筆者提出以下幾點看法:

        1)程序設計是基礎。在學習程序設計的階段,應當讓學生學會程序設計的方法。依目前我校的絕大部分學生來講,一學期幾個月的時間,不可能讓一個菜鳥能學會編出大型、復雜、實用的程序。因此,此階段的學習主要是最基本、最常用的內(nèi)容,多注重一些語法、語義和程序的邏輯順序等。讓學生對程序設計這門學問有一個基本的認識。

        2)面向對象是提高與進階。此階段的學習我們一般安排C++程序設計語言作為面向對象程序設計的主講語言。C++語言是一個面向對象的編程語言,而面向對象的編程方法 (Object Oriented Programming,簡稱OOP)一度被看作是一門比較高深的技術。這是因為在面向對象的系統(tǒng)分析 (Object O-riented Analysis,簡稱OOA)和面向對象的系統(tǒng)設計 (Object Oriented Design,簡稱OOD)理論出現(xiàn)之前,程序員要寫好一個好的面向對象的程序,首先要學會運用面向對象的方法來認識問題和描述問題[3]。因此,在面向對象的學習上,重點是放在面向對象的思想、方法、原則與理論的學習上,通常的語法、結構等細枝末節(jié)要求在前期掌握。

        3)數(shù)據(jù)結構是中心??陀^世界是千變?nèi)f化的。要對其進行計算機化的描述,以不變應萬變是一個不錯的做法,無論怎么變,無非都是內(nèi)存中的大量的二進制數(shù)據(jù)而已。而數(shù)據(jù)結構正是組織海量的數(shù)據(jù)的方法和對算法的運行時間進行的估算。隨著計算機科學技術的發(fā)展,計算機早已滲入到了國民經(jīng)濟及生活的各個領域,隨著計算機的速度越來越快,對于能夠處理大量輸入數(shù)據(jù)的程序的需求變得日益迫切。然而,由于在輸入量很大時程序的效率明顯降低,因此這又要關注效率問題[4]。數(shù)據(jù)結構課程一般包含兩個方面的內(nèi)容:數(shù)據(jù)結構與算法分析。即①數(shù)據(jù)及其算法;②算法的效率。在解決生產(chǎn)生活中的實際問題上,數(shù)據(jù)結構是常用且非常有必要的。

        4)編程實踐是貫串程序設計課程群的主要線索。程序設計是一門實踐性很強的課程,在理解理論概念的基礎上,理解問題、分析問題,動手編碼,然后調試運行,是每個程序設計人員成長的必經(jīng)之路。編譯器不是問題,編程能力的才是重中之重。但不同的編譯器之間還是有點小區(qū)別的。所以還要注意參閱相關說明文檔,特別是在實踐中積累經(jīng)驗、增長才干,做到舉一反三、一通百通。

        4 結語

        程序設計課程群是計算機各專業(yè)對學生進行專業(yè)能力培養(yǎng)教育的一個重要課程體系,是相關專業(yè)學科都需要開設的重要的理論基礎與實踐課程體系,其內(nèi)容非常廣泛,各課程相互之間既松散又藕合。程序設計語言是數(shù)據(jù)結構的實現(xiàn)工具,也是解決問題的具體表示與手段,如何在課程教學中既能傳授基本知識,又能把當代計算機科學與技術學科和計算機科學技術的新發(fā)展、新技術初步傳授給學生,而且使學生初步了解一些解決實際應用問題的方法和手段等方面,需要不斷地探索和實踐。

        [1](美)D.S.Malik.C++編程—數(shù)據(jù)結構與程序設計方法[M].晏海華,蔡旭輝,常鴻,等,譯,北京:電子工業(yè)出版社,2003.

        [2]譚浩強.C程序設計——新世紀計算機基礎教育叢書[M].3版.北京:清華大學出版社,2005.

        [3]鄭莉,董淵,何江舟.C++語言程序設計[M].4版.北京:清華大學出版社,2010.

        [4](美)Mark Allen Weiss.數(shù)據(jù)結構與算法分析 C++描述[M].3版.張懷勇,等,譯,北京:人民郵電出版社,2007.

        猜你喜歡
        面向對象數(shù)據(jù)結構程序設計
        基于Visual Studio Code的C語言程序設計實踐教學探索
        計算機教育(2020年5期)2020-07-24 08:52:56
        從細節(jié)入手,談PLC程序設計技巧
        電子制作(2019年9期)2019-05-30 09:42:04
        面向對象的計算機網(wǎng)絡設計軟件系統(tǒng)的開發(fā)
        電子測試(2018年15期)2018-09-26 06:01:34
        面向對象的數(shù)據(jù)交換協(xié)議研究與應用
        高職高專院校C語言程序設計教學改革探索
        “翻轉課堂”教學模式的探討——以《數(shù)據(jù)結構》課程教學為例
        高職高專數(shù)據(jù)結構教學改革探討
        中國市場(2016年45期)2016-05-17 05:15:48
        面向對象Web開發(fā)編程語言的的評估方法
        PLC梯形圖程序設計技巧及應用
        TRIZ理論在“數(shù)據(jù)結構”多媒體教學中的應用
        国产精品女同久久久久电影院| 亚洲熟女少妇一区二区三区青久久| 欧美激情肉欲高潮视频| 人妻中出精品久久久一区二| 91伦理片视频国产精品久久久| 日本丶国产丶欧美色综合| 日本在线观看不卡一区二区| 中文字幕无线码中文字幕| 久久免费看的少妇一级特黄片| 国产内射合集颜射| 永久免费a∨片在线观看| 国产av黄色一区二区| 欧美日韩色另类综合| 中文字幕高清视频婷婷| 精品无码一区二区三区亚洲桃色| 中文字幕亚洲综合久久天堂av | 午夜国产视频一区二区三区| 国产精品偷伦免费观看的| 99视频在线精品免费观看6| 久草热这里只有精品在线| 男女后进式猛烈xx00动态图片| 国产精品丝袜美女久久| 欧美激情中文字幕在线一区二区| 成人无码av免费网站| 一二三四中文字幕日韩乱码| 亚洲av蜜桃永久无码精品| 久久熟女精品—区二区蜜臀| 久久中文字幕无码一区二区| 亚洲成av人综合在线观看| 性感人妻中文字幕在线| 国产真人无遮挡作爱免费视频| 国产精品久久久久9999小说| 日本大片一区二区三区| 欧美a在线播放| 米奇7777狠狠狠狠视频影院| 狼狼色丁香久久女婷婷综合| 在线观看国产一区亚洲bd| 精品少妇人妻av无码久久| av无码精品一区二区三区| 少妇熟女天堂网av天堂| 91免费国产高清在线|