在生成式AI還沒有出現的時候,學生獲得MySQL資料庫知識會從書本、上課,或是從專業網站、網路搜尋而來。但是這些來源不能提供「客製化」的學習互動,也就是學生的問題不容易從這些來源輕鬆的獲得答案。例如我知道什麼是Lock,我知道各種Lock的語法,但是當我需要在一個系統中加上Lock的機制時,我應該使用哪種Lock最恰當?
以上問題,可能書本、專業網站、網路搜尋甚至上課都不會告訴你答案,但是當你清楚敘述問題之後,生成式AI就會告訴你答案。
有了生成式AI之後,學生學習的方式改變了,書本已經幾乎被網路取代,而老師上課的方式如果沒有改變,對於學生已經沒有吸引力,作業及評量方式也完全無法鑑別學生程度。
例如以往MySQL資料庫教學可以「從觀念開始,帶入MySQL語法,然後進入實作」。現在上課講觀念時,學生可能興趣缺缺,因為只要有了生成式AI,他可以應付所有的平常作業。講授MySQL語法時,學生用了生成式AI,什麼複雜的語法都能迎刃而解。進行實作時,大多的工作也都可以交給生成式AI來處理。
如此一來,學生會用生成式AI處理MySQL資料庫的問題,作業寫得洋洋灑灑,Open Book的考試問題每題都會,但是最後結果是 : 學生依舊不會MySQL資料庫,甚至於手寫一些簡單的MySQL語法都沒有辦法。
面對這些問題,老師應該怎麼教MySQL資料庫知識?
有些人會認為上課傳授知識的模式已經過時,老師講義上的東西網路上都有,生成式AI可以解答大多的問題,甚至於很多老師的講義可能都是生成式AI產生的。
確實,傳統上課傳授知識的模式已經過時,老師應該提供的不再只是「知識」才對,而是「模式」。老師應該告訴學生的不能只有WHAT,而應該是WHY跟HOW TO。
以往上課老師告訴學生什麼是關聯式資料庫? 什麼是主鍵? 什麼是外鍵? 而現在應該讓學生設計資料庫時去體驗主鍵的作用,為何需要主鍵/外鍵? 以及關聯式跟外鍵的關係。
例如在前面這篇文章"實作 : 工讀生薪資管理系統"裡面,ChatGPT給了五個錯誤的版本,經過建議後才獲得最後的正確版本。
這個例子展示了如何利用知識來讓ChatGPT獲得正確結果的「模式」,如果你不具備MySQL跟程式設計的觀念,你無法引導ChatGPT產生正確的結果,這就是為何(WHY)你需要了解這些知識(WHAT),來讓生成式AI協同作業的「模式」 (HOW TO)。
因此,老師應該怎麼教MySQL資料庫知識?
(1) 從問題講起 : 學生學習要有動機,有個問題在你面前,你如何解決? 如此比較能夠引發學生學習的動機。
例如,現在有一個老人家經營的民宿,他想把民宿管理電子化,應該怎麼從MySQL資料庫下手?
為何要用MySQL? 在這篇"MySQL達人筆記 : 為何學習資料庫要從MySQL開始?"有提到,免費跟學習門檻低是兩大原因。
首先你要讓生成式AI工作,你就必須把需求文字化,這個過程就是在做需求分析。
就可以讓「把需求文字化」給大家動腦思考,當然也可以跟生成式AI一起腦力激盪,看看怎麼做可以把需求釐清楚? 然後大家來比較需求文字化的結果。
相關閱讀 : 從ER Model到資料庫的實作練習
(2) 讓生成式AI產生結果 : 需求文字化之後,就可以讓生成式AI產生資料庫設計,不同的需求如何讓生成式AI產生不同的結果?
可以再利用不同的生成式AI,例如ChatGPT、Gemini、Phind、DeepSeek等都去產生結果,再讓學生比較。
相關閱讀 : 有了人工智慧生成工具之後,MySQL教學型態會產生什麼變化?
(3) 從結果來談觀念跟語法 : 各種結果產生後,如何選擇一個最好的版本? 根據什麼原因?
這些版本中的語法各在做什麼? 為何這個版本語法要這樣寫? 很多觀念跟語法的教學就可以融入其中。
版本選定之後,再讓學生實際操作規劃資料庫,甚至於撰寫程式來實現。當然可以讓學生分組去實現不同的版本,然後最後給一個需求更新要求,看哪個版本可以最方便修改來符合這個需求更新,或是給一些臨界資料來偵錯這些資料庫。
相關實作練習 : https://www.mysql.tw/search/label/實作練習
當然以上的模式未必是最好的,後續我再提供更多方式讓MySQL資料庫教學可以更貼近現在的環境。
0 留言