Author: |
陳佳宜 Chen, Jia-Yi |
---|---|
Thesis Title: |
高學習成就學生程式設計學習研究 A study on computer programming learning by high achievement students |
Advisor: | 李忠謀 |
Degree: |
碩士 Master |
Department: |
資訊工程學系 Department of Computer Science and Information Engineering |
Thesis Publication Year: | 2017 |
Academic Year: | 105 |
Language: | 中文 |
Number of pages: | 101 |
Keywords (in Chinese): | 程式設計學習 、高學習成就學生 |
Keywords (in English): | programming learning, high achievement students |
DOI URL: | https://doi.org/10.6345/NTNU202201938 |
Thesis Type: | Academic thesis/ dissertation |
Reference times: | Clicks: 150 Downloads: 42 |
Share: |
School Collection Retrieve National Library Collection Retrieve Error Report |
程式設計已是各國資訊教育重點課程之一,許多程式設計教學策略因應而生,然而,多數針對提高學習動機而設計的教材,對於提升高學習成就學生的學習成效幫助有限。因此,本研究探討主科學習成就高的學生於程式設計學習上的表現,以期能提出確切提升高學習動機學生學習成效之學習策略。實驗對象為國中教育會考PR值95以上之女校高中生,以班級為單位隨機分為實驗組與控制組。實驗組採取先學習程式設計概念再培養實作能力的教學模式,控制組則採取傳統講述型教學模式。在先學習程式設計概念再培養實作能力的教學模式中,使用視覺化程式設計工具以輔助學生專注於程式設計概念的學習,並於程式設計實作能力階段,先讓學生聚焦於學習語法,再進行程式設計問題解決的練習。而傳統講述型教學模式則採用一般高中生學習程式設計的模式,也就是同時學習程式設計概念與程式設計語法。
實驗組與控制組於期中與期末進行考核,考核內容主要為評估各組學生程式設計概念以及程式設計實作能力的差異。研究結果顯示,採用先學習程式設計概念再培養實作能力的教學模式,對於高中主科學習成就高的學生,無論是在程式設計概念的理解或程式設計實作能力的培養,皆有良好的效果,且相較於採用傳統講述式教學模式的學生,更能有效降低班級學生的學習落差。
Computer programming is one of the key courses of secondary education in various countries. However, most of the learning strategies are limited in improving high achievement students’ learning performance. Therefore, this study focused on programming learning by high achievement students, so as to propose a learning strategy to improve the learning performance of them. We select 272 female high school students who have great performance on Comprehensive Assessment Program for Junior High School Students. They were randomly divided into the experimental group and the control group. The experimental group adopts the strategy of learning programming concepts before programming skills that uses visual programming tools to focus on programming concepts, and then in order to avoid syntax error, they learn programming syntax before coding. The control group adopts the traditional lecture method that is learning programming concepts and syntax at the same time.
There are two assessment to examine the differences between the two groups of students in programming concepts and programming skills. The results show that the students who adopt the strategy of learning programming concepts before programming skills has better learning performance in both of programming concepts and programming skills. Also, it is more effective in reducing the learning achievement gap of students.
英文文獻
Australian Curriculum, Assessment, Reporting Authority (2013a). Draft Australian curriculum technologies.
Australian Curriculum, Assessment, Reporting Authority (2013b). General capabilities in the Australian curriculum.
Budny, D., Lundz, L., Vipperman, J., & If, J. L. P. (2002). Four Steps to Teaching C Programming. Frontiers in Education, 2002. 32nd Annual, Session F1G, 2-6.
Brusilovsky, P., Calabrese, E., Hvorecky, J., Kouchnirenko, A., & Miller, P. (1997). Mini languages: A Way to Learn Programming Principles. Education and Information Technologies, 2(1), 65-83.
Cardellini, L. (2002). An Interview with Richard M. Felder. Journal of Science Education 3(2), 62-65.
Carl, C. (2001). Computing Curricula 2001: Computer Science.
Carlisle, M. C., Wilson, T. A., Humphries, J. W., & Hadfield, S. M. (2005). Raptor: A Visual Programming Environment for Teaching Algorithmic Problem Solving. ACM SIGCSE Bulletin, 37, 176. http://doi.org/10.1145/1047124.1047411
Cooper, S., Dann, W., & Pausch, R. (2000). Alice: a 3-D tool for introductory programming concepts. Journal of Computing Sciences in Colleges, 15, 107-116. http://doi.org/10.1145/1953163.1953243
Code.org. (2017). Hour of Code website. Retrieved from http://code.org/learn
Computer Science Teachers Association. (2011). CSTA K-12 computer science standards. The ACM K-12 Education Task Force.
CThinking. (2016). CThinking-Computational Thinking Retrieved from http://ct2prog.csie.ntnu.edu.tw/
Deek, F. P. (1999). The Software Process : A Parallel Approach through Problem Solving and Program Development. Computer Science Education, 9(1), 43-70.
Developers, G. (n.d.). Blockly. Retrieved from https://developers.google.com/blockly/
Einhorn, S. (2012). MicroWorlds, Computational Thinking, and 21st Century Learning.
Fowler, L., Allen, M., Armarego, J., & Mackenzie, J. (2000). Learning styles and CASE tools in Software Engineering. 9th Annual Teaching Learning Forum, 1-10.
Frederick, W. B. L., & Watson, C. (2011). Game-based concept visualization for learning programming. MTDL’11: Proceedings of the Third International ACM Workshop on Multimedia Technologies for Distance Learning, 37-42. http://doi.org/10.1145/2072598.2072607
Gal-Ezer, J., Beeri, C., Harel, D., & Yehudai, A. (1995). A high school program in computer science. Computer, 28(10), 73-80.
Gouws, L. A., Bradshaw, K., & Wentworth, P. (2013). Computational thinking in educational activities. Proceedings of the 18th ACM Conference on Innovation and Technology in Computer Science Education - ITiCSE’13, 10. http://doi.org/10.1145/2462476.2466518
Green, T. R. G., & Petre, M. (1996). Usability Analysis of Visual Programming Environments: A “Cognitive Dimensions” Framework. Journal of Visual Languages & Computing, 7(2), 131-174. http://doi.org/10.1006/jvlc.1996.0009
Grover S., & Roy P. (2013). Computational Thinking in K-12 : A Review of the State of the Field. Educational Researcher, 42(1), 38-43. http://doi.org/10.3102/0013189X12463051
Honig, W. L. (2013). Teaching and assessing programming fundamentals for non majors with visual programming. Proceedings of the 18th ACM Conference on Innovation and Technology in Computer Science Education - ITiCSE’13, 40. http://doi.org/10.1145/2462476.2462492
Ismail, M. N., Ngah, N. A., & Umar, I. N. (2010). Instructional strategy in the teaching of computer programming: A need assessment analyses. Turkish Online Journal of Educational Technology, 9(2), 125-131.
Kelleher, C., & Pausch, R. (2005). Lowering the Barriers to Programming: a survey of programming environments and languages for novice programmers. Science, 37(2), 83-137. http://doi.org/10.1145/1089733.1089734
Kessler, C. M., & Anderson, J. R. (1986). Learning flow of control: Recursive and iterative procedures. Human-Computer Interaction, 2(2), 135-166. http://doi.org/10.1207/s15327051hci0202_2
Kölling, M. (2010). The Greenfoot Programming Environment. ACM Transactions on Computing Education, 10(4), 1-21. http://doi.org/10.1145/1868358.1868361
Li, K. C., Wang, F. L., Yuen, K. S., Cheung, S. K. S., & Kwan, R. (2012). Engaging Learners Through Emerging Technologies. Communications in Computer and Information Science (Vol. 302). http://doi.org/10.1007/978-3-642-31398-1
Li, Y. (2016). Teaching programming based on Computational Thinking. 2016 IEEE Frontiers in Education Conference (FIE), 1-7. http://doi.org/10.1109/FIE.2016.7757408
Linn, M. C. (1985). The Cognitive Consequences of Programming Instruction in Classrooms. Educational Researcher, 14(5), 14-29. http://doi.org/10.3102/0013189X014005014
Linn, M. C., & Clancy, M. J. (1992). The case for case studies of programming problems. Communications of the ACM, 35(3), 121-132. http://doi.org/10.1145/131295.131301
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. http://doi.org/10.1016/j.chb.2014.09.012
Maloney, J., Resnick, M., & Rusk, N. (2010). The Scratch programming language and environment. ACM Transactions on Computing Education, 10(4), 1-15. http://doi.org/10.1145/1868358.1868363.http
Matsuzawa, Y., Ohata, T., Sugiura, M., & Sakai, S. (2015). Language Migration in non-CS Introductory Programming through Mutual Language Translation Environment Basic Function and Interface. 46th ACM Technical Symposium on Computer Science Education, 185-190.
Navarro-Prieto, R., & Canas, J. J. (2001). Are Visual Programming Languages Better? The Role of Imagery in Program Comprehension. International Journal of Human-Computer Studies, 54(6), 799-829. http://doi.org/10.1006/ijhc.2000.0465
Paliokas, I., Arapidis, C., & Mpimpitsos, M. (2011). PlayLOGO 3D: A 3D interactive video game for early programming education: Let LOGO be a game. Proceedings - 2011 3rd International Conferenceon Games and Virtual Worlds for Serious Applications, VS-Games 2011, 24-31. http://doi.org/10.1109/VS-GAMES.2011.10
Pears, A., Seidman, S., Malmi, L., Mannila, L., Adams, E., Bennedsen, J., Paterson, J. (2007). A survey of literature on the teaching of introductory programming. SIGCSE Bulletin, 39(4), 204-223. http://doi.org/10.1080/08993400500150747
Pintrich, P. R., Smith, D. A. F., Teresa Garcia, A., & McKeachie, W. J. (1991). A Manual for the Use of the Motivated Strategies for Learning Questionnaire.
Puhlmann, H. (2008). Grundsätze und Standards für die Informatik in der Schule. Bildungsstandards Informatik für die Sekundarstufe I.Beilage zu LOG IN, 150/151.
Robins, A., Rountree, J., Rountree, N., Robins, A., Rountree, J., & Rountree, N. (2003). Learning and Teaching Programming: A Review and Discussion Learning and Teaching Programming : A Review, 3408, 37-41. http://doi.org/10.1076/csed.13.2.137.14200
Saito, D., Washizaki, H., & Fukazawa, Y. (2016). Analysis of the Learning Effects between Text-based and Visual-based Beginner Programming Environments. 2016 IEEE 8th International Conference, (Engineering Education), 208-213.
Sajana, A. (2015). An interactive serious game via visualization of real life scenarios to learn programming concepts.
Sanders, D., & Dorn, B. (2003). Classroom experience with Jeroo. Journal of Computing Sciences in Colleges, 308-316. Retrieved from http://dl.acm.org/citation.cfm?id=767644
Shackelford, R., & Jr, R. L. (1997). Introducing computer science fundamentals before programming. Proceedings Frontiers in Education 1997 27th Annual Conference. Teaching and Learning in an Era of Change (1997), 285-289. http://doi.org/10.1109/FIE.1997.644858
Thomas, L., Ratcliffe, M., Woodbury, J., & Jarman, E. (2002). Learning styles and performance in the introductory programming sequence. ACM SIGCSE Bulletin, 34, 33. http://doi.org/10.1145/563517.563352
Tsukamoto, H., Takemura, Y., Oomori, Y., Ikeda, I., Nagumo, H., Monden, A., & Matsumoto, K. (2016). Textual vs. Visual Programming Languages in Programming Education for Primary Schoolchildren.
Wang, H. (2014). Effects of an Integrated Scratch and Project-based Learning Approach on the Learning Achievements of Gifted Students in Computer Courses, (3). http://doi.org/10.1109/IIAI-AAI.2014.85
Xinogalos, S. (2012). An evaluation of knowledge transfer from microworld programming to conventional programming. Journal of Educational Computing Research, 47(3), 251-277.
Yen, C.-Z., Wu, P.-H., & Lin, C.-F. (2012). Analysis of expert's and novice's thinking process. Engaging Learners through Emerging Technologies, Communication in Computer and Information Science, 302, 122-134.
中文文獻
大學程式設計先修檢測(APCS)(2017)。大學程式設計先修檢測 (Advanced Placement Computer Science)。http://apcs.csie.ntnu.edu.tw/
文部科学省(2008)。中学校学習指導要領解説。
文部科学省(2009)。高等学校学習指導要領。
林依潔(2017)。從程式設計概念至程式設計實作之教學研究。
林維璋(2014)。系統與自我導向的Scratch學習者之學習自願研究。
林瓊甄(2006)。 適性化e-Learning教材發展之研究。
教育部(2016)。第三屆資訊國力發展論壇報告資訊軟體人力向下扎根與培育。
國家教育研究院(2014)。十二年國民基本教育科技領域課程綱要草案.
國家教育研究院課程及教學研究中心(2017)。新課綱「程式設計」,學邏輯解問題。
程式設計合作學習平台(2017)。高瞻計畫 ─ 高中資訊科學創新學習程式設計合作學習平台。http://join-and-joy.appspot.com/