摘要:在現(xiàn)代科學(xué)技迅猛術(shù)發(fā)展的今天,計(jì)算思維成了很多人都必須掌握的一種思維能力。如何在民辦高校非計(jì)算機(jī)專業(yè)中更好地培養(yǎng)學(xué)生的計(jì)算思維呢?以上海杉達(dá)學(xué)院為例,構(gòu)建一門(mén)《計(jì)算思維與程序設(shè)計(jì)基礎(chǔ)》課程,以培養(yǎng)計(jì)算思維為主線,以問(wèn)題解決為切入點(diǎn),引入流程圖的繪制,并通過(guò)可視化編程環(huán)境去實(shí)現(xiàn),最后使用Python語(yǔ)言編寫(xiě)成程序。
關(guān)鍵詞:非計(jì)算機(jī)專業(yè);計(jì)算思維;Python語(yǔ)言
中圖分類號(hào):G642? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)04-0163-03
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):<E:\2022知網(wǎng)文件\4-5\4\8xs202104\Image\image1_7.png>
1 引言
計(jì)算思維的定義最早是由美國(guó)卡內(nèi)基?梅隆大學(xué)計(jì)算機(jī)科學(xué)系主任周以真教授提出。周教授認(rèn)為,計(jì)算思維是運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念進(jìn)行問(wèn)題求解、系統(tǒng)設(shè)計(jì),以及人類行為理解的涵蓋計(jì)算機(jī)科學(xué)之廣度的一系列思維活動(dòng)。計(jì)算思維的本質(zhì)是抽象和自動(dòng)化。計(jì)算思維是很多人都必須具備的一種思維能力,如同“讀、寫(xiě)、算”能力一樣。
如今隨著現(xiàn)代科學(xué)技術(shù)及網(wǎng)絡(luò)的不斷發(fā)展,特別是大數(shù)據(jù)、物聯(lián)網(wǎng)、云計(jì)算、人工智能以及新一代移動(dòng)通信網(wǎng)絡(luò)等技術(shù)的快速涌現(xiàn),人們的生活方式、認(rèn)知結(jié)構(gòu)和思維特征也在不斷發(fā)生轉(zhuǎn)變,計(jì)算思維的力量也被無(wú)限放大。計(jì)算思維成了在現(xiàn)代社會(huì)中發(fā)揮職能所必須掌握的一種根本技能。
學(xué)習(xí)計(jì)算思維,不僅有助于人們將生活中遇到的各類復(fù)雜問(wèn)題分解成更小、更易理解的小部分,培養(yǎng)學(xué)生邏輯思維能力,提升組織能力,而且可以使學(xué)生具備利用計(jì)算機(jī)思維積極解決自身專業(yè)領(lǐng)域問(wèn)題的能力,改變傳統(tǒng)的思維方式和工作方式,更利于學(xué)生掌握現(xiàn)代信息社會(huì)的處理方式。
計(jì)算思維作為人類求解問(wèn)題的有效工具,無(wú)時(shí)不在,無(wú)處不在。那么在大學(xué)計(jì)算機(jī)基礎(chǔ)教學(xué)中如何更好地培養(yǎng)學(xué)生的計(jì)算思維呢? 下面以民辦高校非計(jì)算機(jī)專業(yè)的計(jì)算思維培養(yǎng)展開(kāi)研究。
2 研究現(xiàn)狀
龔沛曾、楊志強(qiáng)在《大學(xué)計(jì)算機(jī)基礎(chǔ)教學(xué)中的計(jì)算思維培養(yǎng)》一文中提出大學(xué)計(jì)算機(jī)基礎(chǔ)教學(xué)開(kāi)展計(jì)算思維教學(xué),并不是顛覆原有的課程內(nèi)容,而是在原有課程內(nèi)容的基礎(chǔ)上進(jìn)行提高和優(yōu)化。將原有課程本身無(wú)意識(shí)的計(jì)算思維教學(xué)轉(zhuǎn)變?yōu)橹鲃?dòng)的、積極的、有意識(shí)的計(jì)算思維教學(xué)。
何欽銘、陸漢權(quán)、馮博琴在《計(jì)算機(jī)基礎(chǔ)教學(xué)的核心任務(wù)是計(jì)算思維能力的培養(yǎng)——《九校聯(lián)盟 (C9) 計(jì)算機(jī)基礎(chǔ)教學(xué)發(fā)展戰(zhàn)略聯(lián)合聲明》解讀》一文中提出C9旗幟鮮明地把“計(jì)算思維能力的培養(yǎng)”作為計(jì)算機(jī)基礎(chǔ)教學(xué)的核心任務(wù),并不意味著需要將現(xiàn)有的計(jì)算機(jī)基礎(chǔ)教學(xué)課程體系和教學(xué)內(nèi)容“推倒重來(lái)”,而需要以現(xiàn)有的計(jì)算機(jī)基礎(chǔ)教學(xué)培養(yǎng)目標(biāo)和內(nèi)容為基礎(chǔ),從計(jì)算思維能力培養(yǎng)的要求角度,重新組織和梳理教學(xué)內(nèi)容乃至課程體系,突出體現(xiàn)思維能力的培養(yǎng)。同時(shí),計(jì)算機(jī)基礎(chǔ)教學(xué)應(yīng)該面向各專業(yè)計(jì)算機(jī)應(yīng)用需求,培養(yǎng)學(xué)生基本的計(jì)算思維能力。
丁海燕在《計(jì)算機(jī)程序設(shè)計(jì)課程中計(jì)算思維的培養(yǎng)》一文中提出程序設(shè)計(jì)課程通常采用C語(yǔ)言作為編程語(yǔ)言,強(qiáng)調(diào)將計(jì)算思維融入程序設(shè)計(jì)課程教學(xué)內(nèi)容,培養(yǎng)學(xué)生的思維能力。
嵩天、黃天羽、禮欣在《Python語(yǔ)言:程序設(shè)計(jì)課程教學(xué)改革的理想選擇》一文中指出計(jì)算思維是基于計(jì)算機(jī)技術(shù)的科學(xué)思維,Python語(yǔ)言是最接近自然語(yǔ)言的通用編程語(yǔ)言,面向非計(jì)算機(jī)專業(yè)本科生開(kāi)展Python語(yǔ)言教學(xué)是程序設(shè)計(jì)課程發(fā)展的重要?dú)v史契機(jī)。
筆者作為民辦高校的一名計(jì)算機(jī)基礎(chǔ)教學(xué)老師,認(rèn)為對(duì)非計(jì)算機(jī)專業(yè)開(kāi)展程序設(shè)計(jì)課程,培養(yǎng)計(jì)算思維,可以將RAPTOR可視化編程環(huán)境和Python語(yǔ)言結(jié)合作為培養(yǎng)計(jì)算思維能力的語(yǔ)言。
RAPTOR是基于流程圖的可視化程序設(shè)計(jì)環(huán)境,在流程圖的實(shí)現(xiàn)過(guò)程中,引入與程序、算法表達(dá)有關(guān)的基礎(chǔ)概念,使學(xué)生形成分析問(wèn)題的計(jì)算思維。RAPTOR能夠?yàn)槌绦蚝退惴ㄔO(shè)計(jì)的基礎(chǔ)課程教學(xué)提供實(shí)驗(yàn)環(huán)境。RAPTOR允許用戶用連接基本流程圖符號(hào)來(lái)創(chuàng)建算法,并可以直接調(diào)試和運(yùn)行算法,產(chǎn)生結(jié)果。
Python是一種面向?qū)ο?、解釋型的?jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。其代碼簡(jiǎn)潔易懂,又具有豐富和強(qiáng)大的類庫(kù),作為編程入門(mén)的語(yǔ)言是最好不過(guò)了。
3 基本思路
程序設(shè)計(jì)課程是計(jì)算機(jī)學(xué)科體系結(jié)構(gòu)中的核心課程,不僅是計(jì)算機(jī)專業(yè)的基礎(chǔ)必修課程,也是諸多院校中非計(jì)算機(jī)專業(yè)的公共基礎(chǔ)課程。程序設(shè)計(jì)課程的主要目標(biāo)是使學(xué)生掌握使用程序設(shè)計(jì)語(yǔ)言實(shí)現(xiàn)算法的方法和技能,培養(yǎng)它們的邏輯思維能力,形成計(jì)算思維。在將來(lái)或者任何時(shí)候可以用這種計(jì)算思維能力去解決身邊的一些問(wèn)題。
大學(xué)第一門(mén)計(jì)算機(jī)基礎(chǔ)課程是計(jì)算思維培養(yǎng)的一個(gè)關(guān)鍵。基于此,對(duì)于新生入校第一門(mén)課程,我們初步構(gòu)建了以計(jì)算思維和程序設(shè)計(jì)相結(jié)合的課程內(nèi)容,并命名為“計(jì)算思維與程序設(shè)計(jì)基礎(chǔ)”。
本課程僅針對(duì)上海杉達(dá)學(xué)院的非計(jì)算機(jī)專業(yè)部分學(xué)生開(kāi)展。上海杉達(dá)學(xué)院是一所民辦的“應(yīng)用型”本科院校,學(xué)生以文科居多,理工科基礎(chǔ)較薄弱,多數(shù)學(xué)生對(duì)計(jì)算機(jī)僅具有基礎(chǔ)應(yīng)用的能力。因此,課程建設(shè)的宗旨是面向編程“零基礎(chǔ)”的學(xué)生,旨在引導(dǎo)學(xué)生具有計(jì)算思維能力。課程的設(shè)計(jì)主要分為三部分:計(jì)算思維與算法設(shè)計(jì)、可視化編程方法和程序設(shè)計(jì)基礎(chǔ)。
首先,在計(jì)算思維與算法設(shè)計(jì)部分,講解計(jì)算機(jī)中問(wèn)題求解的方法,闡明計(jì)算機(jī)解決問(wèn)題的過(guò)程一般經(jīng)過(guò)以下幾個(gè)步驟:分析問(wèn)題à設(shè)計(jì)算法à編寫(xiě)程序à調(diào)試運(yùn)行,即要把分析問(wèn)題得到的步驟和方法描述為算法,然后再通過(guò)計(jì)算機(jī)語(yǔ)言編寫(xiě)成計(jì)算機(jī)可以執(zhí)行的程序,再進(jìn)行程序的不斷調(diào)試與運(yùn)行,從而得到問(wèn)題的求解。因此,設(shè)計(jì)算法是很重要的步驟,它體現(xiàn)的是計(jì)算思維的理念。通過(guò)引入四種經(jīng)典算法,枚舉法、遞推法、分治法和遞歸法,培養(yǎng)學(xué)生具有初步的分析和解決問(wèn)題的思維,并學(xué)會(huì)繪制程序流程圖來(lái)表達(dá)算法。
然后,在可視化編程方法部分,使用可視化流程圖環(huán)境RAPTOR實(shí)現(xiàn)上述算法的調(diào)試與運(yùn)行,讓學(xué)生有興趣,又覺(jué)得不難,還可以使學(xué)生更深層次的了解結(jié)構(gòu)化程序設(shè)計(jì)的基本結(jié)構(gòu),初步形成計(jì)算思維。
最后,在程序設(shè)計(jì)基礎(chǔ)部分,使用程序設(shè)計(jì)語(yǔ)言Python去編寫(xiě)程序,編寫(xiě)的時(shí)候可以參照RAPTOR的流程圖進(jìn)行思維,這樣會(huì)降低編寫(xiě)程序的難度。通過(guò)編寫(xiě)程序,學(xué)生抽象的思維得以實(shí)現(xiàn)。同時(shí),引入有趣味、循序漸進(jìn)的案例,讓學(xué)生體驗(yàn)編程,激發(fā)學(xué)生對(duì)計(jì)算機(jī)領(lǐng)域科學(xué)探索的興趣,使學(xué)生初步具備編程能力,達(dá)到“人人懂編程”的目的。
綜合上所述,課程建設(shè)的基本思路是以培養(yǎng)計(jì)算思維為主線,以問(wèn)題解決為切入點(diǎn),引入流程圖的繪制,并通過(guò)可視化編程環(huán)境去實(shí)現(xiàn),最后使用Python語(yǔ)言編寫(xiě)成程序。
下面以自助購(gòu)買(mǎi)門(mén)票為例說(shuō)明。假設(shè)某水族館門(mén)票規(guī)定:成人(18歲以上)或身高超過(guò)1.5米的兒童需購(gòu)買(mǎi)全票;身高在1.2米和1.5米之間的兒童需購(gòu)買(mǎi)半票;身高低于1.2米的兒童免票。對(duì)于這樣一個(gè)問(wèn)題,首先在計(jì)算思維的講解部分,分析能夠解決該問(wèn)題的算法,并繪制出相應(yīng)的流程圖,如圖1所示;接著通過(guò)可視化編程環(huán)境RAPTOR去實(shí)現(xiàn)流程圖,并運(yùn)行和調(diào)試產(chǎn)生問(wèn)題的解,如圖2所示;最后通過(guò)程序設(shè)計(jì)語(yǔ)言Python編寫(xiě)出相應(yīng)的代碼,并運(yùn)行和調(diào)試,如圖3所示。
4 計(jì)算思維與程序設(shè)計(jì)基礎(chǔ)課程建設(shè)
《計(jì)算思維與程序設(shè)計(jì)基礎(chǔ)》課程是面向非計(jì)算機(jī)專業(yè)的大一學(xué)生,在第一學(xué)期開(kāi)展。在學(xué)校分層教學(xué)的引領(lǐng),計(jì)算機(jī)應(yīng)用能力較強(qiáng),Office軟件使用較熟練,且對(duì)計(jì)算機(jī)編程有濃厚興趣的學(xué)生可以通過(guò)選修報(bào)名的方式參加該課程,學(xué)習(xí)計(jì)算思維和編程的技能。后續(xù)對(duì)程序設(shè)計(jì)的高級(jí)應(yīng)用有需要的專業(yè)學(xué)生,將在本校課程體系的第二、第三層次開(kāi)展《Python高級(jí)編程》。
4.1課程定位
本課程旨在學(xué)習(xí)和培養(yǎng)計(jì)算思維能力,使學(xué)生形成利用計(jì)算思維積極解決自身專業(yè)領(lǐng)域問(wèn)題的能力。同時(shí),通過(guò)程序設(shè)計(jì)基礎(chǔ)的學(xué)習(xí),學(xué)生可以將抽象的計(jì)算思維與實(shí)踐相結(jié)合,培養(yǎng)計(jì)算思維能力,增強(qiáng)動(dòng)手能力。
4.2課程教學(xué)內(nèi)容組織
本課程的教學(xué)內(nèi)容從以下四個(gè)方面展開(kāi):
1) 信息技術(shù)概述:信息與信息技術(shù)的概念;信息技術(shù)的三個(gè)發(fā)展階段,即古代信息技術(shù)、近代信息技術(shù)和現(xiàn)代信息技術(shù);新一代信息技術(shù)的發(fā)展,如大數(shù)據(jù)、物聯(lián)網(wǎng)、云計(jì)算、人工智能、數(shù)字媒體和移動(dòng)通信網(wǎng)絡(luò)等;計(jì)算機(jī)中信息的表示與存儲(chǔ);在信息技術(shù)飛速發(fā)展的同時(shí)還要注意信息安全問(wèn)題,可以依靠信息安全技術(shù)從一定程度上來(lái)保護(hù)個(gè)人的信息安全。
2) 計(jì)算思維與算法設(shè)計(jì):什么是計(jì)算思維,主要研究?jī)?nèi)容和特征是什么,對(duì)其他學(xué)科的影響;計(jì)算機(jī)的三大核心思維,即“0和1”的思維、“程序”的思維和“遞歸”思維;算法的概念與特征,算法的表示,程序流程圖各部分表示的功能;結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)(順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)),用流程圖如何表示?能夠讀懂和繪制流程圖;四種經(jīng)典算法的設(shè)計(jì)分析(枚舉法、遞推法、分治法和遞歸法)。
3) 可視化編程方法:可視化編程環(huán)境RAPTOR的功能介紹和6種符號(hào)(賦值、調(diào) 用、輸入、輸出、選擇和循環(huán))的使用;RAPTOR中的各種運(yùn)算符與表達(dá)式、常量與變量、數(shù)組(一維數(shù)組和二維數(shù)組)的運(yùn)用、函數(shù)和函數(shù)調(diào)用、子圖與子程序的運(yùn)用。使用可視化編程環(huán)境RAPTOR求解問(wèn)題時(shí),只需要連接基本流程圖符號(hào)來(lái)創(chuàng)建算法,還可以進(jìn)行直接調(diào)試和運(yùn)行,得到問(wèn)題的解。
4) 程序設(shè)計(jì)基礎(chǔ):Python語(yǔ)言的下載與安裝;Python程序的運(yùn)行;Python程序的基本語(yǔ)句(輸入函數(shù)、輸出語(yǔ)句、賦值語(yǔ)句、變量以及運(yùn)算符與表達(dá)式等);Python程序的基本數(shù)據(jù)類型(整數(shù)、浮點(diǎn)數(shù)、復(fù)數(shù)和字符串)、和組合數(shù)據(jù)類型(列表、元組、字典和集合);程序的三種基本結(jié)構(gòu)(順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu));函數(shù)的運(yùn)用;文件操作等。
4.3教學(xué)方法
課程建設(shè)采用“線上+線下”的教學(xué)模式。線上平臺(tái)為智慧樹(shù)平臺(tái),建立課程并上傳課程的教學(xué)視頻和資源。學(xué)生可以通過(guò)手機(jī)App進(jìn)行學(xué)習(xí)。在教學(xué)中應(yīng)用翻轉(zhuǎn)課堂、混合式教學(xué)等多種教學(xué)方法手段,相互結(jié)合,以達(dá)到較好的教學(xué)效果。
4.4課程考核
課程的考核通過(guò)過(guò)程性評(píng)價(jià)和形成性評(píng)價(jià)兩方面進(jìn)行。過(guò)程性評(píng)價(jià)主要側(cè)重于學(xué)生的平時(shí)作業(yè)和階段性測(cè)驗(yàn);占總評(píng)成績(jī)的40%;形成性評(píng)價(jià)主要是課程整體結(jié)束后的考試,占總評(píng)成績(jī)的60%。
5 結(jié)論
本課程建設(shè)共進(jìn)行了兩輪實(shí)踐,都是在分層教學(xué)的前提下進(jìn)行開(kāi)展的,只針對(duì)非計(jì)算機(jī)專業(yè)的小部分學(xué)生開(kāi)設(shè)。在課程的訪談中發(fā)現(xiàn),有部分學(xué)生認(rèn)為課程還是有一定難度的;而也有部分學(xué)生表示學(xué)習(xí)起來(lái)非常有興趣,希望可以開(kāi)展后續(xù)的Python高級(jí)編程。這次教學(xué)改革的嘗試有一定收獲,但就如何更好地培養(yǎng)學(xué)生的計(jì)算思維,取得更好的成績(jī),還要在不斷的教學(xué)實(shí)踐中進(jìn)行總結(jié)和反思,有待后續(xù)深入研究。
在當(dāng)今計(jì)算機(jī)技術(shù)高速發(fā)展的背景之下,不論任何專業(yè)的學(xué)生,都應(yīng)具有計(jì)算思維。未來(lái)的人才是以計(jì)算思維為核心,與各個(gè)領(lǐng)域的專業(yè)相結(jié)合的復(fù)合型人才。因此,計(jì)算機(jī)基礎(chǔ)課程要重視和加強(qiáng)學(xué)生計(jì)算思維能力的培養(yǎng)。
參考文獻(xiàn):
[1] 陳國(guó)良,董榮勝.計(jì)算思維與大學(xué)計(jì)算機(jī)基礎(chǔ)教育[J].中國(guó)大學(xué)教學(xué),2011(1):7-11,32.
[2] 龔沛曾,楊志強(qiáng).大學(xué)計(jì)算機(jī)基礎(chǔ)教學(xué)中的計(jì)算思維培養(yǎng)[J].中國(guó)大學(xué)教學(xué),2012(5):51-54.
[3] 何欽銘,陸漢權(quán),馮博琴.計(jì)算機(jī)基礎(chǔ)教學(xué)的核心任務(wù)是計(jì)算思維能力的培養(yǎng)——《九校聯(lián)盟(C9)計(jì)算機(jī)基礎(chǔ)教學(xué)發(fā)展戰(zhàn)略聯(lián)合聲明》解讀[J].中國(guó)大學(xué)教學(xué),2010(9):5-9.
[4] 丁海燕.計(jì)算機(jī)程序設(shè)計(jì)課程中計(jì)算思維的培養(yǎng)[J].實(shí)驗(yàn)技術(shù)與管理,2015,32(12):16-18,21.
[5] 嵩天,黃天羽,禮欣.Python語(yǔ)言:程序設(shè)計(jì)課程教學(xué)改革的理想選擇[J].中國(guó)大學(xué)教學(xué),2016(2):42-47.
[6] 謝濤,程向前,楊金成.RAPTOR程序設(shè)計(jì)案例教程[M].北京:清華大學(xué)出版社,2014.
[7] 程向前,周夢(mèng)遠(yuǎn).基于RAPTOR的可視化計(jì)算案例教程[M].北京:清華大學(xué)出版社,2014.
[8] 董付國(guó).Python程序設(shè)計(jì)[M].2版.北京:清華大學(xué)出版社,2016.
收稿日期:2021-06-10
基金項(xiàng)目:本文系上海市教委2019年上海市高校大學(xué)計(jì)算機(jī)教學(xué)改革項(xiàng)目“計(jì)算思維與程序設(shè)計(jì)基礎(chǔ)”課程建設(shè)的研究成果
作者簡(jiǎn)介:張文曉(1984—),女,浙江省嘉善縣人,講師,碩士,主要研究方向?yàn)橛?jì)算機(jī)基礎(chǔ)教學(xué)。