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