• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      程序設(shè)計課程體系的維度與層次劃分及其教學(xué)實踐

      2019-11-30 04:55:28唐四薪鄭光勇
      計算機教育 2019年11期
      關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu)程序設(shè)計編程

      唐四薪,鄭光勇

      (衡陽師范學(xué)院 計算機科學(xué)與技術(shù)學(xué)院,湖南 衡陽 421001)

      0 引言

      我國軟件行業(yè)每年需要大量的程序設(shè)計人才,而我國高等教育培養(yǎng)的計算機人才雖然在數(shù)量上能滿足需求,但在質(zhì)量上仍然和軟件企業(yè)的要求有較大差距。例如,很多計算機專業(yè)學(xué)生畢業(yè)后需要再參加社會培訓(xùn)才能從事軟件開發(fā)行業(yè)工作。這說明我國程序設(shè)計類課程體系的教學(xué)效果仍然不能令人滿意,特別是對于學(xué)生基礎(chǔ)較一般的應(yīng)用型本科院校。

      由于程序設(shè)計能力是計算機專業(yè)學(xué)生的核心能力,因此如何改進教學(xué),高效地培養(yǎng)學(xué)生的程序設(shè)計能力一直是一個具有重大研究意義的課題[1]。目前大多數(shù)教學(xué)研究都是對教學(xué)方法、教學(xué)手段進行改革,但對課程體系結(jié)構(gòu)、培養(yǎng)目標(biāo)層次這類教學(xué)改革的基礎(chǔ)性問題研究較少[2-4]。

      1 當(dāng)前程序設(shè)計課程體系存在的問題

      與我國相比,印度的高等教育毛入學(xué)率不及我國,但卻培養(yǎng)了大量合格的軟件開發(fā)人員,說明印度的軟件教育比我國成功。有人認(rèn)為,這是因為印度的母語是英語,因此學(xué)習(xí)軟件開發(fā)有語言方面的優(yōu)勢。這種觀點實際上并沒有意識到問題的關(guān)鍵,我們認(rèn)為這是由于兩國在程序設(shè)計人才的定位、培養(yǎng)目標(biāo)、課程層次側(cè)重點方面的差異而造成的。

      我國的高等教育是從精英教育開始的,程序設(shè)計教學(xué)一開始也是面向精英類學(xué)生的,因此培養(yǎng)目標(biāo)的層次比較高,導(dǎo)致課程體系中高層次的課程比較多,低層次的、應(yīng)用型的課程不足。隨著我國高等教育由精英教育逐步走向大眾化教育,雖然也做了一些調(diào)整,但仍然存在盲目拔高層次,程序設(shè)計課程體系的層次不清晰的問題,這才是引起我國程序設(shè)計類課程教學(xué)效果不良的真正原因,其主要不足可歸結(jié)為如下4點。

      首先,每個層次的教學(xué)目標(biāo)不夠明確,表現(xiàn)在:①課程設(shè)置和教學(xué)內(nèi)容沒有體現(xiàn)分層的教學(xué)目標(biāo);②一些高層次的課程或知識點在低層次教學(xué)目標(biāo)尚未達到時就開設(shè),比如學(xué)生學(xué)數(shù)據(jù)結(jié)構(gòu)時連代碼中大量出現(xiàn)的函數(shù)定義都看不懂,導(dǎo)致學(xué)生的學(xué)習(xí)效果不好;③一些應(yīng)用價值很高的編程技能在高校教學(xué)中講解比較空泛,沒有引向深入和重點強化。

      其次,根據(jù)建構(gòu)主義學(xué)習(xí)理論,學(xué)生要掌握新知識必須和舊知識聯(lián)系在一起才能被掌握,這就要求必須厘清程序設(shè)計類課程的層次結(jié)構(gòu),和認(rèn)知的邏輯順序,如果課程的層次結(jié)構(gòu)沒厘清,學(xué)生在構(gòu)建知識體系時就不能把新知識和已有的舊知識很好地建構(gòu)在一起。

      第三,存在盲目拔高層次的現(xiàn)象,例如,高校數(shù)據(jù)結(jié)構(gòu)課的大量內(nèi)容都在講一些比較高級的數(shù)據(jù)結(jié)構(gòu)。但實際上,這些高級數(shù)據(jù)結(jié)構(gòu)可能只在一些科研軟件的開發(fā)編程中才會用到,而在大部分行業(yè)軟件的開發(fā)中一般都用不到。與此相對的是,在軟件公司中,經(jīng)常要用到的一些技術(shù)(比如程序的封裝,軟件的設(shè)計模式)等,在高校開設(shè)的課程中又沒有系統(tǒng)地講授。比如,學(xué)生在沒有學(xué)過微觀上設(shè)計軟件的課程——“設(shè)計模式”情況下,就去學(xué)習(xí)宏觀上設(shè)計軟件的課程——“軟件工程”,其教學(xué)效果當(dāng)然不可能會好。

      最后,沒有體現(xiàn)興趣引導(dǎo)、任務(wù)驅(qū)動的教學(xué)策略。過去,普遍存在教程序設(shè)計課程就是教編程語言的誤區(qū)。例如,學(xué)生學(xué)習(xí)的第一門語言多為C語言或VB,而這兩種語言對于初學(xué)者來說無法做出比較有實用價值的程序;另一方面,側(cè)重于以語法為重點進行教學(xué),使學(xué)生容易陷入繁冗的語法格式等細枝末節(jié)而忽略程序設(shè)計的本質(zhì),忽略程序語言設(shè)計者的設(shè)計思想,降低了學(xué)生對編程的興趣,不利于學(xué)生編程思維的塑造與培養(yǎng)。

      總體來說,程序設(shè)計類課程體系的設(shè)置和教學(xué)研究還處在逐漸深化的過程中,存在以下問題和不足:①由于研究者大都是教育工作者,自身缺乏開發(fā)大型軟件的實踐經(jīng)驗,因此對編程學(xué)習(xí)的層次和路線大多缺乏親身體會經(jīng)驗;②只是在教學(xué)模式上提出了層次階段模型[5],但并未對編程課程的知識結(jié)構(gòu)進行層次分析,使得將教學(xué)模式轉(zhuǎn)換應(yīng)用到實際教學(xué)中還存在難度;③過于強調(diào)教學(xué)內(nèi)容的系統(tǒng)性和完備性,對編程中需要掌握的重點技能(如函數(shù)設(shè)計、問題抽象、團隊分工開發(fā)等)強化不足[6]。

      2 程序設(shè)計課程體系的維度和層次設(shè)計

      雖然程序設(shè)計課程的教學(xué)體系龐大且不斷發(fā)展變化,但是學(xué)習(xí)編程的模式和步驟是相對固定的,根據(jù)編程需要學(xué)習(xí)的各個知識面,將其抽象劃分為3個方面,稱為程序設(shè)計課程體系的3個維度,如圖1所示。

      圖1 程序設(shè)計課程體系教學(xué)的維度和層次劃分

      維度一:界面編程及用戶交互(主要包括Windows界面、Web界面和APP界面等的設(shè)計和交互)。

      維度二:編程訪問外部資源(包括訪問文件、數(shù)據(jù)庫編程和Socket網(wǎng)絡(luò)編程)。

      維度三:各種平臺下的編程(Windows平臺、Linux平臺、安卓平臺、嵌入式平臺)。

      劃分維度后,根據(jù)每個維度的難易程度和學(xué)生的興趣,可以更清晰地規(guī)劃出學(xué)生的學(xué)習(xí)路徑,為更好地編寫課程標(biāo)準(zhǔn)和人才培養(yǎng)方案提供參考。對于應(yīng)用型本科人才培養(yǎng)來說,教學(xué)內(nèi)容的改革應(yīng)著重放在維度一和維度二上。

      接下來,研究程序設(shè)計類課程的學(xué)習(xí)層次,并按照學(xué)習(xí)層次設(shè)置相關(guān)課程。依據(jù)是編程能力是一種可分層的能力,教編程不是教語言,每種語言都有一些共同的內(nèi)容,程序設(shè)計類課程對語言的依賴性很低,而對幾種固定的能力依賴度卻很高。程序設(shè)計依賴的幾種固定的能力可劃分為圖1所示的5個層次。

      第一層次:學(xué)會基本語法,基本程序結(jié)構(gòu)。

      第二層次:學(xué)會程序封裝,功能和數(shù)據(jù)封裝(包括使用函數(shù)封裝程序功能,使用結(jié)構(gòu)體封裝數(shù)據(jù),使用類封裝數(shù)據(jù)和功能)。

      第三層次:學(xué)會利用設(shè)計模式抽象問題(包括UML建模、類的設(shè)計)。

      第四層次:學(xué)會使用特殊數(shù)據(jù)結(jié)構(gòu),設(shè)計高效算法(數(shù)據(jù)結(jié)構(gòu))。

      第五層次:掌握軟件開發(fā)的過程與方法(軟件工程)。

      最后,研究初學(xué)者學(xué)習(xí)編程的習(xí)得過程,在課程內(nèi)容設(shè)置上,注重分散難點,由淺入深,問題驅(qū)動。在實驗案例設(shè)置上,注重案例的實用性、綜合性、趣味性和難易適中性。

      3 課程體系的教學(xué)實施

      3.1 課程體系的教學(xué)改革和重構(gòu)

      依據(jù)基于維度和分層課程體系劃分,可給出一種一般化的程序設(shè)計類培養(yǎng)目標(biāo)、課程體系安排和課程教學(xué)模式,以及可操作的教學(xué)模式和程序,對計算機專業(yè)程序設(shè)計類課程的理論和實驗教學(xué)的設(shè)置提供參考和推廣價值。具體的實施步驟如下。

      (1)分析程序設(shè)計類課程體系的層次和維度,根據(jù)層次找到最佳的學(xué)習(xí)路徑,培養(yǎng)目標(biāo),根據(jù)維度確定最合適的入門點和學(xué)習(xí)范圍。

      (2)根據(jù)分層教學(xué)目標(biāo)構(gòu)建課程體系,并重構(gòu)每層次課程的設(shè)置和每門課的教學(xué)內(nèi)容。

      (3)分析新構(gòu)建課程的知識結(jié)構(gòu),將知識點分類為元知識(基礎(chǔ)知識)、硬知識(識記的知識)和軟知識(實踐類知識),分別設(shè)計教學(xué)策略和教學(xué)方法。

      (4)根據(jù)上述步驟進行教學(xué)實踐,再總結(jié)出一般的教學(xué)過程、教學(xué)方法和教學(xué)策略,將其用培養(yǎng)方案、課程標(biāo)準(zhǔn)和教材、研究論文等形式表現(xiàn)出來。

      3.2 課程體系維度方面的教學(xué)探討

      對程序設(shè)計類課程體系劃分維度和層次,并不是要求在開設(shè)課程時涉及所有的維度和層次,而應(yīng)該根據(jù)學(xué)生的實際水平,或依據(jù)社會對專業(yè)的人才需求,靈活地選擇其中某幾個層次和某些維度。以應(yīng)用型本科院校來說,課程體系的維度可如下設(shè)置。

      (1)對于偏硬件開發(fā)的方向,應(yīng)側(cè)重學(xué)習(xí)維度三的內(nèi)容,即掌握各種平臺下的編程(Windows平臺、Linux平臺、安卓平臺、嵌入式平臺);在編程層次上,學(xué)生達到第二層次就可以。

      (2)對于偏網(wǎng)絡(luò)開發(fā)方向(如網(wǎng)絡(luò)工程專業(yè)),可重點加強維度二內(nèi)容的學(xué)習(xí),包括網(wǎng)絡(luò)編程和Web編程。學(xué)生達到第二層次就可以。

      (3)對于偏軟件開發(fā)方向(如軟件工程專業(yè)),學(xué)生至少需達到第三層次。對于維度來說,應(yīng)主要學(xué)習(xí)維度一和維度二的內(nèi)容,包括各種界面和交互的編程,以及編程訪問外部資源(包括訪問文件、數(shù)據(jù)庫編程和Socket網(wǎng)絡(luò)編程)。

      3.3 基于分層和維度的課程設(shè)置

      為了培養(yǎng)適應(yīng)軟件企業(yè)需要的編程人才,應(yīng)用型高校在教學(xué)中,應(yīng)將人才培養(yǎng)目標(biāo)定位在達到第三層次為宜,對第四、五層次只需有一定的了解即可。因為,第一層次是基礎(chǔ),第二、三層次是重點,教學(xué)改革的重點應(yīng)放在第二、三層次的改革上。

      基于分層和維度的方法,進行程序設(shè)計課程體系的設(shè)置。

      (1)對于第一層次,主要是通過編程語言來學(xué)習(xí)基本語法和基本程序結(jié)構(gòu),編程語言以開設(shè)2~3門為宜,教第2門語言時應(yīng)注意與第1門語言作對比分析,這樣學(xué)生才能通過比較幾種編程語言的異同對程序設(shè)計有更深的體會。在編程語言的選擇上可根據(jù)專業(yè)學(xué)習(xí)或社會的需要靈活地選擇,例如,我校一般選擇C++、Java和Python作為第一層次教學(xué)的編程語言。

      第一層次的課程可以與維度一的課程結(jié)合起來開設(shè),如開設(shè)“Windows界面編程”“Web編程”等課程。界面編程與數(shù)據(jù)交互是制作實用程序的基礎(chǔ),且學(xué)習(xí)界面編程能有效激發(fā)學(xué)生學(xué)習(xí)編程的興趣,界面編程本質(zhì)上比較簡單,適合于盡早開設(shè),按照難易程度,可按照Web編程、Windows編程和安卓編程的順序進行學(xué)習(xí)。

      (2)對于第二層次,可開設(shè)“程序封裝方法”,該課程主要內(nèi)容為函數(shù)和面向?qū)ο缶幊?,這對于應(yīng)用型本科院校的學(xué)生來說是非常必要的,因為應(yīng)用型本科學(xué)生在學(xué)完幾門編程語言之后,往往還不能領(lǐng)悟程序封裝的方法和作用,導(dǎo)致對數(shù)據(jù)結(jié)構(gòu)等后續(xù)課程的學(xué)習(xí)比較吃力,因此將程序封裝方法單獨作為一門課程開設(shè),可起到很好的銜接作用。另一方面,在軟件開發(fā)行業(yè),能夠編寫函數(shù)是參與團隊軟件開發(fā)的基礎(chǔ),而類作為面向?qū)ο缶幊痰暮诵慕M件,其本質(zhì)是對函數(shù)和數(shù)據(jù)進行二次封裝,使程序進一步結(jié)構(gòu)化,可見學(xué)生掌握了程序封裝方法就相當(dāng)于擁有了進入軟件開發(fā)行業(yè)的敲門磚。

      對于維度二,可開設(shè)“數(shù)據(jù)庫與Web編程”,將數(shù)據(jù)庫和Web開發(fā)結(jié)合起來學(xué)習(xí)更有效果;以及“Socket網(wǎng)絡(luò)編程”,將訪問網(wǎng)絡(luò)和訪問文件的技術(shù)結(jié)合起來。

      (3)對于第三層次,可開設(shè)“設(shè)計模式”課程,該課程應(yīng)以任務(wù)驅(qū)動的方式介紹幾種常用的設(shè)計模式,以及UML軟件建模方法[7]。這樣,在學(xué)生掌握該層次后,即可適應(yīng)軟件公司程序員或系統(tǒng)架構(gòu)師的工作需要了。

      (4)第四層次,應(yīng)開設(shè)“數(shù)據(jù)結(jié)構(gòu)”課程,重點講解幾種簡單常用的數(shù)據(jù)結(jié)構(gòu)和算法。需要說明的是,第四層次和第三層次的學(xué)習(xí)也可同時進行。

      (5)第五層次,開設(shè)“軟件工程”的課程。只有當(dāng)學(xué)生具備了一定的編程經(jīng)歷,才能較好地理解這門課程,因此,這門課程需要在高年級并且經(jīng)歷過程序課程設(shè)計或?qū)嵙?xí)后再開設(shè)。在該層次中,還需要重視培養(yǎng)學(xué)生的軟件團隊分工開發(fā)的技能。

      3.4 教學(xué)實施案例

      以衡陽師范學(xué)院網(wǎng)絡(luò)工程專業(yè)為例,根據(jù)課程體系維度和層次的劃分方法,對該專業(yè)的人才培養(yǎng)方案和課程設(shè)置進行了重構(gòu)。將其程序設(shè)計能力的培養(yǎng)目標(biāo)定位為達到第二層次:其中,第一層次開設(shè)C++和Java兩門編程語言的課程,第二層次開設(shè)程序封裝方法的課程。

      對于課程設(shè)置,以維度一和維度二為主,開設(shè)Web編程(含數(shù)據(jù)庫編程的內(nèi)容)、Socket編程和安卓編程等。并且,還開設(shè)了幾門先修課程,如數(shù)據(jù)庫原理、計算機網(wǎng)絡(luò)、Linux操作系統(tǒng)以支撐相關(guān)程序設(shè)計課程的學(xué)習(xí)。

      經(jīng)過教學(xué)改革的實施,取得了較好的實施效果,學(xué)生的學(xué)習(xí)興趣和編程自信心都有明顯提高,經(jīng)調(diào)查統(tǒng)計,學(xué)生專業(yè)滿意度提高到97.6%,軟件中級資格證書的考試通過率提高了25%,就業(yè)率提高了5個百分點,并且就業(yè)質(zhì)量也有明顯提高。

      4 結(jié)語

      程序設(shè)計課程體系的維度和層次的劃分方案在衡陽師范學(xué)院計算機類專業(yè)進行了初步的實踐,取得了較好的成效,較大地提高了程序設(shè)計類課程的教學(xué)效果,從而提升了應(yīng)用型院校計算機類專業(yè)人才培養(yǎng)的質(zhì)量。以此項目研究為基礎(chǔ),可以使專業(yè)人才培養(yǎng)方案得到完善和改進,同時,將較大地提升學(xué)生對學(xué)校及專業(yè)的認(rèn)可度,提高畢業(yè)生就業(yè)率,為我國軟件產(chǎn)業(yè)的發(fā)展作出一定的貢獻。

      猜你喜歡
      數(shù)據(jù)結(jié)構(gòu)程序設(shè)計編程
      我家有只編程貓
      我家有只編程貓
      我家有只編程貓
      我家有只編程貓
      基于Visual Studio Code的C語言程序設(shè)計實踐教學(xué)探索
      計算機教育(2020年5期)2020-07-24 08:52:56
      從細節(jié)入手,談PLC程序設(shè)計技巧
      電子制作(2019年9期)2019-05-30 09:42:04
      高職高專院校C語言程序設(shè)計教學(xué)改革探索
      “翻轉(zhuǎn)課堂”教學(xué)模式的探討——以《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)為例
      高職高專數(shù)據(jù)結(jié)構(gòu)教學(xué)改革探討
      中國市場(2016年45期)2016-05-17 05:15:48
      PLC梯形圖程序設(shè)計技巧及應(yīng)用
      和田县| 高陵县| 海淀区| 辽中县| 灵石县| 富阳市| 遂昌县| 五大连池市| 子洲县| 上高县| 鹿邑县| 通化县| 新干县| 大悟县| 永德县| 施秉县| 汨罗市| 岳阳市| 武穴市| 兴安县| 青州市| 怀安县| 新乐市| 藁城市| 家居| 徐闻县| 杭锦旗| 桃园市| 文山县| 黄梅县| 仁寿县| 深水埗区| 电白县| 通许县| 安福县| 和硕县| 南皮县| 汉中市| 大城县| 水城县| 离岛区|