簡易檢索 / 詳目顯示

研究生: 吳宗翰
Wu, Tsung-Han
論文名稱: 個人訓練指導:自動發現及提供突破方案以指引陷入瓶頸的程序員
Mentored Everywhere: Discovering Breakthrough Solutions to Navigate Struggled Programmer
指導教授: 焦惠津
Jiau, Hewijin Christine
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 電腦與通信工程研究所
Institute of Computer & Communication Engineering
論文出版年: 2020
畢業學年度: 108
語文別: 英文
論文頁數: 39
中文關鍵詞: 人工智慧程式撰寫行為程式設計技巧程式設計技巧訓練
外文關鍵詞: artificial intelligence, programming behavior, programming skill, programming skill training
相關次數: 點閱:40下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 現今已經有許多線上訓練平台提供了豐富的機會,讓程序員能獨立地增進設計程式時所需要的技巧。過程中,程序員可能會陷入在訓練不如預期時,又不知怎麼調整時的狀況。學習他人成功的經驗,並從中找出適合自己的突破點是一個常見且有效的策略。當他人的經驗幫助了自己,而自己突破的經驗又幫助了其他人,一個正向的互助循環便會產生。本論文提出了一名為 AELOP 的訓練平台,利用 AI 幫助程序員善用平台所提供的資料來向他人學習, 以確保循環的建立及延續。AELOP 構築了參與訓練之程序員的訓練歷程、以群體的整體表現作為標準來衡量個別每一次的行動是否到位,最後借鏡他人的訓練歷程來找出適合個人的突破口。為驗證 AELOP 的有效性,本論文進行了幾項研究。研究結果證實了 AELOP 能有效啟發陷入瓶頸的程序員做出有效的調整以脫離瓶頸,並使其留下的經驗能讓更多人受惠。

    Numerous online training platforms provide sufficient opportunities for programmers to enhance needed programming skills all by themselves. It is common for programmers to notice that results of training is not as expected, and have no idea about how to adjust. To learn from other programmers is proved to be an effective way to make a breakthrough. When a programmer benefits from other's experience, his experiments will help another programmer out, and eventually form a mutually beneficial cycle. To develop a functional and sustainable cycle, this thesis proposes AELOP, a platform that uses AI to enable programmers to make good use of data and learn from others. AELOP construct programmers' training paths, evaluate programming behaviors with community standard, and discover suitable breakthrough solutions. Several studies are conducted to evaluate the effectiveness of AELOP. The result shows that AELOP makes programmers stay aware of their training progress, inspires struggled programmers to make effective adjustments, and collects valuable data to navigate more programmers.

    Abstract (Chinese) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : i Abstract (English) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ii Acknowledgments : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : iii 1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 2 Background and Related Work : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 2.1 Game-based programming skill training . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Training with ELOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 Arti cial Intelligence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3 AELOP : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 12 3.1 Overview of AELOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4 Discover Breakthrough Solution : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 17 4.1 Programmer training model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.2 Programming behavior assessment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.3 Solution Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5 Evaluation : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 25 5.1 Experiment Setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 5.2 Evaluation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 5.2.1 Variety and impact of programming behavior . . . . . . . . . . . . . . . . . . . 27 5.2.2 E ectiveness of Breakthrough solutions . . . . . . . . . . . . . . . . . . . . . . 29 5.2.3 Evolution of AELOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 6 Threats to Validity : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 34 7 Conclusion : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 36 References : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 37

    [1] G. R. Bergersen, D. I. K. Sjoberg, and T. Dyba. Construction and validation of an instrument for measuring programming skill. IEEE Transactions on Software Engineering, 40(12):1163-1184, Dec. 2014.
    [2] J. Bishop, R. N. Horspool, T. Xie, N. Tillmann, and J. de Halleux. Code hunt: Experience with coding contests at scale. In Proceedings of the 37th International Conference on Software Engineering, volume 2, pages 398-407, Florence, Italy, 2015.
    [3] P. Brusilovsky and C. Peylo. Adaptive and intelligent web-based educational systems. International Journal of Artificial Intelligence in Education, 13(2-4):159-172, Apr. 2003.
    [4] X. Chen and J. DeBoer. Checkable answers: Understanding student behaviors with instant feedback in a blended learning class. In Proceedings of the IEEE Frontiers in Education Conference, pages 1-5, El Paso, TX, USA, Dec. 2015.
    [5] T. Crow, A. Luxton-Reilly, and B. Wuensche. Intelligent tutoring systems for programming education: A systematic review. In Proceedings of the 20th Australasian Computing Education Conference, pages 53-62, Brisbane, Queensland, Australia, Jan. 2018.
    [6] T. Daradoumis, R. Bassi, F. Xhafa, and S. Caballe. A review on massive e-learning (mooc) design, delivery and assessment. In Proceedings of the 8th International Conference on P2P, Parallel, Grid, Cloud and Internet Computing, pages 208-213, Oct. 2013.
    [7] P. Doerschuk, V. Juarez, J. Liu, D. Vincent, K. Doss, and J. Mann. Introducing programming concepts through video game creation. In Proceedings of the IEEE Frontiers in Education Conference, pages 523-529, 2013.
    [8] J. Escobar-Avila, D. Venuti, M. Di Penta, and S. Haiduc. A survey on online learning preferences for computer science and programming. In Proceedings of the 41st International Conference on Software Engineering: Software Engineering Education and Training, pages 170-181, Montreal, Quebec, Canada, 2019.
    [9] M. Esteves and A. Mendes. A simulation tool to help learning of object oriented programming basics. volume 2, page F4C-7, Savannah, GA, USA, Nov. 2004.
    [10] S. Fauvel, H. Yu, C. Miao, L. Cui, H. Song, L. Zhang, X. Li, and C. Leung. Artificial intelligence powered moocs: A brief survey. In Proceedings of the IEEE International Conference on Agents, pages 56-61, 2018.
    [11] T. Huang. Strategy game programming projects. In Proceedings of the 6th Annual CCSC Northeastern Conference on The Journal of Computing in Small Colleges, pages 205-213, Middlebury, Vermont, USA, 2001.
    [12] H. C. Jiau, J. C. Chen, and K. F. Ssu. Enhancing self-motivation in learning programming using game-based simulation and metrics. IEEE Transations on Education, 52(4):555-562, Nov. 2009.
    [13] B. Jong, C. H. Lai, Y. T. Hsia, T. W. Lin, and C. Y. Lu. Using game-based cooperative learning to improve learning motivation: A study of online game use in an operating systems course. IEEE Transactions on Education, 56:183-190, May 2013.
    [14] T. Kohonen. The self-organizing map. Proceedings of the IEEE, 78(9):1464-1480, Sept. 1990.
    [15] C. Koppe, M. van Eekelen, and S. Hoppenbrouwers. Improving student group work with collaboration patterns: A case study. In Proceedings of the 37th International Conference on Software Engineering, volume 2, pages 303-306, Florence, Italy, 2015.
    [16] J. H. Kuo, T. H. Wu, H. B. Ye, and H. C. Jiau. A competitive platform for continuous programming skill enhancement. In Proceedings of the 28th Annual International Conference on Computer Science and Software Engineering, pages 30-39, Markham, Ontario, Canada, 2018.
    [17] R. Lawrence. Teaching data structures using competitive games. IEEE Transactions on Education, 47:459-466, Dec. 2004.
    [18] N. T. Le, S. Strickroth, S. Gross, and N. Pinkwart. A review of AI-supported tutoring approaches for learning programming. Advanced Computational Methods for Knowledge Engineering, 479:267-279, Jan. 2013.
    [19] C. H. Lin, S. H. Huang, J. L. Shih, A. Covaci, and G. Ghinea. Game-based learning effectiveness and motivation study between competitive and cooperative modes. In Proceedings of the IEEE 17th International Conference on Advanced Learning Technologies, pages 123-127, Timis, oara, Romania, July 2017.
    [20] M. MacLaurin. Kodu: End-user programming and design for games. In Proceedings of the 4th International Conference on Foundations of Digital Games, pages xviii-xix, Orlando, Florida, Apr. 2009.
    [21] M. B. MacLaurin. The design of kodu: A tiny visual programming language for children on the xbox 360. ACM SIGPLAN Notices, 46(1):241-246, Jan. 2011.
    [22] S. Meliana and D. Nurjanah. Adopting good-learners' paths in an intelligent tutoring system. In Proceedings of the IEEE International Conference on Teaching, Assessment, and Learning for Engineering, pages 877-882, Wollongong, NSW, Australia, Dec. 2018.
    [23] P. R. Pintrich. The role of motivation in promoting and sustaining self-regulated learning. Internation Journal of Educational Research, 31:459-470, 1999.
    [24] P. Pirolli and S. Card. The sensemaking process and leverage points for analyst technology as identified through cognitive task analysis. In Proceedings of
    International Conference on Intelligence Analysis, pages 2-4, Jan. 2005.
    [25] K. Rivers and K. Koedinger. Data-driven hint generation in vast solution spaces: a self-improving python programming tutor. International Journal of Artificial Intelligence in Education, 27:37-64, Oct. 2015.
    [26] J. Robertson and J. Good. Story creation in virtual game worlds. Communication of the ACM, 48(1):61-65, Jan. 2005.
    [27] A. Serrano-Laguna, J. Torrente, B. Manero, and B. Fernandez-Manjon. Building a scalable game engine to teach computer science languages. IEEE Revista Iberoamericana de Tecnologias del Aprendizaje, 10(4):253-261, Nov. 2015.
    [28] N. Soundarajan, S. Joshi, and R. Ramnath. Collaborative and cooperative-learning in software engineering courses. In Proceedings of the 37th International Conference on Software Engineering, volume 2, pages 319-322, Florence, Italy, 2015.
    [29] J. Stolk, R. Martello, F. Olin, K. Koehler, K. Chen, and R. Herter. Well, that didn't work: A troubled attempt to quantitatively measure engineering students' lifelong learning development over two years of college. In Proceedings of the IEEE
    Frontiers in Education Conference, pages 1-8, Madrid, ES, Oct. 2014.
    [30] T. Stonier. The Evolution of Machine Intelligence, pages 107-133. Springer London, London, 1992.
    [31] P. H. Valle, A. Toda, E. Barbosa, and J. Maldonado. Educational games: A contribution to software testing education. In Proceedings of the IEEE Frontiers in Education Conference, pages 1-8, Indianapolis, India, Oct. 2017.
    [32] X. Wu, X. Zhu, G. Wu, and W. Ding. Data mining with big data. IEEE Transactions on Knowledge and Data Engineering, 26(1):97-107, 2014.
    [33] X. Xia, Z. Wan, P. S. Kochhar, and D. Lo. How practitioners perceive coding proficiency. In Proceedings of the 41st International Conference on Software Engineering, pages 924-935, Montreal, Quebec, Canada, 2019.
    [34] Z. Zhou, X. Chen, E. Li, L. Zeng, K. Luo, and J. Zhang. Edge intelligence: Paving the last mile of artificial intelligence with edge computing. Proceedings of the IEEE, 107(8):1738-1762, Aug. 2019.
    [35] B. Zimmerman and M. Martinez-Pons. Development of a structured interview for assessing student use of self-regulated learning strategies. American Educational Research Journal, 23:614-628, Dec. 1986.
    [36] S. Zrigui and A. A. Moussa. Automatic insertion of subject content in domain knowledge of an intelligent tutoring system. In Proceesings of the Intelligent Systems and Computer Vision, pages 1-5, 2017.

    無法下載圖示 校內:2025-09-01公開
    校外:不公開
    電子論文尚未授權公開,紙本請查館藏目錄
    QR CODE