亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Python教學(xué)及基于攻擊鼓勵(lì)和過程管理的教學(xué)系統(tǒng)

        2019-05-24 06:21:56董付國(guó)葛詩(shī)煜陳思佳馮澤濤
        計(jì)算機(jī)教育 2019年5期
        關(guān)鍵詞:程序設(shè)計(jì)代碼編程

        董付國(guó),葛詩(shī)煜,陳思佳,李 博,馮澤濤

        (山東工商學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山東 煙臺(tái) 264005)

        0 引 言

        Python是一門免費(fèi)、開源、跨平臺(tái)的高級(jí)動(dòng)態(tài)編程語(yǔ)言,代碼具有非常強(qiáng)的可移植性,幾乎不需要改動(dòng)即可運(yùn)行于Unix、Linux、Windows、Mac OS、Android等不同平臺(tái)。Python可以和C/C++/C#、Java等主流語(yǔ)言完美地結(jié)合到一起,充分發(fā)揮每種語(yǔ)言的優(yōu)勢(shì)。目前Python已經(jīng)滲透到統(tǒng)計(jì)分析、大數(shù)據(jù)處理、數(shù)據(jù)分析與可視化、移動(dòng)終端開發(fā)、科學(xué)計(jì)算可視化、系統(tǒng)安全、網(wǎng)絡(luò)安全、軟件分析與測(cè)試、圖形圖像處理、人工智能、游戲設(shè)計(jì)與策劃、網(wǎng)絡(luò)應(yīng)用開發(fā)、自動(dòng)運(yùn)維、輔助設(shè)計(jì)等幾乎所有行業(yè)和領(lǐng)域[1-4]。截至2018年9月,pypi.python.org網(wǎng)站已經(jīng)維護(hù)了超過107萬(wàn)個(gè)涉及不同領(lǐng)域的Python擴(kuò)展庫(kù)。

        多年前Python已經(jīng)成為卡耐基·梅隆大學(xué)、麻省理工學(xué)院等國(guó)外很多著名大學(xué)的程序設(shè)計(jì)入門教學(xué)語(yǔ)言,近幾年來(lái)北京大學(xué)、復(fù)旦大學(xué)等國(guó)內(nèi)幾百所高校也針對(duì)不同專業(yè)開設(shè)了Python程序設(shè)計(jì)相關(guān)的課程,全國(guó)計(jì)算機(jī)等級(jí)考試也于2018年9月加入了二級(jí)Python的科目[2]。對(duì)于如何講好Python、如何才能發(fā)揮Python的最大優(yōu)勢(shì),不同學(xué)校有不同的做法,都取得了一定成效。

        1 Python編程模式

        Python支持命令式編程、函數(shù)式編程,完全支持面向?qū)ο蟪绦蛟O(shè)計(jì),語(yǔ)法簡(jiǎn)潔清晰、代碼優(yōu)雅、可讀性強(qiáng),并且擁有大量功能強(qiáng)大的標(biāo)準(zhǔn)庫(kù)和擴(kuò)展庫(kù),可以幫助各領(lǐng)域的工程師、科研人員、策劃師和管理人員快速實(shí)現(xiàn)和驗(yàn)證自己的思路與創(chuàng)意。Python編程模式非常符合人類的思維習(xí)慣,程序員只需要把主要精力放在業(yè)務(wù)邏輯的設(shè)計(jì)與實(shí)現(xiàn)上,不需要過多考慮語(yǔ)言本身的細(xì)節(jié),大幅度縮短了開發(fā)周期,在開發(fā)速度和運(yùn)行速度之間達(dá)到了完美的平衡,其精妙之處令人擊節(jié)贊嘆[3-9]。

        Python官方網(wǎng)站上在非常醒目的位置有一句話“Python is a programming language that lets you work quickly and integrate systems more effectively”,在The Zen of Python中也反復(fù)提到類似的語(yǔ)句,例如“Explicit is better than implicit”“Simple is better than complex”等,這些看上去很普通的語(yǔ)句恰恰點(diǎn)明了Python語(yǔ)言的本質(zhì)和核心所在。作為Python程序員,應(yīng)盡量從最自然、最簡(jiǎn)潔的角度出發(fā)去思考和解決問題,充分利用內(nèi)置函數(shù)和標(biāo)準(zhǔn)庫(kù)對(duì)象,適當(dāng)運(yùn)用擴(kuò)展庫(kù),充分利用函數(shù)式編程,這樣才能寫出更加優(yōu)雅、更加Pythonic的代碼。

        與命令式編程相比,函數(shù)式編程的代碼更加簡(jiǎn)潔和直觀,代碼效率也比較高,在教學(xué)和開發(fā)中應(yīng)該盡量多使用函數(shù)式編程模式。

        2 基于攻擊鼓勵(lì)和過程管理的Python教學(xué)系統(tǒng)

        在講授Python程序設(shè)計(jì)課程時(shí),建議采用邊講邊練、學(xué)生分組合作的方式,精心設(shè)計(jì)一些案例帶領(lǐng)學(xué)生一起完成并做好嚴(yán)格的過程管理,經(jīng)常鼓勵(lì)和引導(dǎo)學(xué)生去思考“還有沒有更簡(jiǎn)潔更快速更直接更好的方法?”類似的問題,激發(fā)學(xué)生的潛能,同時(shí)也充分挖掘Python語(yǔ)言的潛能。

        在講授、學(xué)習(xí)和應(yīng)用Python時(shí),切記不要把其他語(yǔ)言的編程習(xí)慣和風(fēng)格帶到Python中來(lái)。不能使用其他語(yǔ)言尤其是C語(yǔ)言的思路去編寫Python程序,那會(huì)使得代碼變得非常冗長(zhǎng)、繁瑣、可讀性差且難以維護(hù),浪費(fèi)大量的寶貴時(shí)間,無(wú)法發(fā)揮Python的優(yōu)勢(shì),甚至有可能寫出看似正確實(shí)則錯(cuò)誤的代碼。

        2.1 教學(xué)方式概覽

        近年來(lái)編程類課程采用邊講邊練的形式,與傳統(tǒng)的“填鴨式教學(xué)”和“滿堂灌”方式不同,在整個(gè)教學(xué)過程中,以教師講授和輔導(dǎo)為主,學(xué)生練習(xí)為輔。使用多種形式保證和提高教學(xué)質(zhì)量,例如在線點(diǎn)名、在線提問、在線答疑、在線自測(cè)、在線交作業(yè)、在線考試,鼓勵(lì)學(xué)生主動(dòng)提問和回答問題,適當(dāng)安排學(xué)生講解部分例題,突擊布置限時(shí)完成的隨堂作業(yè),鼓勵(lì)學(xué)生發(fā)現(xiàn)教材或講課內(nèi)容中的錯(cuò)誤,鼓勵(lì)學(xué)生分析課堂教學(xué)管理系統(tǒng)源代碼并嘗試發(fā)現(xiàn)其中的漏洞。

        在教學(xué)過程中,偶爾會(huì)指定一小節(jié)內(nèi)容或者一個(gè)例題,讓學(xué)生自學(xué)5~10分鐘,這段時(shí)間內(nèi)同學(xué)之間可以互相討論或者看書看課件,也可以上網(wǎng)查閱資料,甚至可以場(chǎng)外求助,時(shí)間到了以后隨機(jī)找同學(xué)進(jìn)行講解。這樣不僅可以鍛煉學(xué)生的自學(xué)能力、思考能力,還能鍛煉學(xué)生的口頭表達(dá)能力和語(yǔ)言組織能力。

        在教學(xué)過程中,使用自編軟件隨機(jī)提問正在講授的內(nèi)容中涉及的本課程中學(xué)過的知識(shí),或者其他課程中學(xué)過但是在本課程中要用到的知識(shí),然后根據(jù)學(xué)生回答情況進(jìn)行實(shí)時(shí)計(jì)分。每次會(huì)提問誰(shuí)是毫無(wú)規(guī)律的,無(wú)法提前預(yù)測(cè),所以每個(gè)學(xué)生都要認(rèn)真準(zhǔn)備,提高了學(xué)生的整體積極性。

        在教學(xué)過程中,鼓勵(lì)學(xué)生批判地學(xué)習(xí)老師講授的內(nèi)容,引導(dǎo)學(xué)生思考“這個(gè)問題還有別的解決辦法嗎?”“這個(gè)程序還可以更好嗎?”“這個(gè)算法和程序還有優(yōu)化空間嗎?”“還有沒有考慮周到的地方嗎?”之類的問題。在45分鐘的課堂上,大部分學(xué)生能一直保持思維活躍狀態(tài),學(xué)習(xí)效率非常高。

        在教學(xué)過程中,每當(dāng)有學(xué)生發(fā)現(xiàn)老師講授的算法或程序源碼存在瑕疵,會(huì)得到鼓勵(lì)和表?yè)P(yáng),并被計(jì)入平時(shí)成績(jī)。這樣一來(lái),同學(xué)們課下也會(huì)積極思考和練習(xí),并嘗試在教材或課件中查找錯(cuò)誤,不僅能夠提高學(xué)生的學(xué)習(xí)積極性,還能夠培養(yǎng)獨(dú)立思考能力和批判性思維,敢于挑戰(zhàn)老師,敢于挑戰(zhàn)權(quán)威。

        2.2 系統(tǒng)介紹

        為提高Python程序設(shè)計(jì)課程教學(xué)質(zhì)量,開發(fā)了一套課堂教學(xué)管理系統(tǒng)。除Python基礎(chǔ)知識(shí)之外,該系統(tǒng)還用到了數(shù)據(jù)庫(kù)編程、多線程編程、Of fi ce文檔操作、GUI編程、網(wǎng)絡(luò)編程、圖像處理等多個(gè)領(lǐng)域的知識(shí),既可以用來(lái)管理教學(xué)過程中的各個(gè)環(huán)節(jié),又可以根據(jù)學(xué)生專業(yè)從中選擇不同的功能作為教學(xué)案例,還能讓學(xué)生閱讀和分析源碼提高代碼閱讀能力和軟件測(cè)試能力。該系統(tǒng)教師端主界面和學(xué)生端界面如圖1和圖2所示。

        圖1 教師端主界面

        圖2 學(xué)生端主界面

        2.2.1 在線點(diǎn)名

        雖然大部分同學(xué)的自制力較好,但仍有部分同學(xué)管不住自己,總想逃課。針對(duì)這種情況,在課堂教學(xué)管理系統(tǒng)中提供了在線點(diǎn)名功能,使用Socket編程與多線程編程技術(shù)可以瞬間完成整個(gè)班級(jí)的點(diǎn)名,不僅節(jié)約了寶貴的課堂時(shí)間,還能嚴(yán)格控制點(diǎn)名時(shí)間段,讓學(xué)生無(wú)法預(yù)測(cè)點(diǎn)名時(shí)間和規(guī)律。并且,系統(tǒng)還記錄了學(xué)生機(jī)器的IP地址、MAC地址和點(diǎn)名時(shí)間,可以在技術(shù)上防止同學(xué)之間的代點(diǎn)名,在很大程度上震懾了個(gè)別不愛上課的同學(xué)。另外,只要啟動(dòng)了學(xué)生端軟件,就不允許退出,軟件隨時(shí)準(zhǔn)備接收教師端軟件發(fā)送的屏幕廣播信息,保證上課時(shí)學(xué)生只能聽老師講課,提高了聽課學(xué)生的比例[4]。2017—2018學(xué)年該系統(tǒng)共生成原始點(diǎn)名記錄5 956條。

        2.2.2 隨機(jī)提問

        在教學(xué)過程中,提問環(huán)節(jié)完全使用自己編寫的課堂教學(xué)管理系統(tǒng),只需要選擇相應(yīng)的專業(yè)然后單擊按鈕“看看誰(shuí)最幸運(yùn)”即可隨機(jī)抽取一名同學(xué)進(jìn)行提問,并且根據(jù)該同學(xué)的回答情況記錄成績(jī)。這樣可以避免任課老師總是提問固定幾個(gè)人的慣性思維,也不用對(duì)著名單糾結(jié)該提問誰(shuí),每個(gè)同學(xué)都會(huì)處于緊張狀態(tài)積極思考,不敢輕易走神,盡最大可能讓更多學(xué)生處于學(xué)習(xí)狀態(tài)[4]。2017—2018學(xué)年該系統(tǒng)共生成提問原始加分與減分記錄121條。

        2.2.3 隨堂限時(shí)作業(yè)與課后大作業(yè)

        在教學(xué)過程中,適當(dāng)布置限時(shí)完成的隨堂作業(yè),嚴(yán)格控制作業(yè)提交時(shí)間段,不僅可以培養(yǎng)學(xué)生快速解決問題的能力,還可以節(jié)省上課時(shí)檢查作業(yè)的時(shí)間。在配套使用的課堂教學(xué)管理系統(tǒng)中采用了兩種提交作業(yè)的方式:全屏截圖交作業(yè)和上傳文件交作業(yè),對(duì)于較小的代碼片段使用截圖交作業(yè)的方式,較大的完整程序使用上傳文件交作業(yè)的方式,并且自動(dòng)把文件名修改為學(xué)生的“學(xué)號(hào)+姓名+上傳時(shí)間”,以備事后檢查與核對(duì)[4]。

        另外,使用全屏截圖交作業(yè)還能隨時(shí)查看學(xué)生屏幕,判斷學(xué)生是否認(rèn)真練習(xí)老師講過的知識(shí),這樣可以防止學(xué)生在練習(xí)時(shí)偷懶。2017—2018學(xué)年兩個(gè)學(xué)期共使用該系統(tǒng)收取作業(yè)文件895個(gè)。

        2.2.4 在線自測(cè)

        不同學(xué)生的學(xué)習(xí)進(jìn)度略有差別,有的很快就可以掌握老師剛剛講過的知識(shí),有的則需要的時(shí)間久一些,幾十人的班級(jí)很難保證步調(diào)一致。為此,在課堂教學(xué)管理系統(tǒng)中增加了在線自測(cè)功能,內(nèi)置800道客觀題和參考答案。每次上課時(shí)立刻打開該功能,供學(xué)習(xí)能力較強(qiáng)、學(xué)習(xí)進(jìn)度較快、自制力較好的學(xué)生自我測(cè)試和檢驗(yàn),也可以用于所有學(xué)生對(duì)自己的掌握程度進(jìn)行檢驗(yàn)[4]。系統(tǒng)數(shù)據(jù)顯示,2017—2018年度共有154 500人次使用該系統(tǒng)進(jìn)行了在線自測(cè)。

        2.2.5 聽課認(rèn)真加分

        在講課過程中,隨時(shí)注意學(xué)生的聽課狀態(tài),不僅根據(jù)同學(xué)們的狀態(tài)進(jìn)行語(yǔ)速和音量的調(diào)整,還在系統(tǒng)中及時(shí)記錄聽課非常認(rèn)真和非常不認(rèn)真的同學(xué)進(jìn)行適當(dāng)加分和減分,這也是期末成績(jī)的一項(xiàng)重要參考。為方便使用,該功能集成到了學(xué)生信息查看界面[4]。

        2.2.6 挑錯(cuò)加分

        在教學(xué)過程中或者布置作業(yè)時(shí),精心設(shè)計(jì)幾個(gè)小錯(cuò)誤讓同學(xué)們嘗試發(fā)現(xiàn),經(jīng)常鼓勵(lì)同學(xué)們嘗試發(fā)現(xiàn)教材、PPT以及所有講授內(nèi)容中可能存在的錯(cuò)誤,如果有同學(xué)確實(shí)發(fā)現(xiàn)了錯(cuò)誤并給出解決方案就適當(dāng)加分給予鼓勵(lì)。事實(shí)證明,這個(gè)方法非常有效,同學(xué)們看書非常認(rèn)真積極,確實(shí)有同學(xué)發(fā)現(xiàn)過課堂上講過的例題代碼中的bug。

        2.2.7 攻擊系統(tǒng)加分

        該系統(tǒng)已經(jīng)正式投入使用6個(gè)學(xué)期,雖然主要功能一直運(yùn)行非常穩(wěn)定,但是也確實(shí)存在一些小瑕疵,于是在教學(xué)過程中鼓勵(lì)同學(xué)們隨時(shí)對(duì)這個(gè)系統(tǒng)進(jìn)行分析和攻擊,然后根據(jù)他們的攻擊情況進(jìn)行加分,同時(shí)也不斷對(duì)這個(gè)系統(tǒng)進(jìn)行完善和升級(jí)。事實(shí)證明這是一個(gè)非常好的思路,大多數(shù)同學(xué)覺得這樣的方式很有意思并積極參與系統(tǒng)分析和攻擊,大幅度提高了學(xué)習(xí)積極性和安全編程意識(shí),同時(shí)也為完善這個(gè)系統(tǒng)提供了很多重要參考。例如,系統(tǒng)最初使用IP地址來(lái)檢測(cè)是否存在學(xué)生代點(diǎn)名的情況,但是有學(xué)生自己編寫Python程序自動(dòng)修改IP地址實(shí)現(xiàn)批量點(diǎn)名,于是系統(tǒng)改用了網(wǎng)卡MAC地址檢測(cè)代點(diǎn)名的情況,有效避免了這個(gè)問題;為了避免學(xué)生在考試時(shí)直接復(fù)制題目然后在網(wǎng)上或平時(shí)整理的題庫(kù)中搜索答案,在系統(tǒng)中增加了防作弊功能,在考試模式下不僅禁用了學(xué)生端的各種瀏覽器和文本編輯器軟件,還禁用了系統(tǒng)剪貼板。同時(shí),考試模式下的隨機(jī)抽題功能使得每個(gè)學(xué)生不可能同時(shí)作答同一個(gè)題目,最大程度降低了作弊的可能;曾經(jīng)有學(xué)生試圖編寫自助考試的代碼,雖然沒有成功,但其中的思路還是不錯(cuò)的。另外,作為大作業(yè),每學(xué)期都有幾個(gè)學(xué)生成功實(shí)現(xiàn)了系統(tǒng)中題庫(kù)的批量導(dǎo)出,這需要根據(jù)學(xué)生端軟件源碼來(lái)分析和推測(cè)教師端通信協(xié)議和數(shù)據(jù)庫(kù)結(jié)構(gòu),有效鍛煉了學(xué)生的代碼閱讀和分析能力。當(dāng)然,也有極個(gè)別同學(xué)通過分析學(xué)生端源代碼發(fā)現(xiàn)了獨(dú)特的作弊手段,例如使用IDLE或其他Python開發(fā)環(huán)境打開提前準(zhǔn)備好的題庫(kù)和答案,這些問題都被及時(shí)發(fā)現(xiàn)并且迅速修改系統(tǒng)代碼進(jìn)行了防范[4]。

        2.2.8 期末成績(jī)計(jì)算

        在評(píng)定學(xué)生的期末成績(jī)時(shí),不單純使用期末的在線考試成績(jī),還綜合考慮平時(shí)的出勤次數(shù)、提問情況、作業(yè)情況等。其中,出勤次數(shù)占總成績(jī)的10%,提問情況占10%,作業(yè)情況占20%,在線考試成績(jī)占60%,這些數(shù)據(jù)的原始記錄都可以在系統(tǒng)中查詢和匯總。連續(xù)6個(gè)學(xué)期的實(shí)踐表明,這樣的計(jì)算方法更加客觀,也更能反映學(xué)生的綜合能力。

        3 結(jié) 語(yǔ)

        我校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院數(shù)字媒體技術(shù)專業(yè)、服務(wù)外包專業(yè)和網(wǎng)絡(luò)工程專業(yè)開設(shè)了“Python程序設(shè)計(jì)”課程,會(huì)計(jì)學(xué)院開設(shè)了“Python程序設(shè)計(jì)基礎(chǔ)”,全校范圍開設(shè)了公共選修課“Python程序設(shè)計(jì)基礎(chǔ)”。到目前為止,已經(jīng)連續(xù)8個(gè)學(xué)期為不同專業(yè)開設(shè)Python程序設(shè)計(jì)有關(guān)課程,并應(yīng)邀在全國(guó)巡講和作報(bào)告50余場(chǎng),在教學(xué)和交流過程中積累了大量教學(xué)經(jīng)驗(yàn)和教學(xué)案例,提出了基于攻擊鼓勵(lì)和過程管理的教學(xué)方式,極大提高了學(xué)生的學(xué)習(xí)積極性,效果非常顯著。為更好地實(shí)踐基于攻擊鼓勵(lì)和過程管理的教學(xué)方式,使用Python開發(fā)了一套課堂教學(xué)管理系統(tǒng)。該系統(tǒng)已經(jīng)投入使用6個(gè)學(xué)期,在提高學(xué)生學(xué)習(xí)積極性和綜合能力的同時(shí)也積累了大量原始數(shù)據(jù),對(duì)于學(xué)生學(xué)習(xí)情況和學(xué)習(xí)狀態(tài)以及學(xué)習(xí)效果的進(jìn)一步分析都有很大幫助,這也正是下一步要做的工作。

        猜你喜歡
        程序設(shè)計(jì)代碼編程
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        基于Visual Studio Code的C語(yǔ)言程序設(shè)計(jì)實(shí)踐教學(xué)探索
        從細(xì)節(jié)入手,談PLC程序設(shè)計(jì)技巧
        電子制作(2019年9期)2019-05-30 09:42:04
        創(chuàng)世代碼
        創(chuàng)世代碼
        創(chuàng)世代碼
        創(chuàng)世代碼
        国产欧美激情一区二区三区| 人妻丰满熟妇av无码区| www国产无套内射com| 亚洲AV无码秘 蜜桃1区| 国产网友自拍视频在线观看| 日本在线精品一区二区三区| 日本午夜精品理论片a级app发布| 国产91精品成人不卡在线观看| 国产麻豆精品久久一二三| 国产性虐视频在线观看| 亚欧免费无码aⅴ在线观看| 国产成人综合久久精品推| 岛国av一区二区三区| 97超碰国产成人在线| 国产农村乱辈无码| 國产AV天堂| 免费男人下部进女人下部视频| 青青草视频网站免费观看| 麻豆国产精品久久天堂| 国产精品186在线观看在线播放 | 久久精品国产成人午夜福利| 国产精品沙发午睡系列990531| 国产va精品免费观看| 亚洲性av少妇中文字幕| 久久精品国产精品亚洲| 中文在线√天堂| 男子把美女裙子脱了摸她内裤| 亚洲精品国产av成拍| 一本丁香综合久久久久不卡网站| 少妇精品久久久一区二区三区| 在线无码免费看黄网站| 国语对白免费观看123| 天天色影网| 国产肉体XXXX裸体784大胆| 亚洲一区二区懂色av| 九色综合九色综合色鬼| 天天爽夜夜爽人人爽曰喷水| 午夜精品人妻中字字幕| 中文人妻熟女乱又乱精品| 欧美亚洲国产精品久久高清| 日本熟女人妻一区二区三区|