透過您的圖書館登入
IP:18.224.37.68
  • 學位論文

基於認知神經科學之運算思維導向程式設計視覺化輔助學習平台設計

The Design of Visualization Tools for CT-oriented Programing Based on Cognitive Neuroscience

指導教授 : 林育慈
若您是本文的作者,可授權文章由華藝線上圖書館中協助推廣。

摘要


近來程式設計教育備受重視,且著重運算思維的培養,但學習程式設計對於初學者來說並非易事。過去研究發現若工作記憶能力(包含:視覺空間畫版、語音迴路、中央執行功能)不足,學習者無法透過工作記憶的心像記憶與處理、語音複誦、資源統籌管理等進行演算法規劃與樣式辨識等運算思維,進一步影響程式設計的表現。為了彌補工作記憶能力的不足,本研究擬設計與發展一個視覺化程式設計輔助學習平台,輔助學生工作記憶的運作,藉以進行程式設計所需的演算法思維與樣式辨識之運算思維,進而提升程式設計表現。 本研究所設計的視覺化輔助學習平台有三種主要功能:(1) 流程視覺化-透過視覺化的流程與架構標示,幫助學生產生程式流程的視覺心像,並統整程式執行的各項資料,以掌握演算法邏輯與流程樣式。(2) 模擬執行-透過程式模擬執行讓學生可透過修改輸入並觀察輸出的變化統整程式執行資訊,以了解程式的流程,並歸納演算規則。 (3) 程式解釋-透過程式解釋幫助學生進行程式碼內容的隱內複誦,以進一步了解程式的演算法流程。 本研究透過準實驗研究法驗證所發展的視覺化輔助學習平台的效益,實驗對象為新北市某高中修習資訊科技概論課程的二年級文組生,實驗組31人使用視覺化輔助平台學習,控制組32人則授以傳統式講述式教學。研究資料蒐集自程式設計學習成就測驗、學習態度問卷、工作記憶測驗、運算思維能力測驗、訪談等資料,並進行分析。 研究結果發現:在學習程式設計時,學習者對於程式理解時需記憶其中的變數變化、整合程式資訊,以及想像程式流程之視覺心像(視覺空間畫版)皆感到困難。在進行程式設計教學之後,採用運算思維導向程式設計視覺化輔助學習平台設計的實驗組學生在程式設計的能力上表現優於採用傳統講述式教學的控制組學生,亦即,藉由視覺化平台的輔助,可以提升程式設計能力。此外,從平台各功能使用率與程式設計進步幅度相關性、平台有效性比例以及訪談結果來看,「流程視覺化」與「模擬執行」能顯著輔助學生的視覺空間畫版以及中央執行功能,進而提升其程式設計能力。而從學生訪談結果可發現,透過「流程視覺化」中「變數記憶區」視覺化圖解能輔助學生視覺空間畫版的缺陷,引導學生想像程式執行的邏輯;透過「變數記憶區」變數的改變,能輔助學生中央執行功能統整程式資訊的概念。「模擬執行」功能則能夠藉由觀察「變數記憶區」中程式輸入與輸出的對應來統整程式邏輯的規律,進而輔助學生中央執行功能資料整合的能力;視覺化圖解以及程式變數的改變,則能幫助學生抽象化出程式概念。 除了程式設計能力的提升,實驗結果也顯示:採用視覺化輔助程式設計學習比傳統式講述式教學更能增加學生學習程式設計的自我效能。

並列摘要


Previous research have found that working memory (including: visual-spatial, phonological loop, and central executive function) plays an important role in programming. The function of mental imagery, subvocal rehearsal, and resource management of working memory assists the operation of computational thinking such as algorithmic thinking and pattern recognition. To help foster students’ computational thinking and programming ability, this research designs and develops a visualization platform based on the requirements of working memory operation. The proposed visualization learning platform consists four major functions: (1) Program logic visualization – illustrate the logic flow by marking the program structure and showing the execution flow to help generate a mental imagery , and integrate the various information required during programming; (2) Execution simulation – simulate the execution of the program, by which students can find integrate program execution information by modifying the values of the input variables and observing the changes of the values of the output variables, so as to understand the logic of the program and recognize the algorithmic patterns; (3) Code explanation – provide the explanation of the syntactic and semantic information of the program to help students understand more about the program logic. The participants of the experiment are the second-year students of a high school in New Taipei City. The course is Introduction to Information Technology. There are 31 participants in the experimental group (learned with the visualization learning platform) and 32 participants in the control group (taught by traditional instruction). Research data is collected from the programming learning achievement test, the learning attitude questionnaire, the working memory test, the computational thinking ability test, and the interview. Students’ learning achievements and attitude are then compared between the experimental group and the control group. The research findings are as the following: (1) The experimental group who adopted the visualization learning platform had higher programming achievement than the control group. By using the platform, students can grasp the program logic and recognize the algorithmic patterns by observing the visual guidance and testing the program using simulation. (2) The students who used the visualization learning platform had higher self-efficacy than those who were taught with traditional lectures. This might be because students were more confident in programming when they could grasp the program logic better with the visualization learning platform.

延伸閱讀