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

        ?

        軟件工程環(huán)境下的C程序設(shè)計課程教學(xué)

        2011-12-31 00:00:00傅川沈鑫蔣巍巍
        計算機(jī)教育 2011年13期


          摘要:程序設(shè)計能力是計算機(jī)類專業(yè)的基本能力,也是檢驗計算機(jī)類畢業(yè)生是否合格的標(biāo)準(zhǔn)。針對目前計算機(jī)專業(yè)中各門課程教學(xué)相對獨立、缺乏課程間有機(jī)銜接的現(xiàn)狀,本文提出一種軟件工程環(huán)境下的C程序設(shè)計課程教學(xué)模式,即通過C語言來講述程序設(shè)計,并將程序編寫與軟件工程原理的闡述有機(jī)地貫穿在一起,以期增強(qiáng)學(xué)生的專業(yè)學(xué)習(xí)興趣,提高學(xué)生整體的程序設(shè)計能力和社會競爭力。
          關(guān)鍵詞:C程序設(shè)計;軟件工程;混合式教學(xué);雙語教學(xué)
          
          計算機(jī)和數(shù)學(xué)被看成是各個學(xué)科最重要的工具,同樣,編程和算法也成為一種基本的技能。程序語言是程序員間、程序員與機(jī)器間交互的媒介。隨著程序越來越復(fù)雜,程序必須遵循某種準(zhǔn)則開發(fā)才能更好地被他人、其他程序或機(jī)器更好地理解,才能更好地演化為符合某種特定目標(biāo)的軟件[1]。
          目前我國的計算機(jī)專業(yè)課程體系都是按照CC2001的框架制定的。CC2001是IEEE/CS和ACM為了規(guī)范和促進(jìn)大學(xué)計算機(jī)學(xué)科教育所制定的教學(xué)體系。CC2001的指導(dǎo)思想是計算機(jī)學(xué)科的課程應(yīng)由4個專業(yè)方向部分,即計算機(jī)科學(xué)、計算機(jī)工程、軟件工程與信息技術(shù)交織組成。作為計算機(jī)科學(xué)的第一門課程——CS101程序設(shè)計基礎(chǔ),其要求是介紹過程式程序設(shè)計的基本概念,內(nèi)容包括數(shù)據(jù)類型、控制結(jié)構(gòu)、函數(shù)、隊列、文件、運(yùn)行機(jī)制、測試和調(diào)試;并對計算機(jī)科學(xué)作為一門學(xué)科進(jìn)行了概述[2]。
          C程序設(shè)計作為我院計算機(jī)專業(yè)的第一門專業(yè)基礎(chǔ)課程,其扮演角色的重要性不言而喻。它是后續(xù)眾多專業(yè)課程的基礎(chǔ)。但目前專業(yè)教學(xué)中存在這樣的問題,各階段課程教學(xué)相對獨立,缺乏課程間的有機(jī)銜接,程序類課程教學(xué)中重視語法結(jié)構(gòu)和案例,很少能從程序設(shè)計的基本方法和思想進(jìn)行引導(dǎo),學(xué)生只能照樣畫瓢,缺少抽象思維、邏輯思維能力,難以編程解決實際問題。我們希望在學(xué)生掌握程序設(shè)計過程中激發(fā)起學(xué)生的軟件工程興趣。
          針對這個問題,本文提出了一種兩點并行的流程教學(xué)模式——軟件工程環(huán)境下的C程序設(shè)計教學(xué)模式,即通過C語言來講述程序設(shè)計,并將程序編寫與軟件工程原理的闡述有機(jī)地貫穿在一起,期望起到事半功倍的效果。
          1C語言透視圖
          C語言是一種復(fù)雜而專業(yè)的計算機(jī)語言。如果將語言放在一個透視圖中,學(xué)生由此能理解它的設(shè)計,這樣,C就不是一種難懂的語言了。我們在實際課堂教學(xué)中,打破原先程序設(shè)計課程順利講授的方式,將課程內(nèi)容按軟件工程體系結(jié)構(gòu)的要求邏輯重新組合。讓學(xué)生通過透視全局的方式快速進(jìn)入獨立程序設(shè)計狀態(tài)。
          課堂教學(xué)以程序設(shè)計為中心組織內(nèi)容,采用“案例引導(dǎo),問題驅(qū)動”的描述方式。案例基本上來源于生活工作中的實際問題,較大程度地激發(fā)學(xué)生的學(xué)習(xí)興趣。另外,在前兩章內(nèi)容中先簡要介紹程序設(shè)計的基本思想以及利用計算機(jī)求解問題的過程,然后從實例出發(fā),介紹順序、分支和循環(huán)3種控制結(jié)構(gòu)以及函數(shù)的使用。從第3章開始,再分主題逐步深入講解程序設(shè)計的思想和方法,以及相應(yīng)的語言知識。改變以前從一開始就進(jìn)入C語言的語法學(xué)習(xí),學(xué)生覺得枯燥乏味和教學(xué)低效的問題。讓學(xué)生形成“算法比程序更重要,思想方法比知識更重要”的貫穿整個專業(yè)學(xué)習(xí)過程的思維宗旨。
          2 “混合式教學(xué)”觸發(fā)器
          混合式學(xué)習(xí)(blended learning,BL)是傳統(tǒng)面對面的課堂學(xué)習(xí)方式和數(shù)字化學(xué)習(xí)兩種方式的有機(jī)整合,其本質(zhì)是強(qiáng)調(diào)教師的主導(dǎo)作用和學(xué)生的主體地位。它與傳統(tǒng)學(xué)習(xí)相比優(yōu)勢在于:不僅局限于對書本知識的簡單記憶,更多的是對知識的深度理解和擴(kuò)展,以及多方面能力的提升;既要發(fā)揮教師引導(dǎo)、啟發(fā)、監(jiān)控教學(xué)過程的主導(dǎo)作用,又要充分體現(xiàn)學(xué)生作學(xué)習(xí)過程主體的主動性、積極性與創(chuàng)造性[3]。
          教師的教學(xué)靈感就像是觸發(fā)器,在教學(xué)過程中要合理有針對性的釋放,盡可能大地挖掘?qū)W生的學(xué)習(xí)欲望和潛力。我們在課堂教學(xué)的具體實施過程中應(yīng)用混合式學(xué)習(xí)的理念,精心設(shè)計各部分課堂教學(xué)的課程導(dǎo)入、活動組織、學(xué)習(xí)支持、教學(xué)評價4個教學(xué)環(huán)節(jié)。如圖1所示。
          這里以C語言函數(shù)這一知識點的第一堂課內(nèi)容為例,描述整個課堂教學(xué)過程,教學(xué)目標(biāo)如圖2所示。
          所采用的主要教學(xué)手段,有以下5個部分。
          1) 課程導(dǎo)入:利用前期課程中的實驗案例引入新課概念。舉例引入“斐波那契數(shù)列之前是用循環(huán)實現(xiàn)的,現(xiàn)在采用函數(shù)該如何實現(xiàn)?”
          2) 角色扮演:通過角色扮演的游戲方式,讓學(xué)生體會程序設(shè)計思路。同時感性地理解函數(shù)基本概念和函數(shù)構(gòu)成的三要素。
          3) 紙面模型:用“紙面模型”法的實物演示形式將抽象思維具體化。模擬函數(shù)參與程序后的整個流程。同時引入軟件工程中的三個相關(guān)知識點:結(jié)構(gòu)圖,函數(shù)的復(fù)合以及自頂向下的開發(fā)的講解。
          4) 團(tuán)隊合作:分組完成一個隨堂項目“在給定的函數(shù)中挑選合適的完成——學(xué)生成績統(tǒng)計程序”的微型案例。強(qiáng)化記憶。
          5) 互評機(jī)制:學(xué)生互相評價。教師總評與總結(jié)。
          同時,在課堂教學(xué)中多媒體教學(xué)與黑板教學(xué)并用,課件與程序運(yùn)行環(huán)境并用。部分例子,有時也不一定是一個完整的例子,只是相關(guān)知識點的幾行代碼,在課堂上邊講邊編邊運(yùn)行,讓學(xué)生邊聽邊“消化”,并尋找時機(jī)進(jìn)行提問,實現(xiàn)教學(xué)互動。引導(dǎo)學(xué)生針對問題構(gòu)思框架,進(jìn)入設(shè)計的細(xì)節(jié),使用特定的描述方法,如流程圖。最后使用計算機(jī)語言體現(xiàn)設(shè)計思想。
          3軟件工程環(huán)境的映襯
          在每一章節(jié)的結(jié)尾部分,我們都安排軟件工程原理的討論。在這里討論的目的當(dāng)然不是代替獨立的軟件工程課程,是想將基本的軟件工程原理引入早期的學(xué)習(xí)中,學(xué)生能更好地為以后正式參與項目開發(fā)做好準(zhǔn)備,同時起到一個承上啟下的銜接作用。更重要的是,一開始就將邏輯簡單清晰、易讀易懂作為程序編寫的一個重要標(biāo)準(zhǔn),學(xué)生就不需要在以后被強(qiáng)迫忘卻壞習(xí)慣并重新學(xué)習(xí)。他們能在以后的課程中更好地理解軟件的涵義,了解軟件開發(fā)的過程。
          盡管軟件工程內(nèi)容重點講解出現(xiàn)于每一章節(jié)的末尾,但最好在每章一開始就先介紹,然后再在每章結(jié)束時對課程講授中所展示的軟件工程原理進(jìn)行小結(jié)。因此,我們掌握的一個原則就是,在軟件工程環(huán)境的映襯下,發(fā)揮C語言講解的主導(dǎo)作用。
          還是以函數(shù)這一章節(jié)為例,知識點的講授順序如下圖3所示[1]。
          4實踐出真知
          “Do it”才能夠“Understand it”。C程序設(shè)計課是實踐性極強(qiáng)的一門課程。只有通過在機(jī)器上編寫代碼,體現(xiàn)出把實際問題轉(zhuǎn)換為計算機(jī)處理過程,理解計算機(jī)的“思維”方式,才能夠激發(fā)學(xué)生的學(xué)習(xí)積極性和學(xué)習(xí)熱情,同時通過編程產(chǎn)生一種“實現(xiàn)”的成就感。
          我們在課程中引入綜合性設(shè)計類實驗的內(nèi)容,設(shè)計6個左右的主題實訓(xùn)作業(yè),其中安排3個有完整系統(tǒng)功能需求的任務(wù),要求學(xué)生綜合應(yīng)用所學(xué)的知識,分析、設(shè)計、編碼和測試完成自己的設(shè)計并撰寫一份符合模板要求的報告文檔。
          1) 分層次設(shè)計主題作業(yè)。
          在實際教學(xué)中,我們發(fā)現(xiàn)學(xué)生編程能力有較大差異。因此,6個主題實訓(xùn)作業(yè)按難度設(shè)置成3組(難度高、中和低,設(shè)置不同的考核得分),難度低的提供的參考資料(分析、算法和部分程序段)較多,這樣使得層次低的同學(xué)也能完成作業(yè)。
          2) 培養(yǎng)團(tuán)隊合作精神。
          對于難度最高的主題作業(yè),鼓勵學(xué)生每2~3人組成項目小組,小組成員共同選擇題目,商討編程方法和具體分工模塊。單人獨立完成的項目,可培養(yǎng)學(xué)生對一個小型的功能相對完整的軟件項目的理解能力和分析能力。而多人小組完成的項目,可培養(yǎng)學(xué)生的項目管理能力和團(tuán)隊協(xié)作精神。
          5雙語補(bǔ)給
          英語是計算機(jī)的“母語”。在實際教學(xué)過程中我們發(fā)現(xiàn),沒有一定的英語基礎(chǔ)已成為學(xué)生深入學(xué)習(xí)程序開發(fā)的“絆腳石”。首先,它反映在專業(yè)課程中,如果不重視這部分基礎(chǔ)補(bǔ)給的話,接下來就會給一系列專業(yè)課程帶來不良影響,其中就有軟件工程。換句話說,如果能在程序設(shè)計學(xué)習(xí)過程中讓學(xué)生形成比較好的英語氛圍,這將對學(xué)生的整個專業(yè)學(xué)習(xí)起到相當(dāng)積極的作用。但學(xué)生的英語基礎(chǔ)參差不齊,就每個學(xué)生個體來說,各項英語素質(zhì)也是高低不等,可能詞匯量不少,但聽說理解能力較差。因此,我們認(rèn)為給學(xué)生進(jìn)行雙語補(bǔ)給,不等同于英語專業(yè)課程的要求。在這里,英語是一個配角的角色,不可缺,但也需要我們教師有的放矢的引導(dǎo)。
          
          課程常規(guī)教學(xué)中,引入雙語。在初期的代碼講解過程中,要有一定比例的時間鎖定在雙語講解上,例如關(guān)鍵術(shù)語的講解,代碼編譯錯誤的具體解釋等。這些往往也是后續(xù)課程必須用到的專業(yè)詞匯。
          課后布置一定量原版書籍的翻譯作業(yè)。讓學(xué)生在指定的原版書籍中,每周任選一頁進(jìn)行翻譯,定期教師檢查評估。指定原版書籍為經(jīng)典書籍Programming in C(中譯名為C語言程序設(shè)計)和Software Engineering (中譯名為軟件工程)。通過這樣的翻譯練習(xí),有助于學(xué)生原汁原味地理解知識點,有時這樣的原味理解更直接更深刻。
          鼓勵學(xué)生閱讀一些專業(yè)外文期刊的最新學(xué)術(shù)論文,以跟蹤國際相關(guān)研究動態(tài),開拓學(xué)生視野。
          以上三點是對全體學(xué)生的要求和具體實施方案,對于專業(yè)上比較高的自我要求的學(xué)生以及到了高年級后還可以引導(dǎo)他們做如下的拓展:
          1) 結(jié)合已有知識與見識,廣泛閱讀國外論文。
          2) 通過開發(fā)類的外文文檔學(xué)習(xí)專業(yè)英語。
          3) 深入國外專業(yè)論壇進(jìn)行交流學(xué)習(xí)。
          4) 經(jīng)常光顧國外大學(xué)、研究機(jī)構(gòu)的相關(guān)專業(yè)網(wǎng)站。
          5) 研究閱讀國外開源軟件的開發(fā)類、方法類等文檔。
          6) 網(wǎng)上聽、看國外專業(yè)學(xué)術(shù)講座與報告。
          7) 國外開放課程在線。
          6結(jié)語
          C語言程序設(shè)計課程是計算機(jī)專業(yè)一門非常重要的基礎(chǔ)課程,對學(xué)生的信息化素質(zhì)培養(yǎng)至關(guān)重要,因此,應(yīng)對本課程進(jìn)行教學(xué)改革意義重大。通過在該課程教學(xué)中融入軟件工程的思想,把老師積累的工程經(jīng)驗傳遞給學(xué)生,能夠開闊學(xué)生的思維和眼界,動手實踐能力也能得到了成倍的培養(yǎng)。將這兩門課程的核心部分有效結(jié)合與銜接,這樣的改革值得深入研究和進(jìn)一步推廣。
          
          參考文獻(xiàn):
          [1] Behrouz A Forou

        中文字幕人妻无码一夲道| 少妇激情一区二区三区视频| 亚洲av一区二区网址| 国产96在线 | 亚洲| 四川丰满妇女毛片四川话| 国产性感午夜天堂av| 国产人成无码视频在线1000| 性久久久久久久| 亚洲熟妇无码av在线播放| 亚洲不卡高清av在线| 国产精品视频一区日韩丝袜| 中文字幕无码日韩专区免费| 免费观看a级毛片| 黄片国产一区二区三区| 日日躁欧美老妇| 国产成人综合久久精品推| 疯狂添女人下部视频免费| 亚洲激情综合中文字幕| 男女上床视频在线观看| 亚洲AV永久无码制服河南实里 | 亚洲综合国产成人丁香五月小说| 又黄又爽又高潮免费毛片| 玩弄人妻少妇精品视频| 一级老熟女免费黄色片| 日日骚一区二区三区中文字幕| 人妻丰满熟妇AV无码区HD| 无人高清电视剧在线观看| 白嫩人妻少妇偷人精品| av一区二区三区观看| 麻豆AV无码久久精品蜜桃久久| 欧美末成年videos在线观看| 少妇饥渴偷公乱a级无码 | 亚洲中文字幕剧情类别| 人妻少妇偷人精品久久人妻| 日本a级大片免费观看| 国产欧美日韩视频一区二区三区| 国产成人精品无码一区二区老年人| 99精品国产在热久久无毒不卡| 国产精品一二三区亚洲| 国产一品二品三品精品久久| 午夜亚洲国产精品福利|