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

        ?

        論計(jì)算機(jī)類(lèi)專(zhuān)業(yè)人才系統(tǒng)能力培養(yǎng)的起點(diǎn)

        2020-12-02 21:07:44劉奇志陳家駿袁春風(fēng)
        計(jì)算機(jī)教育 2020年4期
        關(guān)鍵詞:計(jì)算機(jī)系統(tǒng)程序設(shè)計(jì)基礎(chǔ)

        劉奇志,陳家駿,袁春風(fēng)

        (南京大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)系,江蘇 南京 210023)

        1 計(jì)算機(jī)類(lèi)專(zhuān)業(yè)人才系統(tǒng)能力的兩層涵義

        能力的涵義比較寬泛,通??煞譃橐话隳芰εc特殊能力兩類(lèi)。一般能力是指記憶力、想象力等掌握和運(yùn)用不同知識(shí)需要的共同能力;特殊能力是指完成某項(xiàng)活動(dòng)需要的專(zhuān)門(mén)能力,如數(shù)學(xué)能力、編曲能力等[1]。在計(jì)算機(jī)類(lèi)專(zhuān)業(yè)人才培養(yǎng)語(yǔ)境下討論的系統(tǒng)能力實(shí)質(zhì)上也有兩層涵義:一是方法論層面的一般系統(tǒng)能力,即能夠從問(wèn)題的全局把握各個(gè)組成要素及之間的關(guān)聯(lián)性、層次性和動(dòng)態(tài)性的能力[2-3];二是基于跟計(jì)算機(jī)系統(tǒng)有關(guān)的專(zhuān)業(yè)知識(shí)和技術(shù)發(fā)現(xiàn)問(wèn)題、分析問(wèn)題和解決問(wèn)題的特殊系統(tǒng)能力。

        方法論層面一般意義上的系統(tǒng)能力,通常表現(xiàn)為系統(tǒng)思維能力和系統(tǒng)實(shí)踐能力。系統(tǒng)思維建立在認(rèn)知、邏輯思維和結(jié)構(gòu)化思維基礎(chǔ)之上。系統(tǒng)實(shí)踐指在實(shí)際問(wèn)題情景中,如何運(yùn)用系統(tǒng)思維設(shè)計(jì)、實(shí)現(xiàn)和應(yīng)用等。計(jì)算機(jī)類(lèi)專(zhuān)業(yè)人才特有的系統(tǒng)能力,其核心在于掌握計(jì)算機(jī)系統(tǒng)內(nèi)部各個(gè)組成部分的設(shè)計(jì)方法與工作原理、功能特征與運(yùn)用策略、邏輯關(guān)系和相互作用。

        通過(guò)分析計(jì)算機(jī)類(lèi)專(zhuān)業(yè)人才系統(tǒng)能力的兩層涵義,可以看出:不管是一般系統(tǒng)能力,還是計(jì)算機(jī)類(lèi)專(zhuān)業(yè)人才特有的系統(tǒng)能力,都不是一蹴而就的,需要專(zhuān)門(mén)的引導(dǎo)。

        2 計(jì)算機(jī)類(lèi)專(zhuān)業(yè)人才系統(tǒng)能力培養(yǎng)的起點(diǎn)

        對(duì)應(yīng)系統(tǒng)能力的兩個(gè)層面,系統(tǒng)能力培養(yǎng)也需要從兩個(gè)層面加以考量。

        從方法論層面來(lái)看,系統(tǒng)思維能力和系統(tǒng)實(shí)踐能力的獲得,需要從認(rèn)知、邏輯思維和結(jié)構(gòu)化思維等角度,在實(shí)際系統(tǒng)的設(shè)計(jì)、實(shí)現(xiàn)和應(yīng)用過(guò)程中,進(jìn)行全面訓(xùn)練和持續(xù)學(xué)習(xí),并且一般需要反饋訓(xùn)練,甚至需要建立在動(dòng)態(tài)思維習(xí)慣的養(yǎng)成之上。實(shí)際上,一般系統(tǒng)能力的培養(yǎng)早在大學(xué)之前的教育階段就開(kāi)始了,甚至可以追溯到學(xué)前教育階段。在大學(xué)階段,這種能力需要在多門(mén)課程中進(jìn)行更有針對(duì)性的訓(xùn)練和提高,各門(mén)課程應(yīng)承擔(dān)不同的角色和任務(wù)。計(jì)算機(jī)類(lèi)引導(dǎo)級(jí)課程應(yīng)承擔(dān)奠定系統(tǒng)認(rèn)知基礎(chǔ)和逐步引入邏輯思維乃至結(jié)構(gòu)化思維的任務(wù),并應(yīng)提供設(shè)計(jì)、實(shí)現(xiàn)和應(yīng)用過(guò)程的反饋訓(xùn)練機(jī)制及動(dòng)態(tài)思維實(shí)踐機(jī)會(huì)。程序設(shè)計(jì)基礎(chǔ)在系統(tǒng)認(rèn)知、邏輯和結(jié)構(gòu)化思維、反饋訓(xùn)練及動(dòng)態(tài)思維實(shí)踐等方面具有天然的優(yōu)勢(shì),適合作為大學(xué)期間一般系統(tǒng)能力培養(yǎng)的起點(diǎn),具體引導(dǎo)作用見(jiàn)本文的第三部分。

        從計(jì)算機(jī)系統(tǒng)層面來(lái)看,特殊系統(tǒng)能力培養(yǎng)需要圍繞計(jì)算機(jī)系統(tǒng)在分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、優(yōu)化等多個(gè)方面分別引導(dǎo)和訓(xùn)練:①分析給定系統(tǒng)結(jié)構(gòu)及輸入對(duì)應(yīng)的輸出;②根據(jù)給定輸入和輸出設(shè)計(jì)系統(tǒng),讓軟件和硬件協(xié)同工作,并合理構(gòu)建人機(jī)交互模式;③調(diào)試和修正系統(tǒng)各層面的錯(cuò)誤;④分析、驗(yàn)證和調(diào)優(yōu)系統(tǒng)整體性能[4-5]。傳統(tǒng)培養(yǎng)模式是按計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)切分,將知識(shí)點(diǎn)劃入不同的課程分別加以介紹,主要涉及數(shù)字邏輯電路、計(jì)算機(jī)組成原理、匯編語(yǔ)言程序設(shè)計(jì)、操作系統(tǒng)、編譯原理、計(jì)算機(jī)網(wǎng)絡(luò)等課程。新型培養(yǎng)模式引入計(jì)算機(jī)系統(tǒng)基礎(chǔ)等課程,著力從程序員視角將計(jì)算機(jī)系統(tǒng)基本概念在一門(mén)課中串起來(lái),幫助程序員建立一個(gè)整體系統(tǒng)知識(shí)框架,并假定學(xué)生對(duì)C 語(yǔ)言程序設(shè)計(jì)有一定的基礎(chǔ)[6]。鑒于當(dāng)前國(guó)際國(guó)內(nèi)初等教育中的計(jì)算機(jī)教育水平參差不齊、缺乏規(guī)范,于是高等教育程序設(shè)計(jì)基礎(chǔ)成為特殊系統(tǒng)能力培養(yǎng)的排頭兵,具體內(nèi)容見(jiàn)本文的第四部分。

        是否以程序設(shè)計(jì)基礎(chǔ)作為計(jì)算機(jī)類(lèi)引導(dǎo)級(jí)課程尚有爭(zhēng)議,但以其作為系統(tǒng)能力培養(yǎng)的起點(diǎn)卻不難達(dá)成共識(shí)。世界兩大著名的非營(yíng)利性學(xué)術(shù)團(tuán)體ACM 及IEEE 發(fā) 布 的Computing Curriculum規(guī)范(如CC2001、CS2013 等)影響深遠(yuǎn)。CC2001[7]用3 層模型(Introductory,Intermediate,Advanced)來(lái)看待高校的計(jì)算課程,并總結(jié)了國(guó)際上現(xiàn)有引導(dǎo)級(jí)(Introductory)課程層6 種不同的導(dǎo)入模式(命令式優(yōu)先、對(duì)象式優(yōu)先、函數(shù)式優(yōu)先、廣度優(yōu)先、算法優(yōu)先和硬件優(yōu)先)。6 種模式中,跟計(jì)算機(jī)系統(tǒng)結(jié)合最為緊密的是第一種命令式優(yōu)先模式和第六種硬件優(yōu)先模式,分別對(duì)應(yīng)當(dāng)前系統(tǒng)能力培養(yǎng)的兩種主流模式。硬件優(yōu)先模式在計(jì)算機(jī)類(lèi)專(zhuān)業(yè)中很少采用。以程序設(shè)計(jì)基礎(chǔ)作為引導(dǎo)級(jí)課程是命令式優(yōu)先導(dǎo)入模式的典型代表。因此,該課程作為引導(dǎo)級(jí)課程不僅是國(guó)內(nèi)外計(jì)算機(jī)學(xué)科廣為采用的導(dǎo)入模式,也是更利于系統(tǒng)能力培養(yǎng)的一種導(dǎo)入模式。

        此外,對(duì)系統(tǒng)能力培養(yǎng)的探討本身也需要系統(tǒng)觀。英國(guó)的彼得·切克蘭德(獲英國(guó)計(jì)算機(jī)協(xié)會(huì)授予的“最具杰出貢獻(xiàn)人員”獎(jiǎng))在systems thinking,systems practice 一書(shū)中指出,相對(duì)于基于系統(tǒng)工程方法的“硬”系統(tǒng)思維,“軟”系統(tǒng)思維更強(qiáng)調(diào)對(duì)系統(tǒng)復(fù)雜性的探究過(guò)程本身是一個(gè)開(kāi)放的學(xué)習(xí)系統(tǒng)[8]。實(shí)際上,正如探究計(jì)算機(jī)系統(tǒng)和實(shí)際問(wèn)題求解過(guò)程,開(kāi)展計(jì)算機(jī)類(lèi)專(zhuān)業(yè)人才系統(tǒng)能力培養(yǎng)過(guò)程本身也是復(fù)雜、開(kāi)放的系統(tǒng),涉及多門(mén)課程的教與學(xué),并隨著科技的發(fā)展而變化,需要探究者持續(xù)學(xué)習(xí)和不斷總結(jié)。本文提供南京大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系程序設(shè)計(jì)基礎(chǔ)課程組在本專(zhuān)業(yè)人才系統(tǒng)能力培養(yǎng)過(guò)程中的階段性思考,以及在引導(dǎo)級(jí)課程中切實(shí)開(kāi)展系統(tǒng)能力培養(yǎng)的具體策略。

        3 程序設(shè)計(jì)基礎(chǔ)在一般系統(tǒng)能力培養(yǎng)中的引導(dǎo)作用

        方法論層面的系統(tǒng)思維能力以認(rèn)知為基礎(chǔ),系統(tǒng)實(shí)踐能力通常需要具有反饋習(xí)慣,而且在思維和實(shí)踐環(huán)節(jié)都應(yīng)自覺(jué)關(guān)注系統(tǒng)的動(dòng)態(tài)特征。程序設(shè)計(jì)基礎(chǔ)能夠較好地支持一般系統(tǒng)能力這幾個(gè)方面的基本訓(xùn)練。

        3.1 建立感性認(rèn)知,夯實(shí)系統(tǒng)思維基礎(chǔ)

        系統(tǒng)思維能力不是空中樓閣,從認(rèn)知到擁有邏輯思維能力,進(jìn)而發(fā)展到具備結(jié)構(gòu)化思維能力,最后上升到系統(tǒng)思維能力,是一個(gè)循序漸進(jìn)的過(guò)程。程序設(shè)計(jì)基礎(chǔ)首先引領(lǐng)學(xué)生認(rèn)識(shí)程序的基本結(jié)構(gòu)與要素,編寫(xiě)解決簡(jiǎn)單問(wèn)題的小規(guī)模程序,并在通用平臺(tái)上運(yùn)行起來(lái),建立感性認(rèn)知。然后結(jié)合具體實(shí)例,從C 語(yǔ)言的關(guān)系與邏輯操作和結(jié)構(gòu)化程序設(shè)計(jì)方法出發(fā),有針對(duì)性地介紹流程控制與模塊設(shè)計(jì)方法,啟發(fā)學(xué)生掌握分類(lèi)、枚舉、迭代和遞歸等問(wèn)題求解思路,逐步訓(xùn)練學(xué)生的邏輯思維和結(jié)構(gòu)化思維。最后引導(dǎo)學(xué)生通盤(pán)考慮問(wèn)題和系統(tǒng)各個(gè)層面及其間的關(guān)系,揭示程序與程序設(shè)計(jì)的本質(zhì)及相關(guān)概念。這一過(guò)程符合人們從感性到理性的認(rèn)知特點(diǎn),能夠?yàn)橄到y(tǒng)思維打下良好的基礎(chǔ)。

        值得注意的是,程序設(shè)計(jì)基礎(chǔ)教學(xué)中應(yīng)讓初學(xué)者盡快進(jìn)入程序員角色,體驗(yàn)認(rèn)知和思考的樂(lè)趣,避免使學(xué)生在嘗試編寫(xiě)程序之前,被抽象的概念和術(shù)語(yǔ)及計(jì)算機(jī)系統(tǒng)對(duì)數(shù)據(jù)的存儲(chǔ)方式等知識(shí)困擾[9]。

        3.2 提供反饋機(jī)制,強(qiáng)化系統(tǒng)實(shí)踐基本功

        程序設(shè)計(jì)過(guò)程中,從問(wèn)題的分析和求解方案的設(shè)計(jì),到代碼的編輯、編譯、鏈接和執(zhí)行,每個(gè)環(huán)節(jié)都有可能出錯(cuò),需要學(xué)生返回過(guò)程前面某個(gè)階段進(jìn)行錯(cuò)誤修改,然后重新繼續(xù)過(guò)程的后續(xù)階段。例如,C 語(yǔ)言編譯器在編譯時(shí)發(fā)現(xiàn)源程序中存在語(yǔ)法錯(cuò)誤,鏈接器在鏈接目標(biāo)文件時(shí)發(fā)現(xiàn)外部引用錯(cuò)誤,程序運(yùn)行結(jié)果與預(yù)期不符等,需要修改代碼、設(shè)置環(huán)境、審查程序的邏輯重新設(shè)計(jì),直到程序產(chǎn)生正確結(jié)果為止。這是一個(gè)天然的反饋機(jī)制,而且常常存在多次反饋的情況。這樣的過(guò)程有助于強(qiáng)化基本的系統(tǒng)實(shí)踐訓(xùn)練,并能有效地將知識(shí)的記憶融入解決實(shí)際問(wèn)題的過(guò)程。

        另外,程序設(shè)計(jì)基礎(chǔ)是一門(mén)實(shí)踐性非常強(qiáng)的課程,實(shí)踐教學(xué)過(guò)程中的反饋式[10]教學(xué)設(shè)計(jì),可以進(jìn)一步加強(qiáng)訓(xùn)練效果。教學(xué)中有針對(duì)性地布置訓(xùn)練任務(wù),并及時(shí)進(jìn)行正反兩方面的反饋,展示好的做法,明確標(biāo)注程序中存在的缺陷和不好的做法,可以激勵(lì)和督促學(xué)生不斷地思考、訓(xùn)練,直至養(yǎng)成良好、規(guī)范的習(xí)慣。

        3.3 關(guān)注技術(shù)演變,培育動(dòng)態(tài)思維習(xí)慣

        相較于關(guān)注要素,一般系統(tǒng)能力更善于把握各要素之間的區(qū)別和聯(lián)系,能夠在全面了解靜態(tài)特征的同時(shí),洞悉動(dòng)態(tài)特征。程序設(shè)計(jì)經(jīng)歷了從采用低級(jí)語(yǔ)言到采用高級(jí)語(yǔ)言、從簡(jiǎn)單編碼到全面軟件工程的發(fā)展歷程。在這一歷程中,體現(xiàn)了人們對(duì)程序設(shè)計(jì)活動(dòng)的不斷認(rèn)識(shí)和改進(jìn)。以程序設(shè)計(jì)語(yǔ)言為例,自20 世紀(jì)70 年代貝爾實(shí)驗(yàn)室發(fā)明C 語(yǔ)言以來(lái),該語(yǔ)言得到了廣泛的使用和發(fā)展,形成了多種C 語(yǔ)言的實(shí)現(xiàn)版本,以及不同版本的語(yǔ)言標(biāo)準(zhǔn)。各種版本在功能和函數(shù)庫(kù)的設(shè)置及語(yǔ)法上存在差別,不同公司或團(tuán)隊(duì)開(kāi)發(fā)的集成開(kāi)發(fā)環(huán)境對(duì)語(yǔ)言標(biāo)準(zhǔn)的實(shí)現(xiàn)程度也不盡相同。在這些內(nèi)容的教學(xué)過(guò)程中,可以引導(dǎo)學(xué)生的動(dòng)態(tài)思維習(xí)慣,深化一般系統(tǒng)能力的培養(yǎng)。

        對(duì)于日新月異的計(jì)算機(jī)科學(xué)與技術(shù),若能不斷優(yōu)化程序設(shè)計(jì)基礎(chǔ)的教學(xué)設(shè)計(jì),注重知識(shí)的前后關(guān)聯(lián),給出問(wèn)題的來(lái)龍去脈,不僅介紹早期經(jīng)典做法與最新標(biāo)準(zhǔn)的差異,還能結(jié)合科研內(nèi)容與方法介紹科技前沿動(dòng)態(tài),必定能盡早潛移默化地影響學(xué)生的動(dòng)態(tài)思維。當(dāng)然也要提醒初學(xué)者應(yīng)以掌握程序設(shè)計(jì)基本方法為目標(biāo),避免被語(yǔ)言標(biāo)準(zhǔn)或語(yǔ)言的實(shí)現(xiàn)細(xì)節(jié)糾纏。

        4 程序設(shè)計(jì)基礎(chǔ)在特殊系統(tǒng)能力培養(yǎng)中的引導(dǎo)作用

        計(jì)算機(jī)類(lèi)專(zhuān)業(yè)人才特有的系統(tǒng)能力,需要建立在對(duì)計(jì)算機(jī)系統(tǒng)各組成部分及相互關(guān)系的認(rèn)知基礎(chǔ)之上,能夠分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試和優(yōu)化計(jì)算模型。程序設(shè)計(jì)基礎(chǔ)用C 語(yǔ)言介紹過(guò)程式程序設(shè)計(jì)方法及相關(guān)基礎(chǔ)知識(shí),可以為上述各種能力的培養(yǎng)奠定一個(gè)較為扎實(shí)的基礎(chǔ),讓學(xué)生在初步了解計(jì)算機(jī)學(xué)科的同時(shí),為其他核心課程(如計(jì)算機(jī)系統(tǒng)基礎(chǔ)、操作系統(tǒng)、編譯原理等)提供必要的準(zhǔn)備。當(dāng)然教學(xué)中要分清與相關(guān)課程內(nèi)容的聯(lián)系、區(qū)別與邊界,盡量減少與后續(xù)課程內(nèi)容的重復(fù)。

        4.1 闡釋C 語(yǔ)言相關(guān)概念,無(wú)縫連接計(jì)算機(jī)系統(tǒng)知識(shí)

        在國(guó)際國(guó)內(nèi)計(jì)算機(jī)科學(xué)教育中,引導(dǎo)級(jí)課程采用何種編程語(yǔ)言存在相當(dāng)大的爭(zhēng)議。作為一種不再年輕或備受追捧的編程語(yǔ)言,C 語(yǔ)言與計(jì)算機(jī)系統(tǒng)關(guān)系緊密,對(duì)數(shù)據(jù)的描述和對(duì)數(shù)據(jù)的操作相分離的模式與馮·諾依曼體系結(jié)構(gòu)比較吻合,有助于學(xué)生理解現(xiàn)行主流計(jì)算模型,相關(guān)知識(shí)點(diǎn)與后續(xù)課程計(jì)算機(jī)系統(tǒng)基礎(chǔ)可以無(wú)縫銜接。例如,程序設(shè)計(jì)基礎(chǔ)中基本操作符、流程控制、單模塊設(shè)計(jì)、多模塊設(shè)計(jì)等概念,可以分別對(duì)應(yīng)計(jì)算機(jī)系統(tǒng)基礎(chǔ)中數(shù)據(jù)的機(jī)器級(jí)處理、選擇語(yǔ)句和循環(huán)結(jié)構(gòu)的機(jī)器級(jí)表示、過(guò)程調(diào)用的機(jī)器級(jí)表示、程序的鏈接等知識(shí)點(diǎn);基本數(shù)據(jù)類(lèi)型、派生(構(gòu)造)數(shù)據(jù)類(lèi)型、指針等概念,可以分別對(duì)應(yīng)數(shù)據(jù)的機(jī)器級(jí)表示、復(fù)雜數(shù)據(jù)類(lèi)型的分配和訪問(wèn)、地址空間和地址轉(zhuǎn)換、數(shù)據(jù)對(duì)齊等概念。

        需要注意的是,程序設(shè)計(jì)基礎(chǔ)的課程內(nèi)容應(yīng)當(dāng)圍繞程序設(shè)計(jì)本質(zhì)和系統(tǒng)能力培養(yǎng)進(jìn)行合理安排與組織,而不是圍繞語(yǔ)言元素展開(kāi),在講解過(guò)程中應(yīng)適時(shí)提煉程序設(shè)計(jì)和特殊系統(tǒng)能力有關(guān)的思想方法。

        4.2 剖析過(guò)程式程序結(jié)構(gòu),直通計(jì)算機(jī)系統(tǒng)功能分析

        分析給定計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)及輸入對(duì)應(yīng)的輸出是最起碼的計(jì)算機(jī)類(lèi)專(zhuān)業(yè)人才特有的系統(tǒng)能力。作為引導(dǎo)級(jí)課程,程序設(shè)計(jì)基礎(chǔ)借助于C 語(yǔ)言介紹過(guò)程式程序設(shè)計(jì)的基本做法。一個(gè)過(guò)程對(duì)應(yīng)一個(gè)子功能,可以在程序執(zhí)行的任何一個(gè)時(shí)間點(diǎn)被其他過(guò)程或自身調(diào)用。過(guò)程內(nèi)部的計(jì)算步驟按順序、分支或循環(huán)流程執(zhí)行。這種程序有利于初學(xué)者根據(jù)輸入分析輸出,能盡快為系統(tǒng)分析能力打下基礎(chǔ)。

        在C 語(yǔ)言編程實(shí)踐中,學(xué)生會(huì)自然而然地希望進(jìn)一步了解計(jì)算機(jī)執(zhí)行程序的機(jī)理。例如,變量是過(guò)程式程序的重要實(shí)體,通過(guò)解釋C 語(yǔ)言變量的屬性,可以讓學(xué)生將代碼中的變量與內(nèi)存中的變量聯(lián)系起來(lái),并能接觸地址概念,很容易激發(fā)學(xué)生對(duì)機(jī)器級(jí)相關(guān)概念的好奇心。函數(shù)是另一個(gè)重要實(shí)體,函數(shù)調(diào)用過(guò)程會(huì)引起學(xué)生對(duì)計(jì)算機(jī)系統(tǒng)中的堆、棧的好奇心。教學(xué)中,可以在此基礎(chǔ)上引導(dǎo)學(xué)生對(duì)比實(shí)現(xiàn)同一功能的不同代碼在計(jì)算機(jī)系統(tǒng)中運(yùn)行時(shí)的差別。此外,在教學(xué)過(guò)程中的不同階段,對(duì)比、總結(jié)函數(shù)間的不同通訊方式,還可以幫助學(xué)生建立相關(guān)計(jì)算機(jī)系統(tǒng)知識(shí)的整體框架。

        4.3 訓(xùn)練系統(tǒng)級(jí)語(yǔ)言編程,啟蒙計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)

        計(jì)算機(jī)類(lèi)專(zhuān)業(yè)人才特有的系統(tǒng)能力中,設(shè)計(jì)和實(shí)現(xiàn)能力極其重要,通常需要軟件和硬件兩方面的知識(shí)儲(chǔ)備,甚至需要諳熟系統(tǒng)與用戶(hù)之間的交互關(guān)系。C 語(yǔ)言是一種貼近硬件的高級(jí)編程語(yǔ)言,程序設(shè)計(jì)基礎(chǔ)可以從一開(kāi)始在編程訓(xùn)練中幫助學(xué)生建立軟件和硬件兩方面的感性認(rèn)知,在此基礎(chǔ)上建立的程序設(shè)計(jì)意識(shí)更有利于后續(xù)計(jì)算機(jī)系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)能力的培養(yǎng)。例如,求兩個(gè)正整數(shù)m和n的最大公約數(shù),可以先分別求出m和n的所有約數(shù),然后找出兩者公共約數(shù)中的最大值,也可以用輾轉(zhuǎn)相除法,后者更便于計(jì)算機(jī)實(shí)現(xiàn)。輾轉(zhuǎn)相除法的缺陷在于,當(dāng)m、n非常大的時(shí)候,計(jì)算m除以n的余數(shù)將是一個(gè)復(fù)雜而耗時(shí)的過(guò)程,而只涉及整數(shù)的移位和加減法的Stein算法效率更高。學(xué)完該課程后,學(xué)生不難了解到利用計(jì)算機(jī)求解實(shí)際問(wèn)題必須轉(zhuǎn)換為適合計(jì)算機(jī)系統(tǒng)的算法和程序,才能在計(jì)算機(jī)上有效運(yùn)行和獲得結(jié)果。

        當(dāng)然,要想獲得更好的實(shí)現(xiàn)能力訓(xùn)練效果,教學(xué)中還需突出重點(diǎn)、闡明難點(diǎn)。課堂教學(xué)可以選取典型例程深入講解,實(shí)驗(yàn)教學(xué)要精心設(shè)計(jì)訓(xùn)練題、上機(jī)測(cè)驗(yàn)和小項(xiàng)目,提供充分的上機(jī)指導(dǎo)來(lái)解決學(xué)生在實(shí)踐中遇到的技術(shù)難題。通過(guò)理論和實(shí)踐環(huán)節(jié)分別引導(dǎo)學(xué)生面對(duì)實(shí)際問(wèn)題時(shí)的分析、設(shè)計(jì)和實(shí)現(xiàn)能力。

        4.4 提供多種程序調(diào)試手段,點(diǎn)撥計(jì)算機(jī)系統(tǒng)的糾錯(cuò)和優(yōu)化

        實(shí)際編寫(xiě)的程序中可能含有語(yǔ)法、邏輯或運(yùn)行異常錯(cuò)誤。不符合語(yǔ)法規(guī)則的錯(cuò)誤可以由編譯器檢查發(fā)現(xiàn)。邏輯或運(yùn)行異常錯(cuò)誤往往較難發(fā)現(xiàn)。除了設(shè)計(jì)的算法或數(shù)據(jù)結(jié)構(gòu)不符合問(wèn)題的求解之外,程序本身也有可能不符合算法或數(shù)據(jù)結(jié)構(gòu)的邏輯。例如分類(lèi)情況考慮不周或部分重疊、代碼中分支或循環(huán)流程的誤寫(xiě)等。對(duì)執(zhí)行環(huán)境的缺陷或用戶(hù)操作的失誤考慮不足會(huì)引起運(yùn)行期間程序異常終止,例如內(nèi)存空間不足、打開(kāi)不存在的文件進(jìn)行讀操作、數(shù)組下標(biāo)越界、程序執(zhí)行了除以0 的指令等。這些邏輯和運(yùn)行異常錯(cuò)誤可以通過(guò)少量模擬數(shù)據(jù)進(jìn)行分單元分模塊乃至集成化的整體測(cè)試,并通過(guò)調(diào)試(debug)來(lái)對(duì)錯(cuò)誤進(jìn)行定位和排除。程序設(shè)計(jì)基礎(chǔ)教學(xué)過(guò)程中會(huì)介紹多種程序調(diào)試手段,例如通過(guò)邏輯分析和判斷、增加階段性輸出、利用C 語(yǔ)言的條件編譯或斷言、借助debug 工具設(shè)置斷點(diǎn)等,幫助學(xué)生分析、發(fā)現(xiàn)和調(diào)試程序的錯(cuò)誤,并在實(shí)踐中積累調(diào)試技巧、經(jīng)驗(yàn)和能力,以便靈活運(yùn)用,進(jìn)而能對(duì)系統(tǒng)整體性能進(jìn)行分析、驗(yàn)證、排錯(cuò)和調(diào)優(yōu)。

        當(dāng)然,由于C 語(yǔ)言具有較強(qiáng)的靈活性,適合熟練的程序員用來(lái)開(kāi)發(fā)高效的系統(tǒng)軟件、支撐軟件或應(yīng)用軟件,而對(duì)于初學(xué)者,會(huì)存在一些羈絆。程序設(shè)計(jì)基礎(chǔ)教學(xué)中可以根據(jù)需要,介紹有關(guān)的C 語(yǔ)言元素及其使用方法,以及會(huì)使初學(xué)者迷惑的語(yǔ)言陷阱,不必完整介紹C 語(yǔ)言的所有規(guī)則或機(jī)制,以免把學(xué)生引入重點(diǎn)學(xué)習(xí)C 語(yǔ)言而不是程序設(shè)計(jì)基本方法的歧途。

        5 結(jié)語(yǔ)

        在計(jì)算機(jī)類(lèi)專(zhuān)業(yè)人才系統(tǒng)能力培養(yǎng)課程體系中,基于C 語(yǔ)言介紹過(guò)程式程序設(shè)計(jì)范型的程序設(shè)計(jì)基礎(chǔ)這一課程扮演著不便替代的重要角色。盡管各個(gè)高校該課程的具體教學(xué)內(nèi)容存在一些差異,以該課程作為引導(dǎo)級(jí)課程至少可以培養(yǎng)學(xué)生圍繞計(jì)算機(jī)系統(tǒng)進(jìn)行編碼、調(diào)試和糾錯(cuò),在特殊系統(tǒng)能力方面提供有效訓(xùn)練。如果教學(xué)方法得當(dāng),還能幫助學(xué)生在思考系統(tǒng)各個(gè)組成部分的邏輯關(guān)系和相互作用等一般系統(tǒng)能力方面奠定一個(gè)較為扎實(shí)的基礎(chǔ)。

        猜你喜歡
        計(jì)算機(jī)系統(tǒng)程序設(shè)計(jì)基礎(chǔ)
        “不等式”基礎(chǔ)鞏固
        “整式”基礎(chǔ)鞏固
        基于Visual Studio Code的C語(yǔ)言程序設(shè)計(jì)實(shí)踐教學(xué)探索
        從細(xì)節(jié)入手,談PLC程序設(shè)計(jì)技巧
        電子制作(2019年9期)2019-05-30 09:42:04
        IBM推出可與人類(lèi)“辯論”的計(jì)算機(jī)系統(tǒng)
        “防”“治”并舉 筑牢基礎(chǔ)
        高職高專(zhuān)院校C語(yǔ)言程序設(shè)計(jì)教學(xué)改革探索
        分布處理計(jì)算機(jī)系統(tǒng)研究
        MIMD 并行計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)與定量分析
        PLC梯形圖程序設(shè)計(jì)技巧及應(yīng)用
        少妇精品无码一区二区三区| 天堂av一区一区一区| 国产一区二区三区白浆肉丝| 又黄又刺激的网站久久| 久久精品国产视频在热| 亚洲三级黄色| 免费的黄网站精品久久| 国产精品高潮呻吟av久久黄| 曰韩亚洲av人人夜夜澡人人爽 | 久久狠狠第一麻豆婷婷天天| 日本中文字幕一区二区视频| 自拍亚洲一区欧美另类| 午夜亚洲精品一区二区| 亚洲中文字幕日产无码| 真实国产老熟女粗口对白| 欧美日韩国产亚洲一区二区三区| 国产av精品久久一区二区| 成人欧美一区二区三区黑人 | 国产一级做a爱免费观看| 黄色网页在线观看一区二区三区 | 色一情一区二| 免费无码AⅤ片在线观看| 日本成人精品在线播放| 国产成人精品白浆久久69| 麻豆国产成人精品午夜视频| 中文字幕亚洲日本va| 久久精品国产亚洲av麻豆会员 | 国产精品jizz观看| 97中文字幕一区二区| 精品厕所偷拍一区二区视频| 国产精品久久久久av福利动漫| 欧美激情中文字幕在线一区二区| 午夜桃色视频在线观看| 看全色黄大色黄大片 视频| 欧性猛交ⅹxxx乱大交| 精品少妇后入一区二区三区| 中文字幕女同系列在线看一| 精产国品一二三产品蜜桃| аⅴ天堂一区视频在线观看| 香港三级日本三韩级人妇久久| 国产三级久久久精品麻豆三级|