国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

圍繞計(jì)算思維培養(yǎng)的程序設(shè)計(jì)課程改革

2013-12-29 00:00:00孫麗君楊志強(qiáng)高枚
計(jì)算機(jī)教育 2013年5期

摘要:為了在程序設(shè)計(jì)課程中主動(dòng)地、有意識(shí)地培養(yǎng)學(xué)生的計(jì)算思維,文章提出“建立計(jì)算思維的概念,掌握計(jì)算思維的方法,培養(yǎng)計(jì)算思維的能力”的教學(xué)目標(biāo),即對(duì)C/C++程序設(shè)計(jì)課程的理論和實(shí)踐教學(xué)中的各個(gè)環(huán)節(jié)進(jìn)行改革,弱化對(duì)程序設(shè)計(jì)語(yǔ)言的講解,強(qiáng)化程序設(shè)計(jì)方法、問(wèn)題求解過(guò)程和方法的講解與實(shí)踐。

關(guān)鍵詞:計(jì)算思維;程序設(shè)計(jì);課程改革

計(jì)算思維是指運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念進(jìn)行問(wèn)題求解、系統(tǒng)設(shè)計(jì)以及人類行為理解等涵蓋計(jì)算機(jī)科學(xué)之廣度的系列思維活動(dòng)。在信息社會(huì)中,計(jì)算思維是人類進(jìn)行問(wèn)題求解的有效工具,是每個(gè)人都應(yīng)該掌握并學(xué)會(huì)使用的。近年來(lái),由于計(jì)算機(jī)教育在中學(xué)階段的普及,高校新生的計(jì)算機(jī)操作水平和計(jì)算機(jī)應(yīng)用能力普遍提高,“大學(xué)計(jì)算機(jī)基礎(chǔ)”課程教育的核心由原先的以計(jì)算機(jī)應(yīng)用能力培養(yǎng)為核心轉(zhuǎn)變?yōu)橐杂?jì)算思維的培養(yǎng)為核心。

在大學(xué)計(jì)算機(jī)通識(shí)教育階段,我們對(duì)計(jì)算思維的培養(yǎng)應(yīng)當(dāng)有效地融入每一堂課之中,即在大學(xué)階段計(jì)算機(jī)基礎(chǔ)課程學(xué)習(xí)的過(guò)程中,逐步培養(yǎng)非計(jì)算機(jī)專業(yè)學(xué)生在計(jì)算機(jī)環(huán)境下進(jìn)行問(wèn)題求解的思路、方法,使學(xué)生能用計(jì)算機(jī)學(xué)科獨(dú)特的思想、方法來(lái)解決專業(yè)領(lǐng)域和實(shí)際生活中碰到的各種問(wèn)題,并為將來(lái)創(chuàng)新性地解決專業(yè)問(wèn)題奠定基礎(chǔ)。

“C/C++程序設(shè)計(jì)”是大學(xué)生入校第一學(xué)年所學(xué)的計(jì)算機(jī)類基礎(chǔ)課程,課程內(nèi)容能夠較好地體現(xiàn)語(yǔ)言級(jí)問(wèn)題的求解方法,因此這門(mén)課也是學(xué)生最容易理解計(jì)算機(jī)求解問(wèn)題的特點(diǎn)與方法的課程。如何在這門(mén)課程中培養(yǎng)學(xué)生的計(jì)算思維能力,是非計(jì)算機(jī)專業(yè)學(xué)生計(jì)算思維培養(yǎng)的重要內(nèi)容,目前已經(jīng)引起了眾多教育者的關(guān)注,并進(jìn)行了有意義的探索。在本次教學(xué)改革中,圍繞計(jì)算思維培養(yǎng)這個(gè)核心,我們明確了“建立計(jì)算思維的概念,掌握計(jì)算思維的方法,培養(yǎng)計(jì)算思維的能力”的教學(xué)目標(biāo),有意識(shí)地將計(jì)算思維的培養(yǎng)融入教學(xué)的各個(gè)環(huán)節(jié),使一系列的教學(xué)活動(dòng)上升到了一個(gè)新的高度。

1.建立計(jì)算思維的概念

剛剛?cè)雽W(xué)不久的新生在一年級(jí)下學(xué)期時(shí),對(duì)程序設(shè)計(jì)還是陌生的。作為初學(xué)者,他們?cè)趯W(xué)習(xí)中往往容易走人誤區(qū),將全部的注意力放在程序設(shè)計(jì)語(yǔ)言本身,而忽略了學(xué)習(xí)程序設(shè)計(jì)課程最應(yīng)該關(guān)注的,也是最能讓自己受益的事情:大腦的思考過(guò)程,即如何利用已知的信息解決問(wèn)題的過(guò)程。

針對(duì)上述情況,在開(kāi)學(xué)的第一次課上,我們并不涉及C/C++程序設(shè)計(jì)語(yǔ)言本身,而是從計(jì)算思維講起。通過(guò)介紹什么是計(jì)算思維,計(jì)算思維的主要特點(diǎn)以及培養(yǎng)計(jì)算思維的重要意義等方面,引導(dǎo)學(xué)生建立起計(jì)算思維的概念。通過(guò)百元買(mǎi)百雞、割園法求圓周率等經(jīng)典問(wèn)題的展示,引導(dǎo)學(xué)生感受和領(lǐng)悟計(jì)算機(jī)分析問(wèn)題和求解問(wèn)題的過(guò)程、思維模式和基本方法,從而讓學(xué)生在學(xué)習(xí)程序設(shè)計(jì)之初,就在主觀上明確程序設(shè)計(jì)課程的學(xué)習(xí)目標(biāo)不僅僅是學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言本身,更重要的是學(xué)習(xí)計(jì)算機(jī)分析和解決問(wèn)題的基本過(guò)程和思路,即學(xué)會(huì)如何把實(shí)際的問(wèn)題轉(zhuǎn)化為計(jì)算機(jī)可以解決的問(wèn)題,如何用計(jì)算機(jī)的方法求解問(wèn)題,從而在以后學(xué)習(xí)的過(guò)程中,主觀上積極主動(dòng)地注重計(jì)算思維的培養(yǎng)。

2.掌握計(jì)算思維的方法

掌握計(jì)算機(jī)求解問(wèn)題的各類方法,是培養(yǎng)學(xué)生計(jì)算思維的關(guān)鍵。以計(jì)算思維培養(yǎng)為核心的程序設(shè)計(jì)課程的重要任務(wù)之一,就是要在學(xué)習(xí)的過(guò)程中教會(huì)學(xué)生程序設(shè)計(jì)的方法和各類問(wèn)題求解的算法,讓學(xué)生更加深刻地理解計(jì)算機(jī)解決問(wèn)題的思路和方法,提升計(jì)算思維的能力。C/C++程序設(shè)計(jì)課程中涉及的程序設(shè)計(jì)方法和算法如表1所示。

1)教學(xué)上以程序設(shè)計(jì)方法為主導(dǎo),結(jié)合C/C++語(yǔ)言,把程序設(shè)計(jì)方法學(xué)中成熟的理論和方法,如結(jié)構(gòu)化程序設(shè)計(jì)方法、基于功能抽象的程序設(shè)計(jì)方法(自頂向下逐步求精的程序設(shè)計(jì)方法、自底向上程序設(shè)計(jì)方法)、遞歸程序設(shè)計(jì)、面向?qū)ο蟪绦蛟O(shè)計(jì)方法等用通俗易懂的語(yǔ)言描述出來(lái)。

2)將程序設(shè)計(jì)中常用到的算法進(jìn)行了歸類,即枚舉類、排序類、查找類、字符串處理類、字符圖形打印類、數(shù)值計(jì)算類、遞歸算法等。在教學(xué)過(guò)程的不同階段,分別引入這些算法。

3)注重通過(guò)算法的多樣性使學(xué)生深入理解到計(jì)算機(jī)求解同一問(wèn)題可用不同的方法,不同的方法適用于不同的情況。例如對(duì)數(shù)據(jù)排序的算法,我們會(huì)將選擇排序、冒泡排序、插人排序、合并排序都介紹給學(xué)生,并讓學(xué)生體會(huì)這些算法的不同之處。

3.圍繞計(jì)算思維能力培養(yǎng)的教學(xué)實(shí)踐

在程序設(shè)計(jì)課程的教學(xué)活動(dòng)中,與計(jì)算思維培養(yǎng)相符合的教學(xué)方法,如案例教學(xué)法、問(wèn)題驅(qū)動(dòng)教學(xué)法等一直在被無(wú)意識(shí)地使用。在提出了計(jì)算思維的背景下,我們對(duì)理論教學(xué)和實(shí)踐教學(xué)的各個(gè)環(huán)節(jié)進(jìn)行了改革,并在教學(xué)活動(dòng)中,主動(dòng)地、有意識(shí)地培養(yǎng)學(xué)生的計(jì)算思維能力,取得了良好的效果。

3.1理論教學(xué)

在理論教學(xué)上,我們進(jìn)行了兩個(gè)方面的改革。

1)從計(jì)算思維的角度出發(fā),按照問(wèn)題求解的一般步驟重組經(jīng)典案例。問(wèn)題求解的一般步驟為:

問(wèn)題抽象化的描述,問(wèn)題表示(如何建立模型);

尋找解決方案,問(wèn)題求解(如何設(shè)計(jì)算法);

計(jì)算機(jī)實(shí)現(xiàn)過(guò)程,效率(如何有效地求解);

現(xiàn)實(shí)問(wèn)題的延伸。

將問(wèn)題求解提升到計(jì)算思維的高度,使學(xué)生在求解問(wèn)題的過(guò)程中,更加深刻地理解計(jì)算思維的本質(zhì),即抽象化和自動(dòng)化。

2)將程序設(shè)計(jì)的語(yǔ)言與問(wèn)題求解的過(guò)程分開(kāi)。在講解案例時(shí),我們先提出具體問(wèn)題,后引導(dǎo)學(xué)生去體會(huì)為了解決問(wèn)題而產(chǎn)生的大腦思考過(guò)程:已知哪些信息,這些信息怎樣轉(zhuǎn)化為計(jì)算機(jī)可以理解的形式,要求的結(jié)果是什么,怎樣通過(guò)已知的信息來(lái)求解,并將求解問(wèn)題的方法,即算法作為教學(xué)的重點(diǎn),讓學(xué)生通過(guò)算法來(lái)理解計(jì)算機(jī)求解問(wèn)題的思路。算法的描述可以用自然語(yǔ)言、偽代碼或者流程圖等。學(xué)生理解了算法的基本思想后,再引入程序設(shè)計(jì)語(yǔ)言來(lái)實(shí)現(xiàn)這一算法,編寫(xiě)代碼并調(diào)試執(zhí)行。這一方法加強(qiáng)和促進(jìn)了算法的構(gòu)建,訓(xùn)練了學(xué)生的程序設(shè)計(jì)水平,從而簡(jiǎn)化了對(duì)程序語(yǔ)言的復(fù)雜性的理解。

3.2實(shí)踐教學(xué)

實(shí)踐教學(xué)以學(xué)生自我學(xué)習(xí)為主,教師提供輔導(dǎo)和答疑。在實(shí)踐教學(xué)內(nèi)容的設(shè)計(jì)上,我們將每一章的教學(xué)內(nèi)容分為程序調(diào)試、模仿寫(xiě)程序和問(wèn)題求解3個(gè)層次,逐步提升學(xué)生的問(wèn)題求解能力。

1)程序調(diào)試的案例中,根據(jù)以往的教學(xué)經(jīng)驗(yàn),將學(xué)生容易忽略的細(xì)節(jié)和易犯的錯(cuò)誤預(yù)設(shè)在程序中。通過(guò)對(duì)預(yù)設(shè)的語(yǔ)法和邏輯錯(cuò)誤的查找與修正,使學(xué)生更為深刻地理解程序設(shè)計(jì)語(yǔ)言的特點(diǎn),夯實(shí)學(xué)生的語(yǔ)言基礎(chǔ)。由于理論教學(xué)中,對(duì)語(yǔ)言細(xì)節(jié)的講解不再作為重點(diǎn),程序調(diào)試變得尤為重要。

2)模仿寫(xiě)程序要求學(xué)生對(duì)老師已經(jīng)講解過(guò)的算法,能用相同的思想解決類似的問(wèn)題,從而加深學(xué)生對(duì)知識(shí)的理解。例如講解了用枚舉法解決百元買(mǎi)百雞的問(wèn)題后,要求學(xué)生用枚舉法解決學(xué)生課表排課、水仙花數(shù)求解等問(wèn)題。實(shí)踐課上,要求學(xué)生在上機(jī)之前先將算法以流程圖的形式寫(xiě)在本子上,然后將算法轉(zhuǎn)變成程序代碼,上機(jī)時(shí)只做代碼的調(diào)試。這一方法能迫使學(xué)生思考,逐步理解計(jì)算機(jī)求解問(wèn)題的方法和思路。

3)問(wèn)題求解則要求學(xué)生能靈活運(yùn)用所學(xué)知識(shí),求解新的問(wèn)題。例如在學(xué)習(xí)完數(shù)組和函數(shù)后,問(wèn)題求解的題目為“編程求解農(nóng)夫過(guò)河問(wèn)題的解決方案”,要求學(xué)生按照問(wèn)題求解的一般步驟,即問(wèn)題的表示、求解的算法、代碼編寫(xiě)與調(diào)試來(lái)操作。通過(guò)問(wèn)題求解,不僅提高了學(xué)生的學(xué)習(xí)興趣,鞏固了所學(xué)知識(shí),更重要的是提升了學(xué)生的分析問(wèn)題和解決問(wèn)題的能力。

3.3課程設(shè)計(jì)

為提升課程的教學(xué)質(zhì)量,我們?cè)黾恿苏n程設(shè)計(jì)環(huán)節(jié),引入了應(yīng)用程序開(kāi)發(fā),要求學(xué)生將數(shù)組、結(jié)構(gòu)、鏈表和文件操作有機(jī)地結(jié)合起來(lái),完成一個(gè)應(yīng)用型、綜合性強(qiáng)的大作業(yè)。

在課程臨近結(jié)束時(shí),學(xué)生用一個(gè)月的時(shí)間完成課程設(shè)計(jì),任課教師會(huì)給出若干題目供學(xué)生選擇,例如本學(xué)期課程設(shè)計(jì)的題目有八數(shù)碼游戲、模擬手機(jī)通訊錄管理系統(tǒng)、飛機(jī)票訂票退票系統(tǒng)、日歷打印與日期查詢系統(tǒng)等12個(gè)題目。學(xué)生也可根據(jù)自己的專業(yè)和興趣自己指定題目。例如今年同濟(jì)大學(xué)交通專業(yè)的學(xué)生自我選擇的題目為停車(chē)庫(kù)車(chē)輛管理與查詢系統(tǒng)。該題目設(shè)計(jì)的過(guò)程要求學(xué)生按照軟件開(kāi)發(fā)的步驟進(jìn)行功能設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、模塊設(shè)計(jì)、代碼編寫(xiě)、代碼測(cè)試,并完成設(shè)計(jì)報(bào)告。

在課程設(shè)計(jì)環(huán)節(jié)中,學(xué)生不僅要將一個(gè)學(xué)期所學(xué)的內(nèi)容融會(huì)貫通,編寫(xiě)一個(gè)完整的系統(tǒng),還要考慮程序的正確性、容錯(cuò)性、算法的效率、對(duì)用戶的友好性等,這樣有助于引導(dǎo)學(xué)生探究問(wèn)題求解的思路和方法,提高學(xué)生的計(jì)算機(jī)素質(zhì)。

3.4考核

我們對(duì)考核進(jìn)行了改革,在學(xué)習(xí)的不同階段實(shí)施不同形式的考核,考核內(nèi)容中增加了對(duì)問(wèn)題求解能力的考核。具體做法是保留原來(lái)的期中和期末考試,考試內(nèi)容為基本概念、程序調(diào)試和小程序的編寫(xiě),考核學(xué)生對(duì)基本知識(shí)的掌握情況。在課程設(shè)計(jì)結(jié)束時(shí),增加了綜合編程考試,要求學(xué)生在規(guī)定的時(shí)間內(nèi),編程解決給定的問(wèn)題,考核學(xué)生的問(wèn)題求解能力。學(xué)生最后的成績(jī)由3次考試成績(jī)、課程設(shè)計(jì)成績(jī)和實(shí)踐作業(yè)成績(jī)綜合評(píng)定給出,使得學(xué)生成績(jī)能更客觀地反映學(xué)生的學(xué)習(xí)過(guò)程和學(xué)習(xí)效果。

值得一提的是,盡管在教學(xué)過(guò)程中我們?nèi)趸苏Z(yǔ)言細(xì)節(jié)的講解,將講解的重點(diǎn)轉(zhuǎn)向了程序設(shè)計(jì)的方法和各類算法,但學(xué)生通過(guò)大量調(diào)試程序的練習(xí),同樣很好地掌握了語(yǔ)言本身的特點(diǎn),能夠正確地編寫(xiě)程序,在考核中取得的成績(jī)不亞于往年。而通過(guò)課程設(shè)計(jì),學(xué)生的分析問(wèn)題、解決問(wèn)題的能力也大大提高了,考核結(jié)果令人滿意。

4.結(jié)語(yǔ)

在C/C++程序設(shè)計(jì)課程中,通過(guò)程序設(shè)計(jì)方法和算法的傳授來(lái)培養(yǎng)學(xué)生的計(jì)算思維是本次課程改革的重點(diǎn)。實(shí)踐證明,我們主動(dòng)地、有意識(shí)地將計(jì)算思維培養(yǎng)融入到理論教學(xué)和實(shí)踐教學(xué)的各個(gè)環(huán)節(jié),不僅有利于學(xué)生理解計(jì)算機(jī)的實(shí)現(xiàn)機(jī)制和約束,更有利于學(xué)生用計(jì)算機(jī)學(xué)科的獨(dú)特思維方式來(lái)求解問(wèn)題,對(duì)提高學(xué)生的信息素養(yǎng)和創(chuàng)造性地解決問(wèn)題的能力都有積極的作用。

(見(jiàn)習(xí)編輯:劉麗麗)

利津县| 安义县| 苗栗县| 长垣县| 花垣县| 四平市| 同仁县| 临泉县| 皋兰县| 县级市| 嘉黎县| 大连市| 大田县| 江北区| 南木林县| 松溪县| 绥阳县| 乌拉特中旗| 赤水市| 雷波县| 双峰县| 施甸县| 博兴县| 平原县| 孟村| 新兴县| 梧州市| 兴国县| 抚远县| 沧源| 潍坊市| 张掖市| 湘乡市| 峨山| 高密市| 贺州市| 陇西县| 陈巴尔虎旗| 禹城市| 万宁市| 县级市|