王亞萍
摘要:針對目前高校計算機程序設(shè)計教學(xué)的現(xiàn)狀,在計算思維的視域下,以Python語言為載體,總結(jié)出以高校計算機程序教學(xué)為主陣地培養(yǎng)學(xué)生計算思維的改革要點,為高校計算機程序設(shè)計教學(xué)提供一種可供參考的實踐模式。
關(guān)鍵詞:計算思維;Python語言;高校計算機程序教學(xué)
中圖分類號:G642 文獻標識碼:A 文章編號:1009-3044(2018)02-0099-02
1 概述
2006年3月,美國卡內(nèi)基.梅隆大學(xué)計算機科學(xué)系主任周以真(Jeannette M.Wing)教授在美國計算機全文期刊《Communications of the ACM》雜志上給出并定義的計算思維(Computational Thinking)。隨著信息技術(shù)的迅猛發(fā)展,社會各行各業(yè)都離不開計算機,面對時代的發(fā)展和變遷,計算思維是人們適應(yīng)社會所必需的一項基本技能。高校作為人才培養(yǎng)的主陣地,須將培養(yǎng)學(xué)生的計算思維作為高校計算機基礎(chǔ)教學(xué)的教學(xué)目標。計算思維幫助學(xué)生模擬計算機的思維來思考解決現(xiàn)實問題的思想和方法,提升學(xué)生分析和解決問題的能力。2016年,教育部高等學(xué)校大學(xué)計算機課程教學(xué)指導(dǎo)委員會發(fā)布了《大學(xué)計算機基礎(chǔ)課程教學(xué)基本要求》(以下簡稱《基本要求》)?!痘疽蟆肪C合信息技術(shù)發(fā)展及國內(nèi)高校開展教學(xué)情況,建議將C、VB和Python作為首門程序設(shè)計課程的教學(xué)語言。實踐表明:隨著高中信息技術(shù)課程的不斷推進和完善,以C語言和VB語言為主的高校程序設(shè)計類課程多年來未曾改變,不能適應(yīng)社會需求。現(xiàn)在很多高校已認識這一現(xiàn)狀,并開設(shè)Python程序設(shè)計、JAVA程序設(shè)計語言等課程,師生反映良好。本文以Python程序設(shè)計語言作為載體,探討如何對高校計算機基礎(chǔ)教學(xué)進行改革,在課程中引入對計算思維的培養(yǎng)。
2 目前高校程序設(shè)計類課程教學(xué)中存在的問題
高校程序設(shè)計類課程是培養(yǎng)學(xué)生計算思維的核心課程。程序設(shè)計類課程是高校計算機基礎(chǔ)教學(xué)中的一門必修課程,其教學(xué)目標是培養(yǎng)學(xué)生的編程思維和編程能力,為后續(xù)專業(yè)學(xué)習(xí)奠定基礎(chǔ)。
C語言是一種計算機程序設(shè)計語言。它既具有高級語言的特點,又具有匯編語言的特點。它應(yīng)用范圍廣泛,具有很強的數(shù)據(jù)處理能力。C語言語法簡潔,數(shù)據(jù)結(jié)構(gòu)類型和運算符豐富。但C語言從本質(zhì)上講是面向過程的語言,語法晦澀難懂,學(xué)生的主要精力都花費在了對前期語法的理解和運用,而忽視了面向過程的問題處理,教師無法顧及到學(xué)生計算思維的培養(yǎng)。利用C語言進行程序開發(fā)時工作量較大,具有一定的難度,很多基本的功能都需要用戶自己設(shè)計。因此對于非計算機專業(yè)的學(xué)生而言選擇C語言進行學(xué)習(xí)并非明智之取。
VB是Visual Basic的簡寫,是一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動范式的結(jié)構(gòu)化高級程序設(shè)計語言,難度較低。目前國內(nèi)很多高校依舊選擇VB6.0的程序開發(fā)環(huán)境,但VB6.0僅適用于Windows系統(tǒng),不具備跨平臺的功能。另外VB6.0版本已很長時間沒更新,當(dāng)下產(chǎn)生和盛行的一些新的編程思想也無法體現(xiàn)。同時目前的主流移動計算平臺大多不支持VB語言作為開發(fā)語言。因此,在移動技術(shù)快速發(fā)展的大背景下,VB語言已無法適應(yīng)社會發(fā)展的現(xiàn)實需求,同時也不利于學(xué)生的發(fā)展。毫無疑問選擇適應(yīng)性更強的程序設(shè)計語言對于高校計算機基礎(chǔ)教學(xué)而言是必要的。
3 Python語言的教學(xué)優(yōu)勢
Python語言是一種被廣泛使用,面向?qū)ο蟮母呒壨ㄓ媚_本編程語言,其程序語法簡潔,明晰易懂。它體現(xiàn)的哲學(xué)思想是“優(yōu)雅”“明確”“簡單”。
3.1 簡單易學(xué),程序框架簡單
Python程序設(shè)計語言與英語非常相似,語法非常簡單。學(xué)生易于理解和書寫,這在一定程度上降低了學(xué)生書寫程序代碼時的錯誤率。Python自帶的IDLE可以在多種操作系統(tǒng)平臺上運行,學(xué)生可以在自己熟悉的操作系統(tǒng)平臺中書寫程序代碼。Python程序設(shè)計語言擁有的列表、字典和元組等高級數(shù)據(jù)類型可以幫助學(xué)生解決更加復(fù)雜的問題。
3.2 功能強大
眾所周知,Python程序設(shè)計語言是免費開源的程序設(shè)計語言。為了方便學(xué)習(xí)者學(xué)習(xí),許多Python語言的熱衷者根據(jù)學(xué)習(xí)者的需求開發(fā)了很多功能齊全的Python學(xué)習(xí)拓展包和插件,這樣學(xué)習(xí)者就無需花更多的是時間去解決解決較普遍的問題,大大節(jié)省了學(xué)習(xí)者的學(xué)習(xí)時間,提高了學(xué)習(xí)者的學(xué)習(xí)效率。
3.3 可拓展性和持續(xù)更新
Python程序設(shè)計語言的底層是用C和C++語言編寫的。針對程序編寫過程中那些核心的而且計算龐雜的關(guān)鍵模塊,程序開發(fā)者可以用C和C++編寫。Python學(xué)習(xí)者如果要運用到該功能時可以直接調(diào)用程序開發(fā)者編寫的模塊就可以了,這樣就可以降低程序編寫的難度,同時提高了程序的運行速度。Python程序設(shè)計語言自出現(xiàn)之日起已進行了多次的版本更新,更新后的版本更加易于學(xué)習(xí)者學(xué)習(xí)。因此Python程序語言的具有較強的可拓展性。
雖然Python程序設(shè)計語言也有其不足之處,例如:程序運行速度不夠快、程序代碼縮進語法比較繁瑣等,但其簡單易學(xué)的平民化、草根化的特點使其他程序設(shè)計語言所替代的,因此將Python程序設(shè)計語言作為高校非計算機專業(yè)學(xué)生的程序?qū)W習(xí)語言是非常明智的選擇。
4 計算思維視域下《Python程序設(shè)計》課程教學(xué)改革實踐
隨著信息技術(shù)的飛速發(fā)展,各行各業(yè)對高校畢業(yè)生的計算思維提出了更高的要求。為了適應(yīng)社會的現(xiàn)實需求,高校都在積極進行程序類教學(xué)改革,《Python程序設(shè)計》課程作為很多高校的理想選擇,并根據(jù)本校實際進行了嘗試性的改革。筆者所在學(xué)校也進行了這方面的教學(xué)改革實踐,具體包括:教學(xué)內(nèi)容的改革、教學(xué)模式的改革和教學(xué)評價手段的改革,具體內(nèi)容如下:
4.1 整合教學(xué)內(nèi)容:兼顧編程技術(shù)和數(shù)據(jù)分析技術(shù)
為了分層次、分步驟的培養(yǎng)非計算機專業(yè)學(xué)生的計算思維和數(shù)據(jù)分析處理能力,Python程序設(shè)計課程的內(nèi)容可以劃分為基礎(chǔ)和高級兩個循序漸進的教學(xué)模塊?;A(chǔ)模塊的內(nèi)容主要包括:Python的基本介紹和基本編程環(huán)境的搭建、基本數(shù)據(jù)類型、高級數(shù)據(jù)類型(列表、元組、字典)、表達式、常用系統(tǒng)函數(shù)、程序基本流程(順序、選擇、循環(huán))、函數(shù)的定義和調(diào)用、面向?qū)ο蟮木幊?。高級模塊主要包括多維結(jié)構(gòu)化數(shù)據(jù)集分析包pandas、繪制數(shù)據(jù)圖表的數(shù)據(jù)可視化庫Matplotlib等。基礎(chǔ)模塊和高級模塊的教學(xué)課時根據(jù)學(xué)生的實際情況確定。任課教師要注重基礎(chǔ)模塊和高級模塊內(nèi)容之間的有效銜接和融會貫通。例如在應(yīng)用數(shù)據(jù)挖掘算法進行分析時會講授程序異常處理。任課教師要將教學(xué)內(nèi)容問題化、案例化和項目化,以具體的問題導(dǎo)入新課,以生動鮮活的案例進行講解,以完成現(xiàn)實項目的情境引導(dǎo)學(xué)生進行知識同化、建構(gòu)和應(yīng)用。任課教師還需將教學(xué)內(nèi)容電子化、網(wǎng)絡(luò)化、立體化,將所有的紙質(zhì)教學(xué)內(nèi)容電子化,并上傳到相應(yīng)的課程學(xué)習(xí)網(wǎng)站上,學(xué)生可以隨時隨地在硬件條件循序的條件下進行課前預(yù)習(xí)、課后復(fù)習(xí)。任課教師需為學(xué)生準備包括教材、教學(xué)PPT、應(yīng)用案例、課程學(xué)習(xí)視頻及其他參考資料等立體化、多維度的教學(xué)內(nèi)容學(xué)習(xí)包,這樣學(xué)生可以根據(jù)自己的實際情況選擇適合自己的教學(xué)材料進行學(xué)習(xí),這在一定程度上促進了學(xué)生的分層學(xué)習(xí)和混合式學(xué)習(xí)。endprint
4.2 更新教學(xué)模式:基于SPOC的翻轉(zhuǎn)課堂教學(xué)模式
原先該課程的教學(xué)是采取教師先講、學(xué)生后練習(xí)的教學(xué)形式,因缺乏有效的監(jiān)督和監(jiān)管機制,學(xué)生的課前預(yù)習(xí)和課后復(fù)習(xí)兩個環(huán)節(jié)大都是形同虛設(shè),因此該課程的整體教學(xué)效果不是很好。本研究試圖將翻轉(zhuǎn)課堂和SPOC有機的整合在一起,以具體的工作任務(wù)為主線,以SPOC在線課程資源為依托,在MOOC學(xué)習(xí)平臺以及真實教室環(huán)境中展開,混合了分層教學(xué)、問題式教學(xué)、啟發(fā)式教學(xué)、情景式教學(xué)等多種教學(xué)方法。
課前導(dǎo)學(xué)環(huán)節(jié):學(xué)生進行分組,并以小組為單位,完成以下任務(wù):①通過自主學(xué)習(xí)、小組討論、協(xié)作探究等方式,通過學(xué)校教務(wù)處MOOC教學(xué)平臺觀看教學(xué)微視頻,完成教師布置的課前預(yù)任務(wù)。②小組內(nèi)部根據(jù)成員自身實際進行分工,準備課堂展示材料。教師則通過MOOC平臺的數(shù)據(jù)統(tǒng)計和分析功能,對學(xué)生在線學(xué)習(xí)的進度進行關(guān)注和監(jiān)控,并根據(jù)學(xué)生的反饋信息對教學(xué)步驟進行必要的調(diào)整。
教師可以根據(jù)學(xué)生課前預(yù)習(xí)作業(yè)完成情況掌握每個學(xué)生的實際情況,使得后續(xù)課堂教學(xué)過程中的講解和輔導(dǎo)做得更有效的有的放矢。
課堂教學(xué)環(huán)節(jié):教師首先對學(xué)生的預(yù)習(xí)作業(yè)完成情況進行總結(jié),并以學(xué)生課前普遍反映的重難點內(nèi)容或教師預(yù)先設(shè)定的重難點問題作為課堂面授教學(xué)導(dǎo)入話題,并以問題為導(dǎo)向,對內(nèi)容進行深度剖析。學(xué)生在教師的引導(dǎo)下按照課前的學(xué)生分組進行小組討論交流,對問題進行認真思考,并提出問題解決方案在交流探討中完成知識的內(nèi)化。每個小組均需到教師機上向其他同學(xué)和教師展示小組成果,其他小組成員和完成知識的對其進行評價。教師會適時監(jiān)督和輔助學(xué)生進行討論、交流和成果展示。教師評價和學(xué)生互評兩個環(huán)節(jié)可以更加有效的促進學(xué)生的學(xué)習(xí)。
課后鞏固環(huán)節(jié):學(xué)生需要完成以下三個方面的工作,一是在教師規(guī)定的時間內(nèi)完成教師不知的課后作業(yè);二是以小組為單位,對MOOC平臺上教師上傳的拓展性內(nèi)容進行學(xué)習(xí),以小組為單位在線提交學(xué)習(xí)結(jié)果,教師及時批閱,并將批閱意見及時反饋給學(xué)生;三是開展在線答疑,項目組負責(zé)人安排項目組成員進行定期的在線答疑,及時回答學(xué)生的問題,并將學(xué)生的在線互動情況納入評價指標體系。
4.3 構(gòu)建新的評價方式:基于過程的動態(tài)綜合評價
目前《Python程序設(shè)計》課程的評價方式主要采用期末的總結(jié)性評價,即采用期末考試等一次性檢驗方式,以單一的期末考試成績來衡量學(xué)生的學(xué)習(xí)結(jié)果和教師的教學(xué)質(zhì)量。這種量化的總結(jié)性評價考核的內(nèi)容的數(shù)量和難度有限,只停留在基本陳述性知識和簡單操作步驟的再現(xiàn),思維成分考核較少。本項目借鑒互動分享的思想,以動態(tài)綜合評價,對學(xué)生的學(xué)習(xí)效果、學(xué)習(xí)能力、合作能力多個指標進行綜合評估,實現(xiàn)形成性評估和總結(jié)性評估相結(jié)合。其中形成性評估涵蓋課前導(dǎo)學(xué)、課堂教學(xué)、課后應(yīng)用的每一個環(huán)節(jié)。SPOC平臺內(nèi)設(shè)的大數(shù)據(jù)學(xué)習(xí)分析技術(shù),可將過程性評價轉(zhuǎn)化為量化的分數(shù),有助于教師和學(xué)生獲得準確客觀的學(xué)習(xí)評價。該課程的評價體系可概括如下:
5 結(jié)束語
本文分析了目前高校程序設(shè)計課程的教學(xué)現(xiàn)狀、存在問題,并比較了常用的幾種教學(xué)語言,闡述了在高校程序設(shè)計基礎(chǔ)課程的改革中使用Python語言的必要性和重要性。基于計算思維培養(yǎng)的教學(xué)改革需要充分領(lǐng)悟計算思維的時代性,教學(xué)改革需與計算機技術(shù)的發(fā)展保持同步。本文從培養(yǎng)學(xué)生計算思維的必要性出發(fā),闡述了傳統(tǒng)程序類課程教學(xué)中存在的問題以及Python程序設(shè)計語言獨特的教學(xué)優(yōu)勢,并在此基礎(chǔ)上闡述了計算思維視域下《Python程序設(shè)計》課程的教學(xué)改革措施。
參考文獻:
[1] 教育部高等學(xué)校大學(xué)計算機課程教學(xué)指導(dǎo)委員會.大學(xué)計算機基礎(chǔ)課程教學(xué)基本要求[J].北京:高等教育出版社,2017.
[2] 鄭戟明.Python程序設(shè)計課程中計算思維的應(yīng)用[J].大學(xué)教育,2016(8):127-129.
[3] 劉研.Python語言在非計算機專業(yè)計算機教學(xué)改革中的探討[J].科學(xué)教育,2016(10):301-303.
[4] 嵩天,黃天羽,禮欣.Python語言程序設(shè)計課程教學(xué)改革的理想選擇[J].中國大學(xué)教學(xué),2016(2):42-46.
[5] 劉瓊,史諾.基于計算思維視角的程序設(shè)計教學(xué)改革研究[J].自動化與儀器儀表,2015(12):93-94.endprint