研究生: |
賴思妤 Lai, Si-Yu |
---|---|
論文名稱: |
基於認知神經科學之運算思維導向程式設計視覺化輔助學習平台設計 The Design of Visualization Tools for CT-oriented Programing Based on Cognitive Neuroscience |
指導教授: |
林育慈
Lin, Yu-Tzu |
口試委員: |
林育慈
Lin, Yu-Tzu 吳正己 Wu, Cheng-Chih 張凌倩 Ling, Chian-Chang |
口試日期: | 2022/08/05 |
學位類別: |
碩士 Master |
系所名稱: |
資訊教育研究所 Graduate Institute of Information and Computer Education |
論文出版年: | 2022 |
畢業學年度: | 110 |
語文別: | 中文 |
論文頁數: | 105 |
中文關鍵詞: | 工作記憶 、運算思維 、視覺化 、程式設計 |
英文關鍵詞: | Working Memory, Computational Thinking, Visualization, Programming |
研究方法: | 準實驗設計法 、 半結構式訪談法 |
DOI URL: | http://doi.org/10.6345/NTNU202201839 |
論文種類: | 學術論文 |
相關次數: | 點閱:139 下載:23 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
近來程式設計教育備受重視,且著重運算思維的培養,但學習程式設計對於初學者來說並非易事。過去研究發現若工作記憶能力(包含:視覺空間畫版、語音迴路、中央執行功能)不足,學習者無法透過工作記憶的心像記憶與處理、語音複誦、資源統籌管理等進行演算法規劃與樣式辨識等運算思維,進一步影響程式設計的表現。為了彌補工作記憶能力的不足,本研究擬設計與發展一個視覺化程式設計輔助學習平台,輔助學生工作記憶的運作,藉以進行程式設計所需的演算法思維與樣式辨識之運算思維,進而提升程式設計表現。
本研究所設計的視覺化輔助學習平台有三種主要功能:(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.
中文部分 教育部(2018)。十二年國民基本教育課程綱要 國民中學暨普通型高級中等學校 科技領域。教育部。 邱彤. (2020). 程式理解之認知神經科學研究. 臺灣師範大學資訊教育研究所學位論文, 1-61. 胡秋帆. (2022). 高中生運算思維評量工具之發展. 英文部分 Aho, A. V. (2012). Computation and computational thinking. The computer journal, 55(7), 832-835. Anderson, E. W., Potter, K. C., Matzen, L. E., Shepherd, J. F., Preston, G. A., & Silva, C. T. (2011, June). A user study of visualization effectiveness using EEG and cognitive load. In Computer graphics forum (Vol. 30, No. 3, pp. 791-800). Oxford, UK: Blackwell Publishing Ltd. Baddeley, A., Logie, R., Bressi, S., Sala, S. D., & Spinnler, H. (1986). Dementia and working memory. The Quarterly Journal of Experimental Psychology Section A, 38(4), 603-618. Baddeley, A. D., & Hitch, G. (1974). Working memory. In Psychology of learning and motivation (Vol. 8, pp. 47-89). Academic press. Baddeley, A. (2010). Working memory. Current biology, 20(4), R136-R140. Barella, A., Valero, S., & Carrascosa, C. (2008). JGOMAS: New approach to AI teaching. IEEE Transactions on education, 52(2), 228-235. Bellstrom, P., Thoren, C. (2009). Learning how to program through visualization: A pilot study on the bubble sort algorithm. 2009 Second International Conference on the Applications of Digital Information and Web Technologies (Icadiwt 2009), 90–94. doi:10.1109/icadiwt.2009.5273943 Brainerd, C. J. (1983). Young children's mental arithmetic errors: A working-memory analysis. Child Development, 812-830. Burgsteiner, H., Kandlhofer, M., & Steinbauer, G. (2016, March). Irobot: Teaching the basics of artificial intelligence in high schools. In Proceedings of the AAAI Conference on Artificial Intelligence (Vol. 30, No. 1). Cayvaz, A., Akcay, H., & Kapici, H. O. (2020). Comparison of simulation-based and textbook-based instructions on middle school students’ achievement, inquiry skills and attitudes. International Journal of Education in Mathematics, Science and Technology, 8(1), 34-43. Chen, Y. L., Hong, Y. R., Sung, Y. T., & Chang, K. E. (2011). Efficacy of simulation-based learning of electronics using visualization and manipulation. Journal of Educational Technology & Society, 14(2), 269-277. Colaso, V., Kamal, A., Saraiya, P., North, C., McCrickard, S., & Shaffer, C. (2002). Learning and retention in data structures: A comparison of visualization, text, and combined methods. Paper presented at the Proceedings of ED-MEDIA 2002, June 24-29, Denver, Colorado, USA. Cuéllar, M. P., & Pegalajar, M. C. (2014). Design and implementation of intelligent systems with LEGO Mindstorms for undergraduate computer engineers. Computer Applications in Engineering Education, 22(1), 153-166. Curzon, P., Dorling, M., Ng, T., Selby, C., & Woollard, J. (2014). Developing computational thinking in the classroom: a framework. De Jong, T., & Van Joolingen, W. R. (1998). Scientific discovery learning with computer simulations of conceptual domains. Review of educational research, 68(2), 179-201. Diehl, S. (2007). Software visualization: visualizing the structure, behaviour, and evolution of software. Springer Science & Business Media. Eccles, J. S., & Wigfield, A. (1995). In the mind of the actor: The structure of adolescents' achievement task values and expectancy-related beliefs. Personality and social psychology bulletin, 21(3), 215-225. Eckerdal, A. and Thune ́, M. 2005. Novice Java programmers’ conceptions of “object” and “class”, and variation theory. SIGCSE Bull. 37, 3, 89–93. Estevez, J., Garate, G., Guede, J. M., & Grana, M. (2019). Using Scratch to Teach Undergraduate Students' Skills on Artificial Intelligence. arXiv preprint arXiv:1904.00296. Esteves, M., Fonseca, B., Morgado, L., & Martins, P. (2011). Improving teaching and learning of computer programming through the use of the Second Life virtual world. British Journal of Educational Technology, 42(4), 624-637. Faryniarz, J. V., & Lockwood, L. G. (1992). Effectiveness of microcomputer simulations in stimulating environmental problem solving by community college students. Journal of Research in Science Teaching, 29(5), 453-470. Fernandes, M. A. (2016). Problem‐based learning applied to the artificial intelligence course. Computer Applications in Engineering Education, 24(3), 388-399. Folker, S., Ritter, H., & Sichelschmidt, L. (2005). Processing and integrating multimodal material—the influence of color-coding. In Proceedings of the annual meeting of the Cognitive Science Society (Vol. 27, No. 27). Futschek, G. (2006, November). Algorithmic thinking: the key for understanding computer science. In International conference on informatics in secondary schools-evolution and perspectives (pp. 159-168). Springer, Berlin, Heidelberg. García-Peñalvo, F. J., & Mendes, A. J. (2018). Exploring the computational thinking effects in pre-university education. Hromkovič, J., Kohn, T., Komm, D., & Serafini, G. (2016). Examples of algorithmic thinking in programming education. Olympiads in Informatics, 10(1-2), 111-124. Garay, G. R., Tchernykh, A., Drozdov, A. Y., Garichev, S. N., Nesmachnow, S., & Torres-Martinez, M. (2017). Visualization of VHDL-based simulations as a pedagogical tool for supporting computer science education. Journal of Computational Science. Gray, C., & Mulhern, G. (1998). Age and sex-related differences in automaticity for mental addition. The Irish Journal of Psychology, 19(2-3), 386-393. Gathercole, S. E., Pickering, S. J., Knight, C., & Stegmann, Z. (2004). Working memory skills and educational attainment: evidence from national curriculum assessments at 7 and 14 years of age. Applied Cognitive Psychology, 18(1), 1-16. Good, J., & Brna, P. (2004). Program comprehension and authentic measurement: a scheme for analysing descriptions of programs. International Journal of Human-Computer Studies, 61(2), 169-185. Grivokostopoulou, F., Perikos, I., & Hatzilygeroudis, I. (2014, December). Using semantic web technologies in a web based system for personalized learning AI course. In 2014 IEEE Sixth International Conference on Technology for Education (pp. 257-260). IEEE. Gurka, J. S., & Citrin, W. (1996, September). Testing effectiveness of algorithm animation. In Proceedings 1996 IEEE Symposium on Visual Languages (pp. 182-189). IEEE. Hatano, G., & Osawa, K. (1983). Digit memory of grand experts in abacus-derived mental calculation. Cognition, 15(1-3), 95-110. Hansen, S. R., Narayanan, N. H., & Schrimpsher, D. (2000). Helping learners visualize and comprehend algorithms. Interactive Multimedia Electronic Journal of Computer-Enhanced Learning, 2(1), 10. Homer, B. D., & Plass, J. L. (2014). Level of interactivity and executive functions as predictors of learning in computer-based chemistry simulations. Computers in Human Behavior, 36, 365-375. Hromkovič, J., Kohn, T., Komm, D., & Serafini, G. (2016). Examples of algorithmic thinking in programming education. Olympiads in Informatics, 10(1-2), 111-124. Huang, W., Luo, J., Bednarz, T., & Duh, H. (2018). Making graph visualization a user-centered process. Journal of Visual Languages & Computing, 48, 1-8. Hundhausen, C., & Douglas, S. (2000, September). Using visualizations to learn algorithms: should students construct their own, or view an expert's?. In Proceeding 2000 IEEE International Symposium on Visual Languages (pp. 21-28). IEEE. Hundhausen, C. D., Douglas, S. A., & Stasko, J. T. (2002). A meta-study of algorithm visualization effectiveness. Journal of Visual Languages & Computing, 13(3), 259-290. Huppert, J., Yaakobi, J., & Lazarowitz, R. (1998). Learning microbiology with computer simulations: Students’ academic achievement by method and gender. Research in Science & Technological Education, 16(2), 231-245. Jacob, S. R., & Warschauer, M. (2018). Computational thinking and literacy. Journal of Computer Science Integration, 1(1). Jarc, D. J., Feldman, M. B., & Heller, R. S. (2000). Assessing the benefits of interactive prediction using web-based algorithm animation courseware. ACM SIGCSE Bulletin, 32(1), 377-381. Jbara, A., & Feitelson, D. G. (2017). How programmers read regular code: a controlled experiment using eye tracking. Empirical software engineering, 22(3), 1440-1477. Jensen, D., Self, B., Rhymer, D., Wood, J., & Bowe, M. (2002). A rocky journey toward effective assessment of visualization modules for learning enhancement in Engineering Mechanics. Journal of Educational Technology & Society, 5(3), 150-162. Jin, Q., Wang, D., Deng, X., Zheng, N., & Chiu, S. (2018, June). AR-Maze: a tangible programming tool for children based on AR technology. In Proceedings of the 17th ACM Conference on Interaction Design and Children (pp. 611-616). Jonassen, D. H., & Strobel, J. (2006). Modeling for meaningful learning. In Engaged learning with emerging technologies (pp. 1-27). Springer, Dordrecht. Kalyuga, S., Chandler, P., & Sweller, J. (1999). Managing split‐attention and redundancy in multimedia instruction. Applied Cognitive Psychology: The Official Journal of the Society for Applied Research in Memory and Cognition, 13(4), 351-371. Kandlhofer, M., Steinbauer, G., Hirschmugl-Gaisch, S., & Huber, P. (2016, October). Artificial intelligence and computer science in education: From kindergarten to university. In 2016 IEEE Frontiers in Education Conference (FIE) (pp. 1-9). IEEE. Kind, P., Jones, K., & Barmby, P. (2007). Developing attitudes towards science measures. International journal of science education, 29(7), 871-893. Kochlán, M., & Hodon, M. (2014, September). Open hardware modular educational robotic platform—Yrobot. In 2014 23rd International Conference on Robotics in Alpe-Adria-Danube Region (RAAD) (pp. 1-6). IEEE. Korhonen, A., & Malmi, L. (2000). Algorithm Simulation with Automatic Assessment. Paper presented at the 5th Annual ACM SIGCSE/SIGCUE Conference on Innovation and Technology in Computer Science Education (ITiCSE 2000). Helsinki, Finland. Krishnan, D. G., Keloth, A. V., & Ubedulla, S. (2017). Pros and cons of simulation in medical education: A review. Education, 5, 7. Kumar, A. N. (2004). Three years of using robots in an artificial intelligence course: lessons learned. Journal on Educational Resources in Computing (JERIC), 4(3), 2-es. Lahtinen, E., Ala-Mutka, K., & Järvinen, H. M. (2005). A study of the difficulties of novice programmers. Acm sigcse bulletin, 37(3), 14-18. Lawrence, A. W., Badre, A. M., & Stasko, J. T. (1994, October). Empirically evaluating the use of animations to teach algorithms. In Proceedings of 1994 IEEE Symposium on Visual Languages (pp. 48-54). IEEE. Linn, M. C., & Dalbey, J. (1989). Cognitive consequences of programming instruction. Studying the novice programmer, 57-81. Lye, S. Y., & Koh, J. H. L. (2014). Review on teaching and learning of computational thinking through programming: What is next for K-12?. Computers in Human Behavior, 41, 51-61. Maharani, S., Kholid, M. N., Pradana, L. N., & Nusantara, T. (2019). Problem solving in the context of computational thinking. Infinity Journal, 8(2), 109-116. Marković, M., Kostić Kovačević, I., Nikolić, O., & Nikolić, B. (2015). INSOS—educational system for teaching intelligent systems. Computer Applications in Engineering Education, 23(2), 268-276. McNally, M., Naps, T., Furcy, D., Grissom, S., & Trefftz, C. (2007). Supporting the rapid development of pedagogically effective algorithm visualizations. Journal of Computing Sciences in Colleges, 23(1), 80-90. Md. Abdul Matin, Sha Soultan Md. Oliullah, & Md. Masbaul Alam Polash. (2018). Implementation of a Customizable Algorithm Visualization Tool for E-Learning. In Proceedings of the 2018 2nd International Conference on Education and E-Learning (ICEEL 2018). Association for Computing Machinery, New York, NY, USA, 32–36. Miller, G. A. (1956). The magical number seven, plus or minus two: Some limits on our capacity for processing information. Psychological review, 63(2), 81. Milkova, E. (2005). Developing of algorithmic thinking: the base of programming. International Journal of Continuing Engineering Education and Life Long Learning, 15(3-6), 135-147. Mintz, R. (1993). Computerized simulation as an inquiry tool. Scool Science and Mathematics, 93(2), 76-80. Moreno-León, J., Robles, G., & Román-González, M. (2015). Dr. Scratch: Automatic analysis of scratch projects to assess and foster computational thinking. RED. Revista de Educación a Distancia, (46), 1-23. Moyer-Packenham, P. S., Lommatsch, C. W., Litster, K., Ashby, J., Bullock, E. K., Roxburgh, A. L., ... & Clarke-Midura, J. (2019). How design features in digital math games support learning and mathematics connections. Computers in Human Behavior, 91, 316-332. Naps, T. L., Rößling, G., Almstrum, V., Dann, W., Fleischer, R., Hundhausen, C., et al. (2003). Exploring the role of visualization and engagement in computer science education. ACM SIGCSE Bulletin, 35(2), 131-152. O'Brien, M. P., Buckley, J., & Shaft, T. M. (2004). Expectation‐based, inference‐based, and bottom‐up software comprehension. Journal of Software Maintenance and Evolution: Research and Practice, 16(6), 427-447. O'Neil, H. F., Wainess, R., & Baker, E. L. (2005). Classification of learning outcomes: Evidence from the computer games literature. The Cirriculum Journal, 16(4), 455-474. Osborne, J., Simon, S., & Collins, S. (2003). Attitudes towards science: A review of the literature and its implications. International journal of science education, 25(9), 1049-1079. Pedro, F., Subosa, M., Rivas, A., & Valverde, P. (2019). Artificial intelligence in education: Challenges and opportunities for sustainable development. Porter, R., & Calder, P. (2003, January). A pattern-based problem-solving process for novice programmers. In Proceedings of the fifth Australasian conference on Computing education-Volume 20 (pp. 231-238). Prensky, M. (2002). The Motivation of Gameplay or, the REAL 21th century learning revolution. URL http://www. marcprensky. com/writing/Prensky, 2010-1. Rudder, A., Bernard, M., & Mohammed, S. (2007, March). Teaching programming using visualization. In Proceedings of the Sixth IASTED International Conference on Web-Based Education (pp. 487-492). Russell, S., & Norvig, P. (2002). Artificial intelligence: a modern approach. Robins, A., Rountree, J., & Rountree, N. (2003). Learning and teaching programming: A review and discussion. Computer science education, 13(2), 137-172. Saraiya, P., Shaffer, C. A., McCrickard, D. S., & North, C. (2004, March). Effective features of algorithm visualizations. In Proceedings of the 35th SIGCSE technical symposium on Computer Science Education (pp. 382-386). Schack, B., Vath, N., Petsche, H., Geissler, H. G., & Möller, E. (2002). Phase-coupling of theta–gamma EEG rhythms during short-term memory processing. International Journal of Psychophysiology, 44(2), 143-163. Seehorn, D., Carey, S., Fuschetto, B., Lee, I., Moix, D., O'Grady-Cunniff, D., ... & Verno, A. (2011). CSTA K--12 Computer Science Standards: Revised 2011. ACM. Selby, C., & Woollard, J. (2013). Computational thinking: the developing definition. Shaffer, C. A., Cooper, M. L., Alon, A. J. D., Akbar, M., Stewart, M., Ponce, S., & Edwards, S. H. (2010). Algorithm visualization: The state of the field. ACM Transactions on Computing Education (TOCE), 10(3), 1-22. Shneiderman, B., & Mayer, R. (1979). Syntactic/semantic interactions in programmer behavior: A model and experimental results. International Journal of Computer & Information Sciences, 8(3), 219-238. Simmons, F. R., Willis, C., & Adams, A.-M. (2012). Different components of working memory have different relationships with different mathematical skills. Journal of Experimental Child Psychology, 111(2), 139-155. Simoňák, S. (2016, January). Algorithm visualizations as a way of increasing the quality in computer science education. In 2016 IEEE 14th international symposium on applied machine intelligence and informatics (SAMI) (pp. 153-157). IEEE. Sklar, E., Eguchi, A., & Johnson, J. (2002, June). RoboCupJunior: learning with educational robotics. In Robot Soccer World Cup (pp. 238-253). Springer, Berlin, Heidelberg. Sorva, J., Karavirta, V., & Malmi, L. (2013). A review of generic program visualization systems for introductory programming education. ACM Transactions on Computing Education (TOCE), 13(4), 1-64. Sperling, G. (1967). Successive approximations to a model for short term memory. Acta psychologica, 27, 285-292. Stone, P., Brooks, R., Brynjolfsson, E., Calo, R., Etzioni, O., Hager, G., ... & Teller, A. (2016). Artificial intelligence and life in 2030: the one hundred year study on artificial intelligence. Su, J. M., & Lin, T. W. (2018). Building a Simulated Blockly-Arduino-Based Programming Learning Tool: A Preliminary Study. In 2018 7th International Congress on Advanced Applied Informatics (IIAI-AAI) (pp. 378-381). IEEE. Sweller, J. (1994). Cognitive load theory, learning difficulty, and instructional design. Learning and instruction, 4(4), 295-312. Thomas, R., & Neilson, I. (1995). Harnessing simulations in the service of education: The interact simulation environment. Computers & Education, 25(1-2), 21-29. Tudoreanu, M. E., Wu, R., Hamilton-Taylor, A., & Kraemer, E. (2002, September). Empirical evidence that algorithm animation promotes understanding of distributed algorithms. In Proceedings IEEE 2002 Symposia on Human Centric Computing Languages and Environments (pp. 236-243). IEEE. Tversky, B., Morrison, J. B., & Betrancourt, M. (2002). Animation: can it facilitate?. International journal of human-computer studies, 57(4), 247-262. Végh, L., & Stoffová, V. (2017). Algorithm animations for teaching and learning the main ideas of basic sortings. Informatics in Education, 16(1), 121-140. Von Mayrhauser, A., & Vans, A. M. (1995). Program comprehension during software maintenance and evolution. Computer, 28(8), 44-55. Weitz, D., O’Shea, G., Zook, N., & Needham, W. (2011). Working memory and sequence learning in the Hebb digits task: Awareness is predicted by individual differences in operation span. The American journal of psychology, 124(1), 49-62. Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33-35. Yadav, A., Hong, H., & Stephenson, C. (2016). Computational thinking for all: Pedagogical approaches to embedding 21st century problem solving in K-12 classrooms. TechTrends, 60(6), 565-568. Yilmaz, R., & Argun, Z. (2018). Role of visualization in mathematical abstraction: The case of congruence concept. International Journal of Education in Mathematics, Science and Technology, 6(1), 41-57. Yoon, D. M., & Kim, K. J. (2015). Challenges and opportunities in game artificial intelligence education using Angry Birds. IEEE Access, 3, 793-804.