面向軟件工程學(xué)科的算法課程建設(shè).pdf.pdf 全文免費在線閱讀
本文關(guān)鍵詞:面向軟件工程學(xué)科的算法課程建設(shè),由筆耕文化傳播整理發(fā)布。
網(wǎng)友lxydx近日為您收集整理了關(guān)于面向軟件工程學(xué)科的算法課程建設(shè).pdf的文檔,希望對您的工作和學(xué)習(xí)有所幫助。以下是文檔介紹:中國大學(xué)教學(xué) 2012 年第 12 期55屈婉玲,北京大學(xué)信息科學(xué)技術(shù)學(xué)院教授;王捍貧,北京大學(xué)信息科學(xué)技術(shù)學(xué)院教授;段莉華,北京大學(xué)軟件與微電子學(xué)院講師。面向軟件工程學(xué)科的算法課程建設(shè)屈婉玲王捍貧段莉華摘要:算法不但是計算機科學(xué)與技術(shù)專業(yè)的核心課程,也是軟件工程專業(yè)的核心課程。算法知識不僅廣泛地用于軟件系統(tǒng)的設(shè)計與分析中,同時對培養(yǎng)學(xué)生分析和解決實際問題的能力具有重要的作用。本文基于北京大學(xué)軟件與微電子學(xué)院的教學(xué)實踐,對軟件工程專業(yè)碩士研究生算法課程的教學(xué)改革進(jìn)行了總結(jié),提出了相應(yīng)的教學(xué)實施方案。本方案的特點是:以素質(zhì)和能力培養(yǎng)為目標(biāo),構(gòu)建面向不同教學(xué)要求的模塊化的知識框架,并注重理論聯(lián)系實際,在軟件系統(tǒng)建模和分析中強化應(yīng)用。關(guān)鍵詞:算法設(shè)計與分析;軟件工程;碩士研究生課程;教學(xué)改革;計算思維北京大學(xué)軟件與微電子學(xué)院是一所面向產(chǎn)業(yè)和領(lǐng)域需求,培養(yǎng)高層次、實用型、復(fù)合交叉型、國際化人才的學(xué)院。經(jīng)過 10 年的探索與實踐,提出一套“產(chǎn)學(xué)研用結(jié)合”的培養(yǎng)模式和“多層次、多方向、多領(lǐng)域、模塊化、開放式”的課程體系[1]。在該課程體系中,“算法設(shè)計與分析”課程如何定位?面向工程碩士的算法課與本科生的算法課有什么區(qū)別?針對不同本科專業(yè)方向和基礎(chǔ)的學(xué)生如何制訂教學(xué)實施方案?這些都是需要探索的問題。一、算法課程的定位和指導(dǎo)思想教育部軟件工程學(xué)科課程體系研究課題組在《中國軟件工程學(xué)科教程》一書中提出了 4 種分別側(cè)重于計算機科學(xué)、軟件開發(fā)技術(shù)、系統(tǒng)認(rèn)識和工程化理念的不同的本科生教學(xué)計劃參考模式,其中“數(shù)據(jù)結(jié)構(gòu)與算法”都是重要的核心課程之一[2]。軟件工程是計算機科學(xué)與工程和管理學(xué)科的交叉學(xué)科,算法知識是計算學(xué)科的核心內(nèi)容,是軟件工程碩士必備的基礎(chǔ)。特別對于從事軟件工程的高層次、復(fù)合型人才,通過算法課程的學(xué)習(xí)有助于培養(yǎng)學(xué)生的計算思維與系統(tǒng)分析能力。因此,在北京大學(xué)軟件與微電子學(xué)院的課程體系中,“算法設(shè)計與分析”課程是面向全校碩士研究生的公共選修課,同時是軟件開發(fā)、軟件測試與質(zhì)量保證專業(yè)與研發(fā)中心碩士研究生的必修課,總計 3 學(xué)分,48 學(xué)時。由于軟件學(xué)院跨學(xué)科、多領(lǐng)域、產(chǎn)學(xué)研用相結(jié)合的培養(yǎng)模式,在制訂算法課程的教學(xué)計劃時遇到以下問題。問題 1:學(xué)習(xí)算法課的學(xué)生來自不同的專業(yè)方向,有著不同的培養(yǎng)目標(biāo)和需求(見表 1)。表 1 選修算法課學(xué)生的專業(yè)方向分布必修:156 人選修:56 人軟件開發(fā) 106 軟件工程管理 5軟件技術(shù)軟件測試與質(zhì)量保證 3 電子服務(wù)技術(shù) 9安全軟件開發(fā) 9數(shù)據(jù)挖掘及商務(wù)智能 13 計算機輔助翻譯 1嵌入式軟件與系統(tǒng) 18 數(shù)字媒體技術(shù) 4網(wǎng)絡(luò)技術(shù)及應(yīng)用 9 金融信息服務(wù) 2數(shù)字藝術(shù)支撐技術(shù) 1 系統(tǒng)與網(wǎng)絡(luò)安全 24研究中心軟硬件協(xié)同設(shè)計 6其他專業(yè)方向自然語言處理 2表 1 給出了一個北京校區(qū)算法課脫產(chǎn)班 212 人專業(yè)方向分布的示例,其中必修學(xué)生 156 人,大約占 3/4,剩下的是其他專業(yè)方向的選修生。不同專業(yè)方向、不同培養(yǎng)模式(脫產(chǎn)和在職班)的學(xué)生對算法課有著不同的需求。研究中心的學(xué)生由于要參與課題研究,需要較好的計算思維及更強的建模分析能力,其他學(xué)生更著重于軟件工程實踐及面向領(lǐng)域的應(yīng)用,而在職班的學(xué)生則希望了解更多的應(yīng)用背景。如何根據(jù)不同的培養(yǎng)目標(biāo)確定算法課的教學(xué)內(nèi)容?問題 2:算法課具有一定的難度,需要用到某些數(shù)據(jù)結(jié)構(gòu)與離散數(shù)學(xué)的知識。而軟件與微電子學(xué)院有部分學(xué)生56本科專業(yè)不是計算機或相關(guān)專業(yè),沒有系統(tǒng)學(xué)過這些課程。根據(jù)北京大學(xué)軟件與微電子學(xué)院的特點,面向軟件工程學(xué)科的碩士研究生算法課要在課程定位、教學(xué)目標(biāo)、教學(xué)內(nèi)容、教學(xué)設(shè)計等方面不斷探索,制訂出具有自己特色的教學(xué)實施方案。課程建設(shè)的指導(dǎo)思想是:(1)突出能力培養(yǎng)。隨著計算機的廣泛應(yīng)用,新的問題不斷涌現(xiàn),新的算法層出不窮,能力的培養(yǎng)尤為重要。與算法和問題求解相關(guān)的能力主要體現(xiàn)在以下 4 個方面:用適當(dāng)?shù)臄?shù)學(xué)模型描述實際問題的建模能力,運用計算思維確定問題求解方法的算法設(shè)計能力,對給定算法做出性能評價的分析能力,對問題難度和復(fù)雜性的判定能力。針對軟件工程專業(yè)碩士,在算法教學(xué)中應(yīng)該著重于前 3 種能力的培養(yǎng)。(2)構(gòu)建統(tǒng)一的知識框架。該框架面向多個專業(yè)方向,適應(yīng)于不同的本科基礎(chǔ),針對多樣性的人才培養(yǎng)目標(biāo),采用層次化、模塊化的結(jié)構(gòu),使得教師能夠根據(jù)不同的教學(xué)需求制訂相應(yīng)的教學(xué)計劃。(3)進(jìn)行科學(xué)的教學(xué)設(shè)計,不斷更新教學(xué)內(nèi)容,引入好的教學(xué)方法和教育技術(shù)。(4)建設(shè)一系列配套的教學(xué)資源,包括教材、電子教案、教學(xué)輔導(dǎo)書、網(wǎng)上教學(xué)環(huán)境等。(5)注重教師培養(yǎng),建立老中青結(jié)合的教師隊伍。二、算法課程的教學(xué)目標(biāo)與知識框架針對軟件工程專業(yè)碩士,算法課程的教學(xué)目標(biāo)是:(1)掌握計算機算法設(shè)計的基本技術(shù)——分治策略、動態(tài)規(guī)劃、貪心算法、回溯與分支限界、隨機算法等。(2)掌握計算機算法分析的基本方法——了解評價算法的標(biāo)準(zhǔn),能夠?qū)o定算法做出最壞與平均時間復(fù)雜度的估計,了解問題復(fù)雜度的界定方法。(3)了解計算復(fù)雜性理論的基本框架和應(yīng)用。(4)培養(yǎng)針對實際問題進(jìn)行建模并選擇高效求解算法的能力,使得學(xué)生在計算思維、學(xué)科方法訓(xùn)練及專業(yè)素質(zhì)方面得到提升。根據(jù)軟件工程的特點,算法課的核心內(nèi)容以算法設(shè)計技術(shù)與分析方法為主,對于 NP 完全理論以及概率算法、近似算法等研究領(lǐng)域加以簡要的介紹。算法課程的知識框架如下圖所示。在算法知識框架中,處于底層的是算法基礎(chǔ),有關(guān)知識可以在課程開始給予簡要的介紹,也可以包含在其他基礎(chǔ)課中。北大軟件與微電子學(xué)院的做法是:把有關(guān)計算機組成、操作系統(tǒng)、程序設(shè)計、數(shù)據(jù)結(jié)構(gòu)等計算機科學(xué)與技術(shù)的基礎(chǔ)知識配置成 A、B、C 三種類型的基礎(chǔ)課,以便不同專業(yè)的學(xué)生根據(jù)自己的情況選修。中間兩層由核心知識單元構(gòu)成,主要涉及算法的設(shè)計技術(shù)和分析方法,這部分內(nèi)容是課程重點。第四層涉及計算復(fù)雜性理論,重點是NP 完全理論。面對軟件工程專業(yè),只需要簡單介紹相關(guān)的概念和理論框架,使學(xué)生了解什么是問題的難解性。最高層則結(jié)合學(xué)科進(jìn)展介紹近似算法、隨機算法等熱點研究方向,同時聯(lián)系學(xué)生科研實踐對課程進(jìn)行總結(jié)。整個教學(xué)安排按照 48 學(xué)時進(jìn)行分配,其中基礎(chǔ)知識、算法設(shè)計與分析部分可根據(jù)不同班次的教學(xué)要求分配 32~42 學(xué)時。算法課程的知識框架圖三、圍繞計算思維和能力培養(yǎng)進(jìn)行教學(xué)設(shè)計“計算思維”是美國科學(xué)基金會在 2006 年的研究報告中提出的新概念,也是近年來計算機教育所關(guān)注的熱點問題。計算思維是運用計算機科學(xué)的基礎(chǔ)概念進(jìn)行問題求解、系統(tǒng)設(shè)計以及人類行為理解等涵蓋計算機科學(xué)之廣度的一系列思維活動[3]。計算思維是通過約簡、嵌入、轉(zhuǎn)化和仿真等方法,把一個困難的問題闡釋為如何求解它的思維方法。是一種遞歸思維,是一種采用抽象和分解的方法來控制龐雜的任務(wù)或進(jìn)行巨型復(fù)雜系統(tǒng)的設(shè)計,是一種選擇合適的方式陳述一個問題,或?qū)σ粋問題的相關(guān)方面建模使其易于處理的思維方法[4]。作為高層次的軟件工程研究和應(yīng)用人才,應(yīng)該受到良好的計算思維訓(xùn)練,而算法是計算思維訓(xùn)練的重要一環(huán)。算法課程的教學(xué)要求是:能夠?qū)λ蠼獾膯栴}加以抽象或約簡,給出形式化的描述并找到正確高效
12>
播放器加載中,請稍候...
系統(tǒng)無法檢測到您的Adobe Flash Player版本
建議您在線安裝最新版本的Flash Player 在線安裝
本文關(guān)鍵詞:面向軟件工程學(xué)科的算法課程建設(shè),,由筆耕文化傳播整理發(fā)布。
本文編號:162098
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/162098.html