解決一個簡單的迷宮

本課側重於算法思維和編程。 學生設計一個簡單的 4×4 迷宮。

  • 學習如何系統地分析一個問題,從而推導出一個算法來解決它  
  • 了解如何使用此類算法解決實際問題。  
  • 了解此類算法的應用,以開始進入機器人算法、人工智能等領域。 

年齡層次: 14-18

建造材料(每個團隊)

所需材料(足夠每個團隊建造一個 12 英寸見方、2 英寸高的迷宮的材料)

  • 對於基地:
    • 卡片紙
    • 紙板
  • 對於牆壁: 
    • 泡沫板
    • 瓦楞紙板
    • 發泡膠
    • 卡片紙

教師資源 

設計挑戰賽

你是一個工程師團隊,面臨選擇材料和建造迷宮的挑戰。 將提供迷宮設計。 完成的迷宮應不超過 30 厘米見方和 2 英寸高。 它應該包含 16 個單元格,並具有開始(源)和結束(目標)。 

標準 

  • 包含 16 個單元格
  • 從提供的設計中復制
  • 在迷宮的左下角有一個源(開始),在迷宮的右上角有一個目的地(結束)

約束

  • 不超過 30 厘米見方和 2 英寸高
  • 僅使用提供的材料
  • 團隊可以交易無限材料
  1. 將班級分成 2-4 人一組。
  2. 分發解決一個簡單的迷宮工作表,以及一些草圖設計紙。 
  3. 討論背景概念部分中的主題。 要設置場景,請向學生展示任何有關微型鼠標/迷宮解決機器人的視頻(參見“深入挖掘”部分)。 指導學生思考是什麼讓機器人真正自行駛向目的地。 這將有助於向他們介紹算法的理解。 
  4. 查看工程設計過程、設計挑戰、標準、約束和材料。 
  5. 分享教師資源下材料部分中顯示的迷宮照片。 告訴學生他們的挑戰是確定他們將使用什麼材料來設計相同的迷宮。 當他們對他們的設計進行頭腦風暴時,他們應該考慮機器人完成迷宮所需的步驟,並記錄這些步驟是如何編號的。 他們還應該確定迷宮的起點和終點。  
  6. 為每個團隊提供他們的材料。
  7. 宣布他們必須設計和建造的時間(建議 1 小時)。 
  8. 使用計時器或在線秒錶(倒計時功能)確保您準時。 (www.online-stopwatch.com/full-screen-stopwatch)。 讓學生定期進行“時間檢查”,以便他們繼續完成任務。 如果他們遇到困難,請提出問題,以便他們更快地找到解決方案。 
  9. 學生見面並製定建造迷宮的計劃。 他們就他們需要的材料達成一致並編寫/繪製他們的計劃。 團隊可以與其他團隊交換無限的材料來製定他們理想的零件清單。
  10. 團隊建立他們的迷宮。 他們應該用記號筆標記迷宮的起點(源頭)和迷宮的終點(目的地)。 然後,他們應該為“源”從“1”開始為迷宮的行編號,然後移動到底行,然後移動到下一行。 “目的地”應標記為“16”。 編號圖顯示在教師資源中。
  11. 指導學生想像一個機器人從“源頭”到“目的地”穿過迷宮。 他們應該考慮機器人看到什麼,並通過寫下數字序列來記錄機器人將採取的路徑。 當學生記錄路徑時,請他們考慮:
    • 機器人是否事先知道號碼,並知道在停止前需要到達的目的地號碼?
    • 機器人是否從源頭開始,在移動之前檢查哪條路徑是開放的,向右、向左、向前和向後看? 一旦找到開放路徑,它就會移動到下一個單元格? 當它到達下一個單元格時,它會檢查該單元格是否為“16”? 如果不是,它是否會再次檢查路徑並向前移動到一個空單元格,直到到達“16”,然後停止?
  12. 作為一個班級,討論學生的反思問題。
  13. 有關該主題的更多內容,請參閱“深入挖掘”部分。

 

延期

作為一項擴展活動,讓學生將迷宮從標准設計改為自己設計的迷宮。 鼓勵他們考慮他們的算法對新迷宮所需的任何修改。 提到他們可能要小心不要設計一個有死胡同或循環的迷宮。 如果他們的設計包含這些,算法將需要保留先前路徑的記錄。 當只有一個路徑時,只需要記錄前一個單元格。 

學生反思(工程筆記本)

  1. 你根據給你的圖成功搭建了迷宮嗎? 如果不是,為什麼?
  2. 你成功地找到了迷宮的解決方案嗎? 換句話說,您是否能夠給機器人適當的“指令”,使其能夠到達目的地? 如果不是,為什麼?
  3. 您是否與其他團隊協商過任何材料交易? 這個過程對你來說如何?
  4. 開始建造迷宮後,您是決定更換材料還是添加更多材料?
  5. 您認為工程師在構建階段必須堅持他們的原始計劃嗎? 為什麼?
  6. 您認為“構建”階段是否幫助您非常清楚地形象化了問題? 如果是,它如何幫助您解決問題?
  7. 如果你一個人工作,你能更輕鬆地完成項目嗎? 解釋。
  8. 基於此活動,您如何看待算法開發? 解釋。

時間修改

對於年齡較大的學生,該課程可以在最少 1 節課的時間內完成。 但是,為了幫助學生避免匆忙並確保學生成功(尤其是對於年齡較小的學生),請將課程分為兩個階段,讓學生有更多時間進行頭腦風暴、測試想法並最終確定他們的設計。 在下一節課進行測試和匯報。

自從解決迷宮機器人的挑戰出現以來,已經過去了很多年。 過去有很多人為此開發並演示了各種模型。 如果您考慮基本問題陳述,您會想起童年時代,您曾在迷宮中幫助老鼠找到通往目的地的路線。 隨著你的成長,迷宮的結構變得複雜了!!!……那麼,你有沒有想過一個真實的場景,你可以讓一隻足夠聰明的老鼠自己解決迷宮? 隨著技術的進一步發展,可以開發智能機器人,這個問題已經有了它自己的位置。 這就是微型鼠標如何成為標準問題陳述的原因。 您可以回家搜索問題陳述,甚至可以在 YouTube 上搜索視頻,人們可以在視頻中展示他們自己的機器人解決迷宮問題。 嘿!! 不僅僅是解決迷宮,而是在最短的時間內解決它……哦!! 是的,隨著你的成長,問題會變得複雜……但是,要開始“人工智能和機器人”的世界,讓我們想像一個簡單的迷宮,然後走向終極使命。 您可能會忘記硬件部分。 有一種東西,沒有任何限制; 這是我們的想像力,是我們解決問題的思維方式。 是的!! 這都是關於軟件開發的。 此類活動的軟件開發僅基於算法。 順便說一下,什麼是算法?? 這只不過是完成任務的“逐步”程序。 那麼,你準備好解決這個問題了嗎?

  • 算法:一組描述如何執行任務的指南。 將算法視為在一組數字或代碼行中創建可預測模式的分步說明。
  • 人工智能:能夠執行通常需要人類智能的任務的計算機系統的理論和發展,例如視覺感知、語音識別、決策和語言之間的翻譯。
  • 約束:材料、時間、團隊規模等方面的限制。
  • 標準:設計必須滿足的條件,如整體尺寸等。
  • 工程師:全世界的發明家和問題解決者。 工程認定XNUMX個主要專業(看信息圖).
  • 工程設計流程:流程工程師用來解決問題。 
  • 工程思維習慣 (EHM):工程師思考的六種獨特方式。
  • 迭代:測試和重新設計是一次迭代。 重複(多次迭代)。
  • 迷宮:一條路徑或一組路徑,通常從入口到目標。
  • 原型:要測試的解決方案的工作模型。

互聯網連接

推薦閱讀

寫作活動 

閱讀有關迷宮求解算法的 Wikipedia 頁面和有關迷宮類型的 Astrolog 頁面,並編寫不同方法的摘要。 選擇其中一種方法並根據複雜性(簡單更好)和速度(越快越好)等標準列出其優勢

與課程框架保持一致

注意: 本系列的課程計劃符合以下一套或多套標準:  

學校數學的原理和標準

作為活動的結果,所有學生都應該發展

幾何標準

  • 使用坐標幾何和其他表示系統指定位置並描述空間關係
  • 使用可視化、空間推理和幾何建模來解決問題

問題解決標準

  • 應用和調整各種適當的策略來解決問題。
  • 解決數學和其他環境中出現的問題。

代表性

  • 使用表示來建模和解釋物理、社會和數學現象

3-8 年級學校數學共同核心國家標準(8-14 歲)

運算與代數思維

  • 生成和分析模式。
  • CCSS.Math.Content.4.OA.C.5 生成遵循給定規則的數字或形狀模式。 識別規則本身中沒有明確的模式的明顯特徵。 例如,給定規則“加 3”和起始數字 1,在結果序列中生成項並觀察這些項似乎在奇數和偶數之間交替出現。 非正式地解釋為什麼數字會繼續以這種方式交替。

技術素養標準——所有年齡段

技術的本質

  • 標準 2:學生將了解技術的核心概念。 

CSTA K-12 計算機科學標準 6-9 年級(11-14 歲)

  1. 2 級別 2:計算機科學與社區 (L2)
  • 計算思維 (CT)
  1. 將算法定義為可由計算機處理的指令序列。
  2. 描述和分析所遵循的一系列指令(例如,描述由規則和算法驅動的電子遊戲中角色的行為)。
  3. 檢查數學和計算機科學元素之間的聯繫,包括二進制數​​、邏輯、集合和函數。
  • 協作 (CL)
  1. 使用展示和交流課程概念的技術資源協作設計、開發、發布和展示產品(例如,視頻、播客、網站)。
  2. 通過結對編程、在項目團隊中工作以及參與小組主動學習活動等協作實踐,與同行、專家和其他人協作。
  3. 展示協作所需的性格:提供有用的反饋、整合反饋、理解和接受多種觀點、社交。
  • 協作 (CL)
  1. 通過結對編程、在項目團隊中工作以及參與小組主動學習活動等協作實踐,與同行、專家和其他人協作。
  • 計算實踐與編程 (CPP)
  1. 展示對算法及其實際應用的理解。

設計你自己的迷宮並解決它..

你作為一個工程師團隊工作,他們接受了使用給你的材料設計迷宮的挑戰,然後解決它。 此時,您可能已經看到了迷宮的樣子,以及一些有趣的解謎機器人。 在進入真正的遊戲之前,讓我們開始構建迷宮。 如您所見,迷宮由一個平台和安裝在其上的牆壁組成。 一旦你按照老師建議的尺寸建造了自己的迷宮,你就必須解決這個迷宮——提出一個分步程序,你可以給機器人,這樣它就可以從源頭到目的地。 迷宮有十六個細胞。 源在迷宮的左下角,目的地在迷宮的右上角。

規劃

作為一個團隊,在你們之間討論如何建造迷宮。 你必須決定你需要什麼所有材料。 你可以從你的老師那裡得到它們。 您可以退回材料,與其他團隊交換材料。 如果您在此階段需要任何澄清或疑問,請諮詢您的老師。

建造

拿你用於平台的材料,比如紙板。 使用鉛筆或素描筆,在平台上繪製迷宮的佈局。 與其他團隊共享材料以構建您的迷宮。 這是團隊合作,重要的是您要在團隊成員之間進行討論並享受團隊合作精神。 分享您的想法並分享您的工作。 傾聽你的朋友,並幫助他們。 一定要看看其他團隊是如何設計他們的迷宮的,以及這些迷宮與你的相比有多麼不同。

解決

現在是時候開始解決迷宮了。 根據單元格編號記錄路徑,鼠標(機器人)必須通過該路徑從源頭到達目的地。 現在,想想是什麼讓你得出了你的解決方案。 描述解決方案背後的邏輯。 在你的朋友之間討論並寫下來。

從數字的角度考慮解決方案很重要。 可以看到整個迷宮,思考如何從源頭到目的地。 然而,你比機器人聰明得多。 機器人無法看到目的地或理解整個迷宮——機器人只知道其當前位置的編號以及它可以移動到的相鄰方格的編號。

這是真正的問題,你如何描述機器人的解決方案? 機器人不知道如何解決迷宮。 它只知道源編號為 1,目標編號為 16。因此您必須給機器人一組指令,以便機器人到達目的地。 記下說明書; 請諮詢您的老師以進行驗證。

執行此操作時,請考慮如果迷宮的構造不同,您的解決方案將如何工作。 如果您事先知道迷宮,很容易設計一個解決方案,並簡單地告訴機器人它需要的動作。 然而,你能想出一個無論迷宮的模式如何都有效的解決方案嗎? 你能想出測試你的解決方案的方法嗎?

評估

使用此工作表來評估您的團隊在本課中的結果。

  1. 你根據給你的圖成功搭建了迷宮嗎? 如果不是,為什麼?

 

 

 

 

 

  1. 你成功地找到了迷宮的解決方案嗎? 換句話說,您是否能夠給機器人適當的“指令”,使其能夠到達目的地? 如果不是,為什麼?

 

 

 

 

  1. 您是否與其他團隊協商過任何材料交易? 這個過程對你來說如何?

 

 

 

 

  1. 開始建造迷宮後,您是決定更換材料還是添加更多材料?

 

 

 

 

 

  1. 您認為工程師在構建階段必須堅持他們的原始計劃嗎? 為什麼?

 

 

 

 

 

  1. 您認為“構建”階段是否幫助您非常清楚地形象化了問題? 如果是,它如何幫助您解決問題?

 

 

 

 

 

  1. 如果你一個人工作,你能更輕鬆地完成項目嗎? 解釋。

 

 

 

 

 

  1. 基於此活動,您如何看待算法開發? 解釋。

 

 

 

 

 

教案翻譯

可下載的學生結業證書