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

?

基于新文科的Python程序設計基礎課程的建設與研究

2021-11-28 01:28馮桂爾
電腦知識與技術 2021年30期
關鍵詞:Python語言新文科計算思維

馮桂爾

摘要:在5G、人工智能、虛擬社會等信息技術高速發(fā)展的今天,對文科專業(yè)學生進行計算思維的培養(yǎng)也顯得越來越重要。作為這些年的新起之秀Python,被普遍作為非計算機專業(yè)首選編程語言。文章以本校為文科專業(yè)開設的Python程序設計基礎課程為依據(jù),從教學大綱設置、教學方案設計和考核方面分析進行闡述,旨在探索如何更好地進行跨學科融合,提升學生學習編程語言的興趣,培養(yǎng)信息技術解決問題的能力,讓學生學有所用。

關鍵詞:Python語言;新文科;課程建設;計算思維;解決問題

中圖分類號:G642? ? ? ? 文獻標識碼:A

文章編號:1009-3044(2021)30-0199-03

開放科學(資源服務)標識碼(OSID):

Construction and Research of Basic Courses of Python Programming Based on New Liberal Arts

FENG Gui-er

(School of Journalism and Communication, Shanghai International Study University, Shanghai 200082, China)

Abstract: With the rapid development of information technology such as 5G, artificial intelligence, and virtual society, the cultivation of computational thinking for liberal arts students is also becoming more and more important. As a rising star in recent years, Python is widely regarded as the programming language of choice for non-computer majors. Based on the basic course of Python programming provided by our school for liberal arts majors, the article analyzes and elaborates on the setting of syllabus, teaching plan design and assessment, and aims to explore how to better integrate interdisciplinary, enhance students' interest in learning programming languages, and cultivate the ability of information technology to solve problems.

Keywords:Python; new liberal arts; curricula construction; computational thinking; solve the problem

1引言

2019年4月29日,“六卓越一拔尖”計劃2.0啟動,要求大力發(fā)展新工科、新醫(yī)科、新農(nóng)科、新文科,建設高水平本科教育。其中新文科被認為是發(fā)展社會主義先進文化的重要載體。新文科運用的是跨界思維,使用“文文互鑒”“文理交叉”“文工融合”的思維方法解決問題[1]。所以新文化的推動不能閉門自造孤立化,需要與其他學科交叉容融合才會有突破。浙江大學人文學院教授徐永明表示,要重視跨學科人才的培養(yǎng),文科生要學習編程(如Python)、新媒體技術等課程,這些應該作為文科生的必備技能和素養(yǎng)。美國超過100所知名大學,例如斯坦福大學、卡耐基梅隆大學、普林斯頓大學等都將Python作為面向非計算機專業(yè)學生的教學語言。目前國內(nèi)外普遍認為Python是一種比較適合非計算機專業(yè)學生培養(yǎng)計算思維入門學習的編程語言。

Python語法簡潔而清晰,具有豐富類庫和強大的數(shù)據(jù)處理能力。除了標準庫之外,Python官網(wǎng)列出了超過12萬個第三方庫的基本信息,這些庫覆蓋信息領域技術所有技術方向。近年來逐漸受到高校非計算機專業(yè)的認可。在這種背景下,越來越多文科專業(yè)在培養(yǎng)方案中開始增設Python程序設計課程。經(jīng)過全面調(diào)研,上海外國語大學在2020-2021學年第二學期也對所有文科類專業(yè)開設了Python程序設計基礎這門課。以期在建設實施過程中,不斷探究出適合文科類專業(yè)學習的Python語言課程。

2 教學大綱設置

Python程序設計基礎的教學大綱設置為基礎和進階兩部分[2]?;A部分包括Python運行環(huán)境、基本語法、內(nèi)置函數(shù)、基本數(shù)據(jù)類型(數(shù)字、字符串、列表、元組、字典、集合等)、基本流程控制語句(分支結(jié)構、循環(huán)結(jié)構)等內(nèi)容,進階部分主要是對基礎部分的拓展以及實際案例應用,包括函數(shù)設計、類的設計、文本文件讀寫、詞頻分析、matplotlib圖形繪制、網(wǎng)絡爬蟲應用等內(nèi)容。

針對文科類專業(yè)學生,學習程序設計的目的并不是去做開發(fā)、跟計算機專業(yè)學生比拼編程能力,而是運用計算機科學的基礎概念進行問題求解、系統(tǒng)設計以及人類行為理解等一系列思維活動[3]。所以在實施上述教學大綱的過程中,除了理論授課之外,還會配備大量實踐應用性強的案例,且案例會多注重思維分析、問題求解和強化學生訓練。

整個課程的總教學時長為64課時,每周一次,每次總課時為4課時,包括理論和實驗,如表1所示。理論和實驗的課時配比根據(jù)具體上課內(nèi)容和學生學習效果分配。

3課堂教學方案設計

為了增強學生的學習興趣、更好的理解教學內(nèi)容,就需要引入接地氣的教學案例。在社會科學研究中,常常需要通過文章中高頻出現(xiàn)的詞匯來把握文章的語義與思想。下面以“2021年3月5日李克強總理代表國務院在十三屆全國人大四次會議上作《政府工作報告》”內(nèi)容為素材,介紹如何利用Python對當下熱門新聞內(nèi)容進行詞頻詞云的分析,來得到關鍵詞以及可視化效果。此案例也是對教學大綱基礎部分知識的綜合實踐運用。教學中采用需求引入、循序漸進方式講解知識點,教學過程總體分為3步。

1)理論知識做鋪墊,介紹jieba庫和wordcloud庫的特點和使用方法

中文文本需要通過分詞獲得單個的詞語,jieba庫是優(yōu)秀的中文分詞第三方庫。jieba庫的分詞原理:利用一個中文詞庫,確定漢字之間的關聯(lián)概率,漢字間概率大的組成詞組,形成列表的分詞結(jié)果。jieba庫分詞有3種模式:精確模式lcut(s)、全模式lcut(s, cut_all=True)和搜索引擎模式cut_for_search(s)[4]。此案例中重點搞清楚精確模式lcut(s)的使用方法。

Wordcloud也是Python的第三方庫,根據(jù)文本中詞語的出現(xiàn)頻率等參數(shù),將枯燥呆板的詞語渲染成大小、顏色不一的可視化詞云藝術效果。創(chuàng)建詞云主要通過三步驟完成:首先實例化詞云對象WordCloud(),并設定基本參數(shù)信息;接著根據(jù)jieba分詞并將處理后的詞頻生成詞云generate_from_frequencies();最后將詞云保存為圖片to_file()。

2)繪制流程圖,分析教學思路

流程圖是對解決問題的方法、思路或算法的一種描述。所以在讓學生編程前,先為案例繪制開發(fā)流程圖,有助于為學生理清案例思路。如圖1所示。

3)書寫注釋和編寫代碼

為了鼓勵學生主動思考,要求學生先根據(jù)流程圖思路在代碼行中用中文注釋功能,然后根據(jù)注釋寫代碼,從而降低長篇代碼的編寫難度。下面是完整的注釋和代碼。

# 導入第三方庫

import jieba

import wordcloud

# 讀取“3月5日李克強總理代表國務院在十三屆全國人大四次會議上作《政府工作報告》.txt文件”內(nèi)容,得到的結(jié)果為文本字符串。

with open('government_report.txt', 'r') as f1:

s = f1.read()

# 用jieba庫的lcut函數(shù)對字符串中文詞匯分割,精確返回詞匯列表,列表中的元素為切分好的中文詞匯。

lst = jieba.lcut(s)

#此時需要對列表中的各個元素即詞匯進行個數(shù)統(tǒng)計。統(tǒng)計列表中元素個數(shù)的方法有多種,可以嘗試一一編寫,分析利弊。這里用字典推導式統(tǒng)計詞匯個數(shù)。

dic = {i: lst.count(i) for i in lst}

#對字典中的鍵值對進行降序排序并打印結(jié)果,此時可以發(fā)現(xiàn),出現(xiàn)次數(shù)最多的是標點符號、代詞等,故接下來需要從字典中去除干擾詞匯。

dic_new = dict(sorted(dic.items(), key=lambda x:x[1], reverse=True))

print(dic_new)

#將干擾詞匯作為列表的元素放置在列表中存儲到一個記事本中,命名為stopword.txt。接著讀取該記事本內(nèi)容,通過遍歷,從字典中移除干擾詞匯。最后打印字典,可以看到政府工作報告的詞頻情況,得到熱門詞匯。此處代碼實現(xiàn)的方法也有很多種,仍然可以一一嘗試,作為對以前所學知識回顧和復習。

with open('stopwords.txt', 'r') as f2:

stop_wds = eval(f2.read())

for kword in list(dic_new.keys()):

if kword in stop_wds:

dic_new.pop(kword)

print(dic_new)

# 利用wordcloud庫繪制詞云,生成可視化效果。

w = wordcloud.WordCloud(background_color='white', width=300, height=250, max_font_size=60, font_path='C:/Windows/Fonts/simhei.ttf')

w.generate_from_frequencies(dic_new)

w.to_file('D:/政府工作報告.png')

4)知識拓展、深入學習

在學生理解吃透上述內(nèi)容且在充分調(diào)動學生學習興趣的前提下,對知識點進行加深拓展,并發(fā)揮學生自主學習的能力。教師提供有效的資源供學生查閱,學生根據(jù)資料自主探究如何制作個性化的詞云展示。

4課程考核情況分析

課程考核的目的是督促學生的平時學習以及客觀反映學生對Python程序這門課的掌握情況。既能考察大部分一般學生的實際水平,又能考察少數(shù)優(yōu)秀學生的水平,同時也能反映少數(shù)較差學生的學習狀況。本輪共有1241名語言類專業(yè)學生(來自英語、日語、法語、德語、翻譯、俄語、西班牙語、政治學與行政學、外交學、新聞學等專業(yè))必修Python程序設計這門課。課程考核從平時成績(過程性評價)和期末考試(終結(jié)性評價)兩方面進行。

1)平時成績

平時成績占總成績的40%,由出勤率(10%)、每次課后作業(yè)(15%)、課堂表現(xiàn)(5%)組成。以百分制計算平時成績,經(jīng)過統(tǒng)計,Python程序設計課程平時成績平均分為91.7分。相較于2020-2021學年第一學期的計算機應用基礎課程的平均分90.88分,還要高出0.82分。通過對平時成績各項的細分統(tǒng)計和對學生的問卷調(diào)查,究其原因,主要有以下兩點:

①極大部分學生從來沒有接觸過程序設計語言,對它心存“敬畏”,不敢請假甚至曠課,因為落下一次課,就意味著知識的斷層,影響后續(xù)學習。因此出勤率和課后作業(yè)提交率要高于第一學期的計算機應用基礎課程。

②課程內(nèi)容的設置更接地氣

通過理論指導實踐案例、案例加深理論理解和專業(yè)知識融合,切實提高了學生學習程序設計語言的熱情,課堂學習氛圍、學生表現(xiàn)欲跟第一學期相比,明顯高漲。很多學生在學期末尾向?qū)W校了申請了創(chuàng)新創(chuàng)業(yè)項目,運用信息技術來解決本專業(yè)領域問題。

2)期末成績

期末考試占總成績的60%,考查學生對Python程序設計這門課的整體掌握情況。期末考試試卷由20題選擇題、10題填空題、10題判斷題和3題編程題組成(編程題難度分別為易、中、高),學生在Python考試系統(tǒng)中隨機抽一套完成期末考試(每套試題難度相當)。正常的高校課程考試,一般要求基礎課平均分落在參考值70-80范圍之內(nèi),標準差在參考值5-12范圍之內(nèi)。對此次考試進行定量分析,發(fā)現(xiàn)百分制下平均分為77.45,在參考正常值范圍內(nèi);標準差為17.66,大于參考值??梢苑从吵鲈嚲砥骄诌_到要求,但是學生間的學習差異較大。造成這種情況的原因一個可能是學生間確實存在著較大的差異,還有一個可能是試卷相對偏難。但共有340名學生期末成績是在90~100之間,占比達到總?cè)藬?shù)的27.4%,726名在60~90之間,占比達到總?cè)藬?shù)的58.5%,低于60分的占比為14,1%,基本符合成績的正態(tài)分布,故試卷難度應屬于正常。

對于Python語言的學習學生間存在差異的問題,也是后續(xù)課程建設中研究的重點:如探究存在哪些差異,什么原因造成的差異,如何讓教學內(nèi)容跟專業(yè)知識更好的融合在一起、激發(fā)文科生學習Python課程的更高興趣等。另外,隨著后期對Python程序設計基礎課程建設的不斷深入和完善,過程性評價和終結(jié)性評價的考核方案還會不斷摸索改進,來更好、更全面的反映學生掌握Python語言的情況。這些問題都值得在后續(xù)Python課程開設過程中長期研究實踐,為新文科培養(yǎng)出更多優(yōu)質(zhì)復合型人才做努力。

參考文獻:

[1] 張蓋倫. 新文科來了 這是場跨界融合的探索[R].科技日報,2019.06.13.

[2] 楊軍, 張岳, 劉燕峰. 基于Python語言的數(shù)據(jù)挖掘課程的建設與研究[J].電子信息,2021(5):80-82.

[3] 童玲. 基于元認知的文科專業(yè)Python課程教學設計[J]. 計算機教育, 2020(1):148-150.

[4] 徐博龍.應用Jieba和Wordcloud庫的詞云設計與優(yōu)化[J]. 福建電腦, 2019(6):25-28.

【通聯(lián)編輯:王力】

猜你喜歡
Python語言新文科計算思維
新文科建設背景下的高校圖書館服務研究
新文科建設的理路與設計
新文科背景下公共管理學科大類人才培養(yǎng)模式的優(yōu)化
“新文科”背景下新聞傳播教育的新形勢與新進路
基于Python語言和支持向量機的字符驗證碼識別
論Python程序設計語言
基于Python語言的面向?qū)ο笳n程實踐教學探討
程序設計課程中計算思維和應用能力培養(yǎng)問題研究
基于Android的Python語言英漢維電子詞典設計與實現(xiàn)
算法的案例教學探析