999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

美國高校計算思維培養作業案例分析及啟示

2020-02-26 06:32:28師智斌王保民
計算機教育 2020年1期
關鍵詞:程序規則案例

師智斌,王保民

(1.中北大學 大數據學院,山西 太原 030051;2.中北大學 環境與安全工程學院,山西 太原 030051)

0 引 言

美國科羅拉多大學博爾德分校(University of Colorado Boulder,CU-Boulder)2019年春季學期CU-Boulder 開設的“computer science I-starting computing”(計算機科學I—計算初步)課程是面向所有學生(包括非計算機專業學生)的計算機類導引課程,學習內容C++。該課程從課程內容、進度安排、課堂授課、作業布置,到成績結構和成績評分標準設定等各個方面,編排得非常科學、合理、嚴謹,特別是授課教師布置的作業案例,不僅有針對性地與知識點有機結合,難易適當,而且許多來源于現實生活中的熱門或難點問題。

該課程的首要目標就是對學生進行計算思維的培養。計算思維是思想和方法,需要教師授課透徹講解,更需要精心挑選和設計作業案例,有效引導學生在完成作業的過程中深入思考、分析、實踐和總結,實現對思想和方法的徹底領悟和理解,最終達到應用層面。

該課程的第一次作業就是一個非常典型的培養學生計算思維的作業案例,設計精巧,將計算思維核心要素有效地梳理和組織,滲透到作業的各個環節。題目設置有趣且功能強大,同時也為新手編程訓練做前期準備。

1 計算思維思想

計算思維的概念是2006 年由美國卡內基·梅隆大學周以真教授在ACM 會刊上首次提出。她認為計算思維是運用計算機科學的基本概念進行問題求解、系統設計和理解人類行為等涵蓋計算機科學之廣度的一系列思維活動[1]。

計算思維的兩大核心特征是抽象和自動化。運用計算思維進行問題求解一般要經過以下4 個步驟:①把實際問題抽象為數學問題并建模,也就是將人對問題的理解用數學語言描述;②模型映射,將數學模型中的變量和規則用特定的符號表示;③用特定計算機語言把解決問題的邏輯分析過程用算法描述,即把解題思路變成計算機指令形式;④計算機根據指令,按順序自動執行,進行問題實現。

目前被廣泛認可的計算思維的核心要素及促進計算機類學習和發展的課程基礎要素有:抽象和模式概括(包括模型和仿真模擬)、系統性信息處理、符號系統及其表示、控制流程的算法概念、結構化問題分解(模塊化)、迭代/遞歸/并行思維、條件邏輯、效率及性能限制、調試和系統錯誤監測。

如何將宏觀上的以抽象化和自動化為特征的計算思維形式,與微觀學科知識的學習緊密結合,融入日常的教學實踐中,是授課教師花時間和精力開展教學研究的一項重要內容。基于如何培養計算思維,我國學者已經做了很多研究[2-6],筆者在教學實踐中也進行了許多有益的探索和嘗試,但仍覺缺乏完整、有效的實踐方法和手段,需要向國外高校學習成熟的經驗和成功案例。

2 美國高校作業案例分析

CU-Boulder“計算機科學I-計算初步”課程的第一次作業布置在開學第一周,還沒有正式進入C++的學習,這次作業的目標就是初步認識計算思維。對此次作業案例進行分析有助于我們學習如何選擇和設計作業案例,對學生進行計算思維基本思想的灌輸,為學生構建較為完備的計算思維概念體系。

該作業題目是探索機器人Picobot,任務是完全遍歷有邊界和障礙的房間,起始位置隨機。在作業中為學生提供了一個完成Picobot功能的模擬環境,網址是https://www.cs.hmc.edu/picobot/,學生可以在這個編程環境中進行Picobot 的模擬演練、運行程序和查找bug 并修改,直到完成任務為止。

這是一個完整的、綜合性強的計算思維培養作業案例,其中涉及多項計算思維核心要素的培養。

2.1 抽象和模型思維

機器人Picobot 在現實中類比掃地機器人。作業描述首先將機器人Picobot 和房間抽象表示,并可視化如圖1 所示,其中(a)(b)(c)(d)表示4 種不同類型的房間。在每個房間中,小方塊代表Picobot 的隨機起始位置,實體部分表示障礙物和邊界,空白部分表示要清掃的地面。

圖1 房間類型

抽象思維是人類認識世界的最基本思維。作業示范了如何對實際系統原型進行模型抽象的方法,即保留實際系統原型的本質特征,同時通過抽象和約簡,對系統進行準確、簡潔的理解和描述。這是計算思維進行問題求解的第一步,經過這一步,原問題演變成“點”在不規則圖形的遍歷問題。現實中除了掃地機器人外,還有許多問題可用此模型表達,如機器繡花等。

2.2 符號系統和表示思維

為了使問題最終能被計算機自動化完成,需對模型中的相關信息采用計算機能處理的符號表達,如在作業中對周圍環境有如下符號約定。

①Picobot 只能感知到它緊鄰的周圍環境。如果不碰到邊界或障礙,可由當前位置向4 個方向行走:北東西南(NEWS)。②周圍環境這樣表示:用相應方向的大寫字母表示墻,用“x”表示沒墻;如 NxWx 表示在北面、西面各有一堵墻,可向東面和南面行走。③除此之外,通配符“*”可以用來表示“Picobot 不關心那個位置是否有墻”,如,xE**的意思是“北面沒有墻,東面有墻,西面或南面可能有墻,也可能沒有墻”。

這一步將抽象模型中的變量/規則用虛擬的符號表示,這是計算思維問題求解的第2 個步驟:模型映射。通過作業范例,讓學生理解采用符號系統表示的簡潔性、嚴謹性,以及方便計算機進行處理的特性。這部分概念和思維對于初學者很難理解,采用這樣的方式引入,簡單直觀。

2.3 控制流程的程序思維

作業中制定了Picobot 行為規則,讓學生初步認識程序設計語言,理解程序思維。Picobot行為規則描述如下:

(1)Picobot 擁有狀態,用數字表示。

(2)狀態和周圍環境是Picobot 做出決策所需要的所有信息。

(3)Picobot 根據一組規則移動:當前狀態環境->移動方向 新的狀態。

其中移動方向為N、E、W、S,或X,分別表示向北、東、西、南、完全不動。

如,0 x***->N 0 #當前狀態0,如果北面沒墻,則向北走,狀態不變

0 N***->X 1 #當前狀態0,如果北面有墻保持不動,然后轉到狀態1

(4)Picobot 總是從狀態0 開始,并且從上到下查詢規則,直到找到第一個適用的規則,運行該規則。然后再從頭開始,查看規則并從頂部找到第一個適用的規則。

Picobot 行為規則構成一種最簡單的程序語言,規則描述了程序可分解成基本動作及基本動作的各種組合。如本例中基本動作就是Picobot向某個方向行走一步或保持不動,而基本動作的各種組合及其排序可以最終實現對整個房間的掃描,從而構成完整程序。

通過學習Picobot 行為規則,讓學生認識到程序是對計算機下達的指令序列,計算機是能夠執行各種程序的機器或系統,計算機按照程序控制的基本動作順序執行,實現復雜的功能。這種基本的指令和程序的思維灌輸對學生非常重要。

2.4 遞歸思維

遞歸是計算思維的重要特征,其本質是用有限的步驟實現近于無限功能的方法,是問題求解的一種重要思維,使程序簡潔和清晰。

在上節Picobot 語言規則中有這樣的舉例:0 x***->N 0,初始狀態和動作后到達的狀態都是0。這條規則可以讓Picobot 在北面沒墻的情況下一直向北走,直到北面碰到邊界或障礙為止。這條規則實例對計算思維中非常重要的遞歸思維進行了非常好的詮釋,讓學生初步學習并運用這種典型的構造程序的手段,為其今后進一步學習打下良好的基礎。

2.5 結構化問題分解(模塊化)

完成數據建模、模型映射及定義好程序規則后,接下來的任務就交由學生實現Picobot 對房間的遍歷。為了引導學生進行實際問題的求解,此次作業為其設定了作業目標和程序實踐方法,學生可依據目標和實踐方法的提示很好地完成任務。

作業目標:①把大的問題拆分成子問題處理;②編寫一個算法來解決特定的問題,然后將該算法轉換成特定編程語言的程序(在本例中是Picobot 行為規則);③為算法的每一步編寫清晰、簡潔的文檔;④運行并查找程序中的bug,修復bug,然后再次測試。

程序實踐方法:①從制訂策略開始,用簡明扼要的敘述總結采用的方法。例如,要遍歷房間(a)可采用的方法描述:“先將Picobot 發送到北墻,然后發送到西北角,然后Picobot 由西向東掃描……直到完成對房間的遍歷”。②為算法的每個步驟/規則寫注釋。

其中,作業目標的設定引導學生學習程序設計問題求解的基本步驟和方法;程序實踐方法教會學生怎樣對實際問題進行具體的分析和制定策略。這次作業還引導學生將一個大的、難解決的問題重新闡釋成簡單的、已有解決方案的小的問題,這種問題結構化分解的方法是處理龐雜任務或設計巨大復雜系統時采用的核心方法和思維,對學生今后處理實際問題至關重要。我們要求學生在編寫算法的同時,為算法撰寫清晰、簡潔的文檔和注釋,為日后養成良好的編程習慣打下基礎。

2.6 效率及性能限制

這次作業還讓學生初步理解算法效率的概念,為學生設定了算法效率要求。效率要求如下:從狀態數量和規則數量考慮解決方案的效率。認可的解決方案是遍歷(a,b)房間,每個遍歷不能超過16 條規則。如果超過,找重疊代碼,將重疊代碼去除。

效率要求中引導學生從狀態數量和規則數量考慮算法效率,使學生初步學習如何進行算法效率的衡量,并通過限定規則的數量指導學生對算法進行簡單優化。

2.7 調試和系統錯誤監測

此次作業的完成須在模擬環境中運行通過,因此學生必須經過編寫Picobot 程序、運行、查找錯誤、修改等一系列程序調試環節。這是一個不斷試錯的過程,通過分析和查找問題的根源,確定代碼錯誤位置,不斷修改,直到成功為止。在這個過程中,學生分析問題和解決問題的能力得到極大訓練。

2.8 規律探尋、創造性思維

作業要求遍歷房間(a,b)是必選題目,遍歷房間(c,d)可額外加分,供學有余力的學生完成。除此之外,作業還提供了更為復雜的房間,如圖2 所示,為高水平同學提供拓展訓練,目的是培養學生在解決復雜問題時規律探尋的方法,激發學生的創造性思維。

圖2 其他類型的房間

房間(a,b)結構簡單,遍歷相對容易實現。房間(c,d)稍微復雜,可通過劃分房間區域,根據Picobot 的起始位置在不同的區域規劃掃描路線,最終完成任務。而對房間類型(e,f,g)的遍歷難度較大,如遍歷房間(g)演變成走迷宮問題,必須探索迷宮路徑的深層規律,促使學生使用非常規、發散的思維思考和解決問題,激發學生的潛能。據了解,在選修這門課程的美國學生中,做得最好的是用一段通用程序,遍歷所有類型的房間(a-g)。能實現這種程序的學生,具有超強的思維能力和創新能力。

3 作業案例的啟示

上述的作業案例以組成計算思維的基本要素為指引,對學生計算思維的多項核心技能進行訓練。通過介紹和分析,可以得到國內高校計算思維培養設計作業案例的幾點啟示。

3.1 實用性、趣味性、創新性作業案例選取

選擇與實際緊密聯系的作業案例,這樣在進行抽象、符號表示和算法設計、任務實現等一系列過程,學生容易理解和接受,并且通過對貼近學生實際生活問題的解決,真正做到學以致用,加強學生學習的信心和成就感。案例的趣味性可激發學生學習的熱情,讓學生感到生動有趣,不枯燥,實現持續學習。創新性即向學生傳達運用計算思維求解問題是一項創造性的任務,需要創新的解決問題,提高學生對新事物、新問題的處理能力。

3.2 貫通性、系統性作業案例選取

最好在學習之初,為學生選擇完整和綜合性的作業案例,覆蓋計算思維的所有必要環節,貫通從問題的抽象→問題的數學建模→模型映射→算法的策略設計→算法的程序設計→算法的正確性分析→算法的復雜性分析等問題求解的完整過程。學生通過完成作業,建立相對清晰、完整的計算思維概念體系,體會和理解計算思維在整個求解過程中的運用和實現。對于課程在學習其他具體知識點時,也需要教師有計劃、有條理地將計算思維梳理歸納,有針對性地將一項或幾項計算思維訓練滲透到作業中,有的放矢,形成系統化作業。

3.3 入門簡單編程語言選取

在正式進入高級程序設計語言學習之前,可選擇一種規則相對簡單的程序入門語言,學生上手較快易于掌握,可專注于計算思維訓練和典型算法的學習。學生由此能認識到程序設計語言僅僅是一個實現工具,解決問題的策略和方法才是體現計算思維的關鍵所在。

3.4 作業難度梯度設置。

由于學生學習水平本身存在著一定差異,作業難度梯度設置,可滿足不同學習程度學生的需求。作業題目可包含多項任務,其難度由易到難,由單一問題的求解過渡到綜合、復雜問題的實現,循序漸進,不斷增強,使學生能力由弱到強,得到不斷提升。同時設置有一定難度的作業,可充分調動學生的學習積極性,鼓勵其積極思考,激發學習潛能。

4 結 語

筆者在美國科羅拉多大學博爾德分校進行為期一年的學術訪問,期間通過深入課堂聽課,參與課程實驗及與授課教授討論交流的方式,對美國大學教學活動有了深入體會。我們需要借鑒優秀的作業案例,為今后相關課程的教學研究提供思路和方法。通過精心篩選和設計作業案例,我們將計算思維與教學實踐緊密相連,真正實現“做中學,學中做”現代化教學模式,讓學生真正能夠“像計算機科學家一樣思維”。

猜你喜歡
程序規則案例
撐竿跳規則的制定
數獨的規則和演變
案例4 奔跑吧,少年!
少先隊活動(2021年2期)2021-03-29 05:40:48
隨機變量分布及統計案例拔高卷
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
讓規則不規則
Coco薇(2017年11期)2018-01-03 20:59:57
“程序猿”的生活什么樣
發生在你我身邊的那些治超案例
中國公路(2017年7期)2017-07-24 13:56:38
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
TPP反腐敗規則對我國的啟示
主站蜘蛛池模板: 久久国产精品电影| 国产精品黄色片| 人妻无码AⅤ中文字| 亚洲av色吊丝无码| 欧美日本在线观看| 国产成人AV男人的天堂| 波多野结衣一区二区三视频| 一级做a爰片久久免费| 亚洲免费毛片| 久草视频中文| 亚洲视频免费在线| 午夜免费小视频| 久久婷婷国产综合尤物精品| 国产精品福利导航| 中文成人在线视频| 国产精品jizz在线观看软件| 亚洲天堂.com| 亚洲精品黄| 在线看片国产| 三级国产在线观看| 在线观看国产精品一区| 在线观看欧美精品二区| 永久免费精品视频| 54pao国产成人免费视频| 国产精品永久不卡免费视频| 啪啪啪亚洲无码| 国产乱子伦视频三区| 成人福利在线看| 欧美国产在线看| 亚洲天堂网在线播放| 国产本道久久一区二区三区| 亚洲日韩精品综合在线一区二区| 国产91在线|日本| 538精品在线观看| 在线综合亚洲欧美网站| 亚洲色图欧美| 日本伊人色综合网| 91精品国产自产在线观看| 午夜无码一区二区三区| 91欧美亚洲国产五月天| 色悠久久久久久久综合网伊人| 日韩中文精品亚洲第三区| 美女毛片在线| 男女精品视频| 无码AV日韩一二三区| 国产精品无码久久久久AV| 中文字幕日韩视频欧美一区| 国产精品综合久久久| 99视频有精品视频免费观看| 亚洲综合一区国产精品| 日韩国产 在线| 日韩免费毛片视频| 亚洲欧洲综合| 日韩激情成人| 国产真实自在自线免费精品| 中日韩一区二区三区中文免费视频 | 色播五月婷婷| 国产精品无码在线看| 亚洲欧美日韩色图| 97国产成人无码精品久久久| 中文字幕2区| 欧美中日韩在线| 福利在线不卡一区| 日本精品中文字幕在线不卡| 婷婷综合色| 久久天天躁狠狠躁夜夜2020一| 国产成人综合亚洲网址| 黄网站欧美内射| 欧洲日本亚洲中文字幕| 好紧好深好大乳无码中文字幕| 亚欧美国产综合| 成人无码区免费视频网站蜜臀| 久久先锋资源| 亚洲国产AV无码综合原创| 97se亚洲综合在线天天| 91美女视频在线| 国产制服丝袜无码视频| 日本午夜网站| 毛片在线播放网址| 97亚洲色综久久精品| 五月六月伊人狠狠丁香网| 国产一区二区福利|