人文社會科學 x
資訊教育:
在文學院教程式設計!?
2023年01月12日
文學院、英語系與程式設計
- 市場需求
- 機器學習蓬勃發展
- 對於人工智慧的求知慾
- 文組生的危機意識
- 常態性維護課程網頁,不僅可以幫助學生有效地取得課程內容,同時有助於未來應用。
- 通常在學習一個程式語言之後,往往在未來真正應用時,還是必須常常回過頭去查看過去的筆記、Documentation等等。
- 因此,課程網頁不僅是教材,也是參考資源。
- 透過由簡入深的課後練習設計,讓學生可仿照課程內容實作,同時,延伸至更複雜的任務。
程式語言教學,就像「外語教學」!
- 每一個「涵式」,就像學習一個全新的外語「詞彙」!
語意、功能、語境與用法,對學生都是必要的。
- 程式碼撰寫,如同語言寫作,有既定約定俗成「格式」!
(如:參數名稱命名限制、程式碼Indent格式等等)
- 每一個(程式)語言,都有自己獨特的「片語」。
- 如何由「單句」進入「篇章」,將是語言完成溝通任務的關鍵。(如:自訂函式與控制結構)。
- 「廣泛閱讀」終究是語言進步的不二法門!(如:多多分析他人程式碼撰寫)。
文院生的「線性思考(Thinking in Pipelines)」
- 文學院的學生,大多數的同學根本沒有接觸過程式語言。
- 他們最大的挑戰是,程式語言當中的「Zero
Tolerance of
Ambiguity」,這正好與學生們所熟悉的自然語言,形成強大對比。
- 要學習如何將日常語言當中的「自動腦補語意」,明確地轉譯成程式碼中的清楚步驟,這是挑戰!
到底要給學生多「完整」的教材內容?
- 實作當然會希望給予學生實際操作、撰寫程式碼的經驗,那麼,課堂內容改怎麼提供給學生,「教」與「學」更有效率呢?
- 什麼檔案都不給學生,請學生直接參考課程網頁內容?
- 給予學生程式碼檔案?(
R
或
Python
原始碼)
- 給予學生完整課程內容說明與原始碼?
(
R Markodwn
或 Python Notebook
檔案)
看似「不足為道」的每一步,可能都是學生的一大步!
- 如何透過網路社群尋求協助?(如: Stack Overflow)
- 如何透過程式語言官方Documentation,找尋自己需要的資料?
- 如何安裝軟體?
- 如何克服跨平台問題?(如: Windows, Mac OS)
- 如何選擇適合的Package,完成任務?
結語
- 程式語言教學,不管在教材設計、教學方法,與外語教學有許多類似的地方。
- 如同英語TESOL已成為一個公認的discipline,「程式語言學教學」的未來是令人期待的!
- 在令人不安的雙語政策下,程式語言教學更是難上加難!
- 「文學院學生「要/能」寫程式!?」,這是肯定的!
感謝大家!
本次簡報中,所分享之教學課程網頁,皆可由以上網址取得連結。