程式學習三個面向

美國哈佛大學 Computational Thinking With Scratch 研究,程式學習三個面向:

  1. 運算概念(Concepts)
  2. 運算實作(Practices),通過漸進式. 任務式情境問題引導, 提高學習興趣。
  3. 建立觀點(Perspectives),可小組團隊合作方式完成,找發表機會和舞台,持續激發創作動力和熱情。


一 「運算概念」 (Concepts)

學習程式設計的七個基本概念是:序 列(sequence)、迴圈(loops)、平行(parallelism)、事件(events)、條件(conditionals)、運算子(operators)、資料(data)


二 「運算實作」(Practices)

1. 實驗與迭代(experimenting and iterating):“Developing a little bit, then trying it out, then developing more.” 我們在面對問題時,往往很難一次解決所有的需 求,所以開發的過程通常會包含多個開 發週期。這是一個漸進的過程,先開發 一部分,實驗測試看看,然後進入下一 個週期做更進一步的開發。由少而多, 由簡單到複雜,有系統地一步步去完成。

2. 測試與除錯(testing and debugging): “Making sure things work - and finding and solving problems when they arise.” 我們測試程式,確認產品或功能如同設 計者所預期,當出現問題時,我們就依 循以下的步驟來除錯。 ★進行測試 ★尋找問題所在 ★檢查程式指令是否正確 ★檢查程式邏輯是否正確 ★ 修正指令 ★ 再次測試

3. 重 複 使 用 與 混 合(reusing and remixing):“Making something by building on existing projects or ideas.” 專案建立的 過程可以利用別人已經建構好的功能或 專案,在此基礎上加強或是加入其他想 法,改造成新的專案。觀摩學習他人作品是躍進的好方法, 站在「巨人」的肩膀上可以讓你看得更 遠。在 Scratch 的網頁上有許多專案, 可以幫助學生發想。

4. 抽 象 簡 化 和 模 組 化(abstracting and modularizing):“Exploring connections between the whole and the parts.” 分 析問題時,學習將任務抽象簡化和模組 化,亦即分解為多個小任務並去探索以 及理解每個部分之間的關聯。抽象簡化 是將許多小問題分析歸納成一個整體或 是更高層次的問題,將複雜的問題簡化 成簡單的問題,讓人可更好好地去思考 各個層次的問題。模組化可以讓程式方 便閱讀與理解,在測試除錯上也更容 易。畫流程圖可以協助學生更理解各個 部分的連結關係。

三「建立觀點」(Perspectives)

1. 表達(expressing):“realizing that computation is a medium of creation, ‘I can create.’” 讓學生理解電腦運算也是一種 創作的媒介,我們可以透過電腦運算來 表達自己的想法和創意。

2. 連結(connecting):“recognizing the power of creating with and for others, ‘I can do different things when I have access to others.’” 與他人合作,連結眾人的力 量,在溝通、討論的互相學習中,可以 激發更多的想法和創意,展現比一個人 更多也更大的力量。

3. 提問及探索(questioning):“feeling empowered to ask questions about the world, I can (use computation to) ask questions to make sense of (computational things in) the world.” 鼓勵學生勇敢地去對任何 事物提出問題,「用電腦運算的模式」去 思考、提出、理解並分析問題,然後「透 過電腦運算」去建立自己對電腦和世界 的理解。 

沒有留言:

張貼留言

Python 哈囉程式input

Python程式設計的概念