參考文獻 |
Ajax introduction. (n.d.). Retrieved September 5, 2023, from https://www.w3schools.
com/js/js_ajax_intro.asp
Altadmri, A., & Brown, N. C. (2015). 37 million compilations: Investigating novice pro-
gramming mistakes in large-scale student data. Proceedings of the 46th ACM tech-
nical symposium on computer science education, 522–527.
Apache friends. xampp (8.0.28). (n.d.). Retrieved September 5, 2023, from https://www.
apachefriends.org/index.html
Bannert, M. (2009). Promoting self-regulated learning through prompts. Zeitschrift für
Pädagogische Psychologie, 23(2), 139–145.
Bennedsen, J., & Caspersen, M. E. (2019). Failure rates in introductory programming: 12
years later. ACM inroads, 10(2), 30–36.
Berssanette, J. H., & de Francisco, A. C. (2021). Cognitive load theory in the context
of teaching and learning computer programming: A systematic literature review.
IEEE Transactions on Education, 65(3), 440–449.
Cabo, C. (2018). Effectiveness of flowcharting as a scaffolding tool to learn python. 2018
IEEE Frontiers in Education Conference (FIE), 1–7.
Ceja, J. M. O., & Cervantes, E. B. (2013). An epistemology for software tool design
that promotes knowledge production: Experiences with students learning computer
programming languages. 2013 Second International Conference on E-Learning and
E-Technologies in Education (ICEEE), 37–41.
Clark, D. B., Sampson, V., Weinberger, A., & Erkens, G. (2007). Analytic frameworks
for assessing dialogic argumentation in online learning environments. Educational
Psychology Review, 19, 343–374.
Collins, A., Brown, J. S., & Newman, S. E. (2018). Cognitive apprenticeship: Teaching the
crafts of reading, writing, and mathematics. In Knowing, learning, and instruction
(pp. 453–494). Routledge.
Dann, W., Cooper, S., & Pausch, R. (2001). Using visualization to teach novices recursion.
Proceedings of the 6th annual conference on Innovation and technology in computer
science education, 109–112.
da Rosa, S., & Chmiel, A. (2012). A study about students’ knowledge of inductive struc-
tures. PPIG, 7.
Endres, M., Weimer, W., & Kamil, A. (2021). An analysis of iterative and recursive prob-
lem performance. Proceedings of the 52nd ACM Technical Symposium on Computer
Science Education, 321–327.
Er, M. (1984). On the complexity of recursion in problem-solving. International Journal
of Man-Machine Studies, 20(6), 537–544.
Gal-Ezer, J., & Harel, D. (1998). What (else) should cs educators know? Communications
of the ACM, 41(9), 77–84.
Ginat, D. (2005). The suitable way is backwards, but they work forward. Journal of
Computers in Mathematics and Science Teaching, 24(1), 73–88.
Goldwasser, M., & Letscher, D. (2007). Teaching strategies for reinforcing structural re-
cursion with lists. Companion to the 22nd ACM SIGPLAN conference on Object-
oriented programming systems and applications companion, 889–896.
Gomes, A., & Mendes, A. J. (2007). Learning to program-difficulties and solutions. Inter-
national Conference on Engineering Education–ICEE, 7.
Götschi, T., Sanders, I., & Galpin, V. (2003). Mental models of recursion. Proceedings of
the 34th SIGCSE technical symposium on Computer science education, 346–350.
Grady, H. M. (2006). Instructional scaffolding for online courses. 2006 IEEE International
Professional Communication Conference, 148–152.
Harley, Z., & Harley, E. R. (2012). A wizard for e-learning computer programming.
2012 International Conference on E-Learning and E-Technologies in Education
(ICEEE), 95–98.
Henderson, P. B., & Romero, F. J. (1989). Teaching recursion as a problem-solving tool
using standard ml. ACM SIGCSE Bulletin, 21(1), 27–31.
Kahney, H. (1983). What do novice programmers know about recursion. Proceedings of
the SIGCHI conference on Human Factors in Computing Systems, 235–239.
Kahney, J. H. (1982). An in-depth study of the cognitive behaviour of novice programmers.
Open University (United Kingdom).
Kim, M. C., & Hannafin, M. J. (2011). Scaffolding problem solving in technology-enhanced
learning environments (teles): Bridging research and theory with practice. Com-
puters & Education, 56(2), 403–417.
Komm, D. (2021). Teaching recursion in high school: A constructive approach. Informatics
in Schools. Rethinking Computing Education: 14th International Conference on
Informatics in Schools: Situation, Evolution, and Perspectives, ISSEP 2021, Virtual
Event, November 3–5, 2021, Proceedings 14, 69–80.
Lee, E., Shan, V., Beth, B., & Lin, C. (2014). A structured approach to teaching recur-
sion using cargo-bot. Proceedings of the tenth annual conference on International
computing education research, 59–66.
Mbogo, C., Blake, E., & Suleman, H. (2013). A mobile scaffolding application to support
novice learners of computer programming. Proceedings of the Sixth International
Conference on Information and Communications Technologies and Development:
Notes-Volume 2, 84–87.
McCauley, R., Grissom, S., Fitzgerald, S., & Murphy, L. (2015). Teaching and learn-
ing recursive programming: A review of the research literature. Computer Science
Education, 25(1), 37–66.
McGill, T. J., & Volet, S. E. (1997). A conceptual framework for analyzing students’
knowledge of programming. Journal of research on Computing in Education, 29(3),
276–297.
Nam, D., Kim, Y., & Lee, T. (2010). The effects of scaffolding-based courseware for the
scratch programming learning on student problem solving skill. Proceedings of the
18th International Conference on Computers in Education, 723, 727.
Nielsen, H., Mogul, J., Masinter, L. M., Fielding, R. T., Gettys, J., Leach, P. J., &
Berners-Lee, T. (1999, June). Hypertext Transfer Protocol – HTTP/1.1. https:
//doi.org/10.17487/RFC2616
Nist. dictionary of algorithms and data structures. (n.d.). Retrieved October 3, 2023, from
https://xlinux.nist.gov/dads/
Nouri, J., Zhang, L., Mannila, L., & Norén, E. (2020). Development of computational
thinking, digital competence and 21st century skills when learning programming
in k-9. Education Inquiry, 11(1), 1–17.
Pea, R. D. (2018). The social and technological dimensions of scaffolding and related
theoretical concepts for learning, education, and human activity. In Scaffolding
(pp. 423–451). Psychology Press.
Pirolli, P. L., & Anderson, J. R. (1985). The role of learning from examples in the ac-
quisition of recursive programming skills. Canadian Journal of Psychology/Revue
canadienne de psychologie, 39(2), 240.
Qian, Y., & Lehman, J. (2017). Students’misconceptions and other difficulties in in-
troductory programming: A literature review. ACM Transactions on Computing
Education (TOCE), 18(1), 1–24.
Raes, A., Schellens, T., De Wever, B., & Vanderhoven, E. (2012). Scaffolding informa-
tion problem solving in web-based collaborative inquiry learning. Computers &
Education, 59(1), 82–94.
Robins, A., Rountree, J., & Rountree, N. (2003). Learning and teaching programming: A
review and discussion. Computer science education, 13(2), 137–172.
Rohl, J. S. (1980). Why recursion? In J. M. Tobias (Ed.), Language design and program-
ming methodology (pp. 71–83). Springer Berlin Heidelberg.
Sadik, O., & Ottenbreit-Leftwich, A. T. (2023). Understanding us secondary computer
science teachers’challenges and needs. Computer Science Education, 1–33.
Salleh, S. M., Shukur, Z., & Judi, H. M. (2018). Scaffolding model for efficient program-
ming learning based on cognitive load theory. Int. J. Pure Appl. Math, 118(7),
77–83.
Segal, J. (1994). Empirical studies of functional programming learners evaluating recursive
functions. Instructional Science, 22, 385–411.
Sentance, S., & Waite, J. (2017). Primm: Exploring pedagogical approaches for teaching
text-based programming in school. Proceedings of the 12th Workshop on Primary
and Secondary Computing Education, 113–114.
Spohrer, J. C., & Soloway, E. (1989). Simulating student programmers. IJCAI, 89, 543–
549.
Velázquez-Iturbide, J. Á., Pérez-Carrasco, A., & Urquiza-Fuentes, J. (2008). Srec: An
animation system of recursion for algorithm courses. Acm sigcse bulletin, 40(3),
225–229.
Voelkel, S. (2013). Combining the formative with the summative: The development of a
twostage online test to encourage engagement and provide personal feedback in
large classes. Research in Learning Technology, 21.
Watson, C., & Li, F. W. (2014). Failure rates in introductory programming revisited.
Proceedings of the 2014 conference on Innovation & technology in computer science
education, 39–44.
Wood, D., Bruner, J. S., & Ross, G. (1976). The role of tutoring in problem solving.
Journal of child psychology and psychiatry, 17(2), 89–100.
Xie, B., Loksa, D., Nelson, G. L., Davidson, M. J., Dong, D., Kwik, H., Tan, A. H.,
Hwa, L., Li, M., & Ko, A. J. (2019). A theory of instruction for introductory
programming skills. Computer Science Education, 29(2-3), 205–253.
Xmlhttprequest - web apis. (n.d.). Retrieved September 5, 2023, from https://developer.
mozilla.org/zh-TW/docs/Web/API/XMLHttpRequest
教育部智慧創新跨域人才培育計畫,大學程式設計先修檢測. (n.d.). Retrieved October
3, 2023, from https://apcs.csie.ntnu.edu.tw/ |