Algorithm-program visualization model : An intergrated software visualzation to support novices' programming comprehension

Computer programming is the essential foundation for the other basic skills in Information Technology knowledge areas. Success in this field requires complex knowledge and skill. Mostly, conventional programming courses have been delivered based on the programming textbooks with professional develop...

Full description

Saved in:
Bibliographic Details
Main Author: Affandy
Format: Thesis
Language:English
English
Published: 2015
Subjects:
Online Access:http://eprints.utem.edu.my/id/eprint/16766/1/Algorithm-Program%20Visualization%20Model%20%3B%20An%20Intergrated%20Software%20Visualzation%20To%20Support%20Novices%27%20Programming%20Comprehension.pdf
http://eprints.utem.edu.my/id/eprint/16766/2/Algorithm-program%20visualization%20model%20%20An%20intergrated%20software%20visualzation%20to%20support%20novices%27%20programming%20comprehension.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
id my-utem-ep.16766
record_format uketd_dc
institution Universiti Teknikal Malaysia Melaka
collection UTeM Repository
language English
English
advisor Herman, Nanna Suryana

topic Q Science (General)
QA Mathematics
QA76 Computer software
spellingShingle Q Science (General)
QA Mathematics
QA76 Computer software
Affandy
Algorithm-program visualization model : An intergrated software visualzation to support novices' programming comprehension
description Computer programming is the essential foundation for the other basic skills in Information Technology knowledge areas. Success in this field requires complex knowledge and skill. Mostly, conventional programming courses have been delivered based on the programming textbooks with professional developer tools which focus on the syntax or semantic through the coding task. The role of Software Visualization (SV) has been involved to overcome the complexity and problems in the learning programming. It represents the abstractness of the program in graphical views or illustrations of its entities. Nevertheless, the outcome of the learning still remains poor. Through multi-methodological approach, this research aimed to improve the effectiveness of the visualization as the program comprehension tool. It is found that the interrelated tasks in the programming process, with its various abstractions, and timing in delivering the feedback, need to be addressed with the equal attention in learning to program. Taking into account from those main issues, this study introduces the new model of integrated algorithm-program visualization (ALPROV) for developing program comprehension tool. This model is then to be used in the prototype tool development that is called 3De-ALPROV (Design Development Debug – Algorithm Program Visualization). The efficacy evaluation of the prototype is based on pre- and post- test of the students’ programming performance. The programming performances from the treatment and control group are compared to analyze the effect of using the proposed tool in learning programming. Respondents are first-year bachelor students who lack of programming knowledge and experience.Analysis proved that using the program comprehension tool, which has been developed using integrated ALPROV model significantly improved the treatment group’s programming performance. Conducting other experiments as the extended study, such as seek for a larger group of respondents, conduct the experiments throughout the necessary period, and use various methods for programming assessment and analysis may improve the findings of this research.
format Thesis
qualification_name Doctor of Philosophy (PhD.)
qualification_level Doctorate
author Affandy
author_facet Affandy
author_sort Affandy
title Algorithm-program visualization model : An intergrated software visualzation to support novices' programming comprehension
title_short Algorithm-program visualization model : An intergrated software visualzation to support novices' programming comprehension
title_full Algorithm-program visualization model : An intergrated software visualzation to support novices' programming comprehension
title_fullStr Algorithm-program visualization model : An intergrated software visualzation to support novices' programming comprehension
title_full_unstemmed Algorithm-program visualization model : An intergrated software visualzation to support novices' programming comprehension
title_sort algorithm-program visualization model : an intergrated software visualzation to support novices' programming comprehension
granting_institution Universiti Teknikal Malaysia Melaka.
granting_department Faculty of Information and Communication Technology
publishDate 2015
url http://eprints.utem.edu.my/id/eprint/16766/1/Algorithm-Program%20Visualization%20Model%20%3B%20An%20Intergrated%20Software%20Visualzation%20To%20Support%20Novices%27%20Programming%20Comprehension.pdf
http://eprints.utem.edu.my/id/eprint/16766/2/Algorithm-program%20visualization%20model%20%20An%20intergrated%20software%20visualzation%20to%20support%20novices%27%20programming%20comprehension.pdf
_version_ 1747833890662252544
spelling my-utem-ep.167662022-04-20T10:58:57Z Algorithm-program visualization model : An intergrated software visualzation to support novices' programming comprehension 2015 Affandy Q Science (General) QA Mathematics QA76 Computer software Computer programming is the essential foundation for the other basic skills in Information Technology knowledge areas. Success in this field requires complex knowledge and skill. Mostly, conventional programming courses have been delivered based on the programming textbooks with professional developer tools which focus on the syntax or semantic through the coding task. The role of Software Visualization (SV) has been involved to overcome the complexity and problems in the learning programming. It represents the abstractness of the program in graphical views or illustrations of its entities. Nevertheless, the outcome of the learning still remains poor. Through multi-methodological approach, this research aimed to improve the effectiveness of the visualization as the program comprehension tool. It is found that the interrelated tasks in the programming process, with its various abstractions, and timing in delivering the feedback, need to be addressed with the equal attention in learning to program. Taking into account from those main issues, this study introduces the new model of integrated algorithm-program visualization (ALPROV) for developing program comprehension tool. This model is then to be used in the prototype tool development that is called 3De-ALPROV (Design Development Debug – Algorithm Program Visualization). The efficacy evaluation of the prototype is based on pre- and post- test of the students’ programming performance. The programming performances from the treatment and control group are compared to analyze the effect of using the proposed tool in learning programming. Respondents are first-year bachelor students who lack of programming knowledge and experience.Analysis proved that using the program comprehension tool, which has been developed using integrated ALPROV model significantly improved the treatment group’s programming performance. Conducting other experiments as the extended study, such as seek for a larger group of respondents, conduct the experiments throughout the necessary period, and use various methods for programming assessment and analysis may improve the findings of this research. 2015 Thesis http://eprints.utem.edu.my/id/eprint/16766/ http://eprints.utem.edu.my/id/eprint/16766/1/Algorithm-Program%20Visualization%20Model%20%3B%20An%20Intergrated%20Software%20Visualzation%20To%20Support%20Novices%27%20Programming%20Comprehension.pdf text en public http://eprints.utem.edu.my/id/eprint/16766/2/Algorithm-program%20visualization%20model%20%20An%20intergrated%20software%20visualzation%20to%20support%20novices%27%20programming%20comprehension.pdf text en validuser https://plh.utem.edu.my/cgi-bin/koha/opac-detail.pl?biblionumber=96193 phd doctoral Universiti Teknikal Malaysia Melaka. Faculty of Information and Communication Technology Herman, Nanna Suryana 1. ACM, 2012. The 2012ACM Computing Classification System.[online] Available at: http://www.acm.org/about/class/2012 [Accessed on 20 June 2013]. 2. Affandy,and Suryana, N., 2012.Integrated Algorithm-Program Visualization: a Novel Approach of Software Visualization Development. Mobile Learning, Applications, and Services (mobilcase), Melaka, Malaysia, 2012. 3. Ahmadzadeh, M., Elliman, D., Higgins, C., 2014. An Analysis of Patterns of Debugging Among Novice.ACM SIGCSE Bulletin, 37 (3), pp. 84–88. 4. Ala-Mutka and Kirsti, M., 2005. A Survey of Automated Assessment Approaches for Programming Assignments. Computer Science Education. 15 (2), pp. 83–102. 5. Algoviz.org, 2010. ALGOVIZ: The Algorithm Visualization Portal. [online] Available at http://www.algoviz.org [Accesed on 14 April 2011] 6. Atkinson, R.C. and Shiffrin, R. M., 1968. Human Memory: A Proposed System and its Control Processes. In The Psychology of Learning and Motivation: Advances in Research and Theory. (K.W. Spence; J.T. Spence), pp. 89–195, Academic Press. 7. Backerman, R.and Sherman, D.,1998. Sorting Out Sorting: A Case Study of Software Visualization for Teaching Computer Science.In Software Visualization: Programming as a Multimedia Experience,(Stasko, John), pp. 369–381. MIT Press. 8. Baeker, R. M. and Marcus, A., 1989. Human Factors and Typography for More Readable Programs. New York: ACM. 9. Bartlett, J. E., Kotrlik, J. W., Higgins, C., 2001. Organizational Research: Determining Appropriate Sample Size in Survey Research. Information Technology, Learning and Performance. 19 (1), pp. 43–50. 10. Basri, S. and O’Connor, R. V., 2011. Towards an Understanding of Software Development Process Knowledge in Very Small Companies. In: Informatics Engineering and Information Science. (Manaf, A. A., Sahibuddin, S., Ahmad, R.) Kuala Lumpur, pp. 62–71, Springer Berlin Heidelberg. 11. Bennedsen, J and Caspersen, M.E., 2005. Revealing the programming process. ACM SIGCSE Bulletin, 37 (1), pp. 186–190. 12. Bennedsen, J. and Caspersen, M.E., 2008. Exposing the Programming Process. In: Reflection on the Teaching of Programming - Methods and Implementations,(Jens Bennedsen; Caspersen, Michael E.; Kölling, Michael), pp 6-16, Springer Berlin Heidelberg. 13. Bennedsen, J, Caspersen, M.E., Kölling, M., 2008.Reflections on the Teaching of Programming: Methods and Implementations. Berlin: Springer Berlin Heidelberg 14. Bennedsen, J. and Caspersen, M.E., 2008. Abstraction Ability as an Indicator of Success for Learning Computing Science.Proceeding of the Fourth International Workshop on Computing Education Research. pp. 15–26. 15. Berlowitz, J., 2014. Sample Size Considerations - Research Resources. [online] Available at: http://research.familymed.ubc.ca/research-resources/ [Accessed on May 5th 2014]. 16. Bestiario, 2009.Videosphere an Audiovisual Knowledge Network. [online] Available at: http://www.bestiario.org/research/videosphere/ [Accessed on November 6th 2012]. 17. Bill, K., 2000.The Language ListCollected Information On About 2500 Computer Languages, Past and Present.[online] Available at: http://people.ku.edu/~nkinners/LangList/Extras/langlist.htm [Accessed on June 6th 2010]. 18. Bills, D.P., and Biles, J.A., 2005. The Role of Programming in IT. Proceedings of the 6th Conference on Information Technology Education, pp. 43–49. 19. Blackwell, A. F., 2002. What is Programming. 14th Workshop of the Psychology of Programming Interest Group, pp. 204–218. 20. Bloom, B.S., 1984.Taxonomy of Educational Objectives: The Classification of Educational Goals. Handbook I. Cognitive Domain, 2nd ed., New York: Addison Wesley Publishing Company. 21. Boada, I., Soler, J., Prados, F., et al., 2004. A Teaching/Learning Support Tool for Introductory Programming Courses. Information Technology Based Higher Education and Training, ITHET 2004. IEEE, pp. 604–609 22. Boisvert, C. R.,2009. Visualisation Tool for the Programming Process. ACM SIGCSE Bulletin. 41 (3), pp. 328–332. 23. Bourque, P.; Fairley, R. E., 2014.Guide to the Software Engineering Body of Knowledge Version 3.0 (SWEBOK Guide V3.0). IEEE Computer Society. 24. Brooks, R. 1983, Towards a Theory of the Comprehension of Computer Programs. International Journal of Man-Machine Studies. 18 (6), pp. 543–554 25. Brown, M.H., Najork, M.A., 1993. Algorithm Animation Using 3D Interactive Graphics. Proceedings of the 6th Annual ACM Symposium on User Interface Software and Technology. New York: ACM, pp. 93–100. 26. Brown, M.H. 1988. Perspectives on Algorithm Animation. Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. New York: ACM, pp. 33–38 27. Brown, P. H., 2008. Some Field Experience with Alice. Journal of Computing Sciences in Colleges. 24 (2), pp. 213–219. 28. Bruce-Lockhart, M.P. and T.S., Norvel, 2000. Lifting the Hood of the Computer: Program Animation with the Teaching Machine. In: Canadian Conference on Electrical and Computer Engineering. Halifax: IEEE, pp. 831–835. 29. Bulman, E., 1984. What is Programming Really About?. ACM SIGPLAN Notices. 19 (3), pp. 21–23. 30. Bureau of Labor Statistics, U.S. Departement of Labor, 2014. Occupational Outlook Handbook, 2012-13 Edition, Computer Programmers.Quick Facts: Computer Programmers. [online] Available at: http://www.bls.gov/ooh/computer-and-information-technology/computer-programmers.htm. [Accessed on January 25th 2014] 31. Butler, A. C, Karpicke, J. D., Roediger, H. L., 2007. The Effect of Type and Timing of Feedback on Learning from Multiple-choice Tests. Journal of experimental psychology: Applied. 13 (4), pp. 273–281. 32. Çakiroglu, Ü., 2013. Using a Hybrid Approach to Facilitate Learning Introductory Programming“.Turkish Online Journal of Educational Technology. 12 (1), pp. 161–177. 33. Cant, S. N., Jeffery, D. R., Henderson-Sellers, B., 1995. A Conceptual Model of Cognitive Complexity of Elements of the Programming Process. Information and Software Technology, 37 (7), pp. 351–362. 34. Carlisle, M. C., Wilson, T. A., Humphries, J. W., 2005. RAPTOR: A Visual Programming Environment for Teaching Algorithmic Problem Solving. ACM SIGCSE Bulletin. 37 (1), p. 176. 35. Carnegie Mellon University, 2011. Alice an Educational Software That Teaches Students Computer Programming in a 3D Environment. [online] Available at: http://alice.org/ [Accessed on June 27th 2012] 36. Caspersen, M.E., Kolling, M., 2009. STREAM: a First Programming Process. ACM Transactions on Computing Education. 9 (1), p. 4. 37. Caspersen, M.E., Kolling, M., 2006. Novice’s Process of Object-oriented Programming. Companion to the 21st ACM SIGPLAN Conference on Object-oriented Programming Systems, Languages, and Applications - OOPSLA ’06,p.892, New York: ACM Press. 38. Cassel, L., Clements, A., Davies, G., 2008. Computer Science Curriculum 2008: An Interim Revision of CS 2001. 39. Chochran, W. G., 2007. Sampling Techniques, 3rd. ed., New Delhi:John Wiley & Sons 40. Cisar, S. M., Radosav, D., Pinter, R., 2011.Effectiveness of Program Visualization in Learning Java: a Case Study with Jeliot 3. International Journal of Computers, Communications & Control. 6 (4), pp. 669–682. 41. Clark, D., 2004. Testing Programming Skills with Multiple Choice Questions.Informatics in Education-An International Journal. 3 (2), pp. 161–178. 42. Clear, T., Philpott, A., Robbins, P.,2009. Report on the Eighth BRACElet Workshop: BRACElet Technical Report AUT University, Auckland. Bulletin of Applied Computing and Information Technology, 7(1), pp.1–13. 43. Cliburn, D.C., 2008. Student Opinions of Alice in CS1. 38th Annual Frontiers in Education Conference, 2008. Saratoga Springs, pp. T3B–1 – T3B–6. 44. Cooper, J.R., Lee, S.W., Gandhi, R.A., 2009. Requirements Engineering Visualization: A Survey on the State-of-the-Art. International Workshop on Requirements Engineering Visualization (REV)2009. Atlanta, GA, pp. 46–55. 45. Cooper, S., Dann, W., Pausch, R., 2000. Alice: a 3-D Tool for Introductory Programming Concepts. Journal of Computing Sciences in Colleges, 15(5), pp.107–116. 46. Corder, G.W. and Foreman, D.I., 2009. Nonparametric Statistics for Non-Statisticians: A Step-by-Step Approach, New Jersey: John Wiley & Sons. 47. Corritore, C. and Wiedenbeck, S., 2001. An Exploratory Study of Program Comprehension Strategies of Procedural and Object-oriented Programmers. International Journal of Human-Computer Studies, 54(1), pp.1–23. 48. Cowling, T., 2008. Software Development as the Core of Informatics. Proceeding of the Informatics Education Europe III. pp. 155–169. 49. Cox, A., Fisher, M., Muzzerall, J., 2005. User Perspectives on a Visual Aid to Program Comprehension. In3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis, VISSOFT 2005. Budapest: IEEE, pp. 1–6. 50. Cross, J.H., Hendrix, T.D. and Maghsoodloo, S., 1998. The Control Structure Diagram: An Overview and Initial Evaluation. Empirical Software Engineering, 3(2), pp.131–158. 51. Cross, J.H., Hendrix, T.D., Barowsm, L.A., 2002. Using The Debugger as an Integral Part of Teaching CS1. 32nd Annual Frontiers in Education, 2002. pp. 1–6. 52. Daniel D. McCracken, 1957. Digital Computer Programming, New Jersey: John Wiley & Sons. 53. Deek, F.P., 1999. The Software Process: a Parallel Approach Through Problem Solving and Program Development. Computer Science Education, 9(1), pp.43–70. 54. Deissenboeck, F. and Pizka, M., 2006. Concise and Consistent Naming. Software Quality Journal, 14(3), pp.261–282. 55. Diehl, S., 2007. Software Visualization - Visualizing the Structure, Behaviour, and Evolution of Software, New York: Springer-Verlag Berlin Heidelberg. 56. Dittrich, M., 2008. 5 Jahre Designerlist. [online] Available at: http://www.matthiasdittrich.com/projekte/dliste/visualisations/index.html [Accessed on June 4th 2012]. 57. Domingue, J. and Mulholland, P., 1998. An Effective Web-based Software Visualization Learning Environment. Journal of Visual Languages & Computing, 9(5), pp.485–508. 58. DuBoulay, B., 1986. Some Difficulties of Learning to Program. Journal of Educational Computing Research, 2(1), pp.57–73. 59. Eckerdal, A., 2009a. Novice Programming Students’ Learning of Concepts and Practise. [online] Available at: http://user.it.uu.se/~annae/FullAvh-Spikenheten.pdf [Accessed October 18th 2010]. 60. Eckerdal, A., 2006. Novice Students’ Learning of Object-oriented Programming. UPPSALA Universitet. [online] Available at: http://www.it.uu.se/research/publications /lic/2006-006/2006-006.pdf [Accessed April 17th 2012]. 61. Eckerdal, A., 2009b. Ways of Thinking and Practising in Introductory Programming, [online] Available at: https://www.it.uu.se/research/publications/reports/2009-002/2009-002-nc.pdf [Accessed May 25th, 2014]. 62. Eitelman, S.M., 2006. Computer Tutoring for Programming Education. ACM-SE 44 Proceedings of the 44th Annual Southeast Regional Conference. New York: ACM Press, pp. 607–610. 63. Ellershaw, S. and Oudshoorn, M., 1994. Program visualization-the state of the art, Adelaide: Citeseer. 64. Erev, I., Luria, A., Erev, A., 2006. On the Effect of Immediate Feedback. In Y. Eshet-Alkalai, Y. Caspi, & Y. Yair, eds. Learning in the Technological Era. pp. 26–30. 65. Fay, M.P. and Proschan, M.A., 2010. Wilcoxon-Mann-Whitney or T-test? on Assumptions for Hypothesis Tests and Multiple Interpretations of Decision Rules. Statistics Surveys, 4, pp.1–39. 66. Ford, G., 1982. A Software Engineering Approach to First Year Computer Science Courses. ACM SIGCSE Bulletin, 14(1), pp.8–12. 67. Galles, D., 2011. Data Structure Visualizations. [online]Available at: http://www.cs.usfca.edu/~galles/visualization/about.html. [Access on November 8th 2012]. 68. Gantenbein, R.E., 1989. Programming as Process: A “Novel” Approach to Teaching Programming. ACM SIGCSE Bulletin, 21(1), pp.22–26. 69. Gershon, N., Eick, S.G. & Card, S., 1998. Information Visualization. Interaction, 5(2), pp.9–15. 70. Ginat, D., 2002. On Varying Perspectives of Problem Decomposition. ACM SIGCSE Bulletin, 34(1), pp.331–335. 71. Giordano, J.C. and Carlisle, M., 2006. Toward a More Effective Visualization Tool to Teach Novice Programmers. The 7th Conference on Information Technology Education. New York: ACM, p. 115. 72. Goldstine, H. H.and Neumann, J. von, 1947. Planning and Coding of Problem for an Electronic Computing Instrument, Institute for Advanced Study. 73. Gomes, A. and Mendes, A.J., 2007. Learning to Program - Difficulties and Solutions. The International Conference on Engineering Education. Coimbra. 74. Gordon, V.S. and Bieman, J.M., 1995. Rapid Prototyping: Lessons Learned. Software, 12(1), pp.1–15. 75. Gračanin, D., Matković, K., Eltoweissy, M., 2005. Software Visualization. Innovations in Systems and Software Engineering, 1(2), pp.221–230. 76. Gregg, M.B., 2008. Field Epidemiology Vol.1, 3rd ed., New York: Oxford University Press, Inc. 77. Grissom, S., McNally, M.F., Naps, T., 2003. Algorithm Visualization in CS Education: Comparing Levels of Student Engagement. The 2003 ACM Symposium on Software Visualization. New York: ACM, pp. 87–94. 78. Guibert, N. and Girard, P., 2003. Teaching and Learning Programming with a Programming by Example System. International Symposium on End User. pp. 6–8. 79. Gurka, J.S. & Citrin, W., 1996. Testing Effectiveness of Algorithm Animation. The 1996 IEEE Simposium on Visual Languages. pp. 182–189. 80. Guzdial, M., 2011. From Science to Engineering – Exploring the Dual Nature of Computing Education. Communications of the ACM, 54(2), pp.37–39. 81. Hanks, B., Murphy, L., Simon, B., McCauley, R., Zander, C., 2009. CS1 Students Speak: Advice for Students by Students. ACM SIGCSE Bulletin, 41(1), pp.19–23. 82. Hansen, S.R., Narayanan, N.H. and Schrimpsher, D., 2000. Helping Learners Visualize and Comprehend Algorithms. Interactive Multimedia Electronic Journal of Computer-Enhanced Learning, 2(1), p.10. 83. Hartree, D.R., 2012. Calculating Instruments and Machines., New York:Cambridge University Press. 84. Hattie, J. and Timperley, H., 2007. The Power of Feedback. Review of Educational Research, 77(1), pp.81–112. 85. Hegarty, M., 2004. Dynamic Visualizations and Learning: Getting to the Difficult Questions. Learning and Instruction, 14(3), pp.343–351. 86. Hejmady, P. and Narayanan, N.H., 2012. Multiple Visualizations and Debugging: How Do We Co-ordinate These?.The 2012 ACM Annual Conference on Human Factors in Computing Systems. New York: ACM, pp. 1547–1552. 87. Hendrix, T.D., James H. Cross, I. and Larry A. Barowski, 2004. An Extensible Framework for Providing Dynamic Data Structure Visualizations in a Lightweight IDE. ACM SIGCSE Bulletin, 36(1), pp.387–391. 88. Hoc, J.M., 1990. Theoritical and Methodological Issues. In Psychology of Programming. pp. 1–7. London: Academic Press. 89. Hoc, J.M. and Nguyen-Xuan, A., 1990. Language Semantics, Mental Models and Analogy. In Psychology of Programming. pp. 139–156, London: Academic Press. 90. Hundhausen, C. and Brown, J.L., 2007. What You See Is What You Code: A “Live” Algorithm Development and Visualization Environment for Novice Learners. Journal of Visual Languages & Computing, 18(1), pp.22–47. 91. Hundhausen, C.D. and Brown, J.L., 2005. What You See is What You Code: a Radically Dynamic Algorithm Visualization Development Model for Novice Learners. IEEE Symposium on Visual Languages and Human-Centric Computing. pp. 140–147. 92. Hundhausen, C.D. and Douglas, S.A., 2000. Using Visualizations to Learn Algorithms: Should Students Construct Their Own, or View an Expert’s?.International Symposium on Visual Language. Seattle, pp. 21–28. 93. Hundhausen, C.D., Douglas, S.A., Stasko, J.T., 2002. A Meta-study of Algorithm Visualization Effectiveness. Journal of Visual Languages & Computing, 13(3), pp.259–290. 94. Ibrahim, B. and Rebello, N.S., 2013. Role of Mental Representations in Problem Solving: Students’ Approaches to Nondirected Tasks. Physical Review Special Topics - Physics Education Research, 9(2), pp.020106–1 – 020106–17. 95. Ihantola, P., Karavirta, V., Korhonen, A., Nikander, Jussi., 2005. Taxonomy of Effortless Creation of Algorithm Visualizations. ICER 2005 - International Workshop on Computing Education Research. New York: ACM, pp. 123–133. 96. Imrie, B.W., 1994. In Search of Academic Excellence: Samples of Experience. Proceeding of the Tenth International Conference on Improving University Teaching. Washington. 97. International Business Machines Corporation, 1970. IBM Data Processing Techniques: - Flowcharting Techniques, IBM Technical Publication Departement. 98. Jabatan Perangkaan Malaysia, 2012. Laporan Penyiasatan Tenaga Buruh Malaysia 2011,Putrajaya, Malaysia. 99. Jakcson, M.A., 1975. Principle of Program Design, Orlando, Florida: Academic Press, Inc. 100. Jens-Peter D., 2001. DSN: Data Structure Navigator. [online] Available at: http://dbs.mathematik.uni-marburg.de/research/projects/dsn/ [Accessed May 25th 2010]. 101. Johnson, D., 1999. The Insignificance of Statistical Significance Testing. The Journal of Wildlife Management, 63(3), p.763. 102. Jones, J.A., Harrold, M.J. & John Stasko, 2002. Visualization of Test Information to Assist Fault Localization. The 24th International Conference on Software Engineering ICSE 2002. New York: ACM, pp. 467–477. 103. Jones, T.H. and Paolucci, R., 1999. Evaluating the Effectiveness of Educational Technology on Learning Outcomes: A Research Framework. Journal of Research on Computing in Education, 32(1), pp.17–27. 104. Karavirta, V., Korhonen, A., Malmi, L., Stalnacke, K., 2004. MatrixPro - A Tool for On-the-fly Demonstration of Data Structures and Algorithms. The Third Program Visualization Workshop. Warwick. 105. Karavirta, V., 2009. MatrixPro - Software Visualization Group. [online] Available at: http://www.cse.hut.fi/en/research/SVG/MatrixPro/index.shtml [Accessed June 10th 2011]. 106. Kelleher, C. and Pausch, R., 2005. Lowering the Barriers to Programming: A Taxonomy of Programming Environments and Languages for Novice Programmers. ACM Computing Surveys (CSUR), 37(2), pp.83–137. 107. Keller, D., 1990. A Guide to Natural Naming. ACM Sigplan Notices, 25(5), pp.95–102. 108. Keller, T., and Grimm, M., 2005. The Impact of Dimensionality and Color Coding of Information Visualization on Knowledge Acquisition. In Tergan, S.O.,and Keller, T.,Knowledge and Information Visualization: Searching for Synergies. Springer Berlin / Heidelberg, pp. 167–182. 109. Keller, T.,and Tergan, S.O., 2005. Visualizing Knowledge and Information: an Introduction. In Tergan, S.O., and Keller, T., Knowledge and Information Visualization: Searching for Synergies. Springer Berlin / Heidelberg, pp. 1–23. 110. Korhonen, A., Malmi, L., Silvasti, P., Karavirta, V., Lönnberg, J., Nikander, J., Stålnacke, K., TenhunenP., 2004. Matrix - A Framework for Interactive Software Visualization, Helsinki. 111. Koschke, R., 2003. Software Visualization in Software Maintenance, Reverse Engineering, and Re-engineering: a Research Survey. Journal of Software Maintenance and Evolution: Research and Practice, 15(2), pp.87–109. 112. Kothari, S.C., Khrisnaswamy, A., Namara, Y., Deng, Y., Iowa State University Research Foundation, Inc., 2007. Integrated Interactive Software Visualization Environment. United States. Pat USUS7174536. 113. Kramer, J., 2007. Is Abstraction the Key to Computing?.Communications of the ACM, 50(4), pp.37–42. 114. Krejcie, R. and Morgan, D., 1970. Determining Sample Size for Research Activities. Educational and Psychological Measurement, 30(3), pp.607–610. 115. Kulik, J.A. and Kulik, C.L.C., 1988. Timing of Feedback and Verbal Learning. Review of Educational Research, 58(1), pp.79–97. 116. Laakso, M.J., Rajala, T., Kaila, Erkki., Salakoski, T., 2008. The Impact of Prior Experience in Using a Visualization Tool on Learning to Program. Proceeding of Cognition and Exploratory Learning in Digital Age (CELDA 2008). pp. 129–136. 117. Laakso, M.J., Malmi, L., Korhonen, A., Kaila, E., Salakoski, T., 2008. Using Roles of Variables to Enhance Novice ’ s Debugging Work. Informing Science and Information Technology, 5, pp.281–295. 118. Laakso, M.J., Myller, N., Korhonen, A., 2009. Comparing Learning Performance of Students Using Algorithm Visualizations Collaboratively on Different Engagement Levels. Journal of Educational Technology & Society, 12(2), pp.267–282. 119. Lahtinen, E., 2008. Students’ Individual Differences in Using Visualizations Prospects of Future Research on Program Visualizations. In Proceedings of the 8th International Conference on Computing Education Research. New York: ACM, pp. 92–95. 120. Lahtinen, E., Ala-Mutka, K., Järvinen, H.M., 2005. A Study of the Difficulties of Novice Programmers. ACM SIGCSE Bulletin, 37(3), pp.14–18. 121. Lau, W.W.F. and Yuen, A.H.K., 2011. Modelling Programming Performance: Beyond the Influence of Learner Characteristics. Computers & Education, 57(1), pp.1202–1213. 122. Lengler, R. and Eppler, J.M., 2007. A Periodic Table of Visualization Methods. IASTED Proceedings of the Conference on Graphics and Visualization Engineering (GVE 2007). Clearwater, Florida: ACTA Press Anaheim, pp. 83–88. 123. Levy, R.B.B. and Ben-Ari, M., 2007. We Work So Hard and They Don’t Use It: Acceptance of Software Tools by Teachers. ACM SIGCSE Bulletin, 39(3), p.250. 124. Lewis, J.R., 1995. IBM Computer Usability Satisfaction Questionnaires: Psychometric Evaluation and Instructions for Use. International Journal of Human-Computer Interaction, 7(1), pp.57–78. 125. Liao, H., Jiang, J. and Zhang, Y., 2010. A Study of Automatic Code Generation. In 2010 International Conference on Computational and Information Sciences. Chengdu: IEEE, pp. 689–691. 126. Liikkanen, L. and Perttula, M., 2009. Exploring Problem Decomposition in Conceptual Design Among Novice Designers. Design Studies, 30(1), pp.38–59. 127. Lister, R.,Seppälä, O., Simon, B., Thomas, L., Adams, E. S., Fitzgerald, S., Fone, W., Hamer, J., Lindholm, M., McCartney, R., Moström, J.E., Sanders, K., 2004. A Multi-national Study of Reading and Tracing Skills in Novice Programmers. ACM SIGCSE Bulletin, 36(4), p.119. 128. Lister, R., 2007. The Neglected Middle Novice Programmer: Reading and Writing Without Abstracting. Proceeding of The 20th Annual Conference of the National Advisory Committee on Computing Qualifications (NACCQ’07). pp. 133–140. 129. Lister, R., Fidge, C., Teague, D., 2009. Further Evidence of a Relationship Between Explaining, Tracing and Writing Skills in Introductory Programming. ACM SIGCSE Bulletin, 41(3), p.161. 130. Lister, R. and Leaney, J., 2003. First Year Programming: Let All the Flowers Bloom. ACE ’03 Proceeding of the Fifth Australasian Conference on Computing Education. Darlinghurst: Australian Computer Society, Inc., pp. 221–230. 131. Lopez, M., Whalley J., Lister, R., 2008. Relationships Between Reading, Tracing and Writing Skills in Introductory Programming. In Proceeding of the Fourth International Workshop on Computing Education Research - ICER ’08. New York: ACM, pp. 101–112. 132. Lunt, B.M.,Ekstrom, J.J, Gorka, S., Hislop, G., Kamali, R., Lawson, E., LeBlanc, R., Miller, J., Reichgelt, H., 2008. Curriculum and Guidelines for Undergraduate Degree Programs in Information Technology, ACM – IEEE Computer Society. 133. Mahatody, T., Sagar, M., Kolski, C., 2010. State of The Art on The Cognitive Walkthrough Method, Its Variants and Evolutions. International Journal of Human-Computer Interaction, 26(8), pp.741–785. 134. Maletic, J.I. and Kagdi, H., 2008. Expressiveness and Effectiveness of Program Comprehension: Thoughts on Future Research Directions. Frontiers of Software Maintenance. Beijing: IEEE, pp. 31–37. 135. Maletic, J.I., Marcus, A. & Collard, M.L., 2002. A Task Oriented View of Software Visualization. In Proceedings First International Workshop on Visualizing Software for Understanding and Analysis. IEEE, pp. 32–40. 136. Marcelino, M., Mihaylov, T., Mendes, A., 2008. H-SICAS , A Handheld Algorithm Animation And Simulation Tool to Support Initial Programming Learning. In Frontiers in Education Conference, 2008. Saratoga Springs,NY: IEEE, pp. 7–12. 137. Mayrhauser, A.V. and Vans, A.M., 1993. From Code Understanding Needs to Reverse Engineering Tool Capabilities. In Proceedings of 6th International Workshop on Computer-Aided Software Engineering. IEEE, pp. 230–239. 138. Maryhauser, A.V. and Vans, A.M., 1994. Program Understanding - A Survey, Colorado State University. 139. McCormick, R., 1997. Conceptual and procedural knowledge. International Journal of Technology and Design Education, 7(1), pp.141–159. 140. McCracken, M. et al., 2001. A Multi-national, Multi-institutional Study of Assessment of Programming Skills of First-year CS Students. ACM SIGCSE Bulletin, 33(4), pp.125–180. 141. McDirmid, S., 2007. Living It Up with a Live Programming Language. ACM SIGPLAN Notices, 42(10), p.623. 142. McQuaid, M.J., Ong, T-H., Chen, H., Nunamaker, J.F., 2000. Multidimensional Scaling for Group Memory Visualization. Decision Support Systems, 27(1), pp.163–176. 143. Microsoft Developer Network, 2014. Visual Basic Coding Conventions. [online] Available at: http://msdn.microsoft.com/en-us/library/aa240822(v=vs.60).aspx [Accessed February 15, 2014]. 144. Miliszewska, I. and Tan, G., 2007. Befriending Computer Programming: A Proposed Approach to Teaching Introductory Programming Difficulties Encountered by First Year Programming Students Impact of Failure / Poor Performance on Students. Informing Science: International Journal of an Emerging Transdicipline, 4(1), pp.277–289. 145. Moreno, A., Myller, N., Sutinen, E., Ben-Ari, M., 2004. Visualizing Programs with Jeliot 3. In AVI ’04 Proceeding of The Working Conference on Advanced Visual Interfaces. New York: ACM, p. 373. 146. Moreno, A. and Myller, N., 2003. Producing an Educationally Effective and Usable Tool, for Learning, The Case of Jeliot Family. In Proceeding of International Conference on Networked e-learning for European Universities 2003. Granada. 147. Moreno, A., Myller, N., Bednarik, R., 2005. Jeliot 3, an Extensible Tool for Program Visualization. In Proceedings of the Koli Calling 2005: 5th Annual Finnish/Baltic Sea Conference on Computer Science Education. 148. Moskal, B., Lurie, D., Cooper, S., 2004. Evaluating the Effectiveness of a New Instructional Approach. ACM SIGCSE Bulletin, 36(1), pp.75–79. 149. Murphy, L., Lewandowski, G., Mccauley, R., Simon, B., Thomas, L., Zander, C., 2008. Debugging: The Good , the Bad , and the Quirky – a Qualitative Analysis of Novices’ Strategies. ACM SIGCSE Bulletin, 40(1), pp.163–167. 150. Myers, B.A., 1986. Visual Programming, Programming by Example, and Program Visualization: A Taxonomy. ACM SIGCHI, 17(4), pp.59–66. 151. Myller, N., Bednarik, R., Sutinen, E., Ben-Ari, M., 2009. Extending the Engagement Taxonomy: Software Visualization and Collaborative Learning. ACM Transactions on Computer Education (TOCE), 9(1), pp.1–27. 152. Naps, T.L., Rößling, G., Ross, Anderson, J., Cooper, S., Dann, W., Fleischer, R., Koldehofe, B., Korhonen, A., Kuittinen, M., Leska, C., Malmi, L., McNally, M., Rantakokko, J., Ross, R.J., 2003. Evaluating the Educational Impact of Visualization. ACM SIGCSE, 35(4), pp.124–136. 153. Naps, T.L., Fleischer, R., McNally, M., Rößling, G., Hundhausen, C., Rodger, S., Almstrum, V., Korhonen, A., Velázquez-Iturbide, J. Á., Dann, W., Malmi, L., 2003.Exploring the Role of Visualization and Engagement in Computer Sscience Education. ACM SIGCSE Bulletin, 35(2), p.131. 154. Naps, T.L., Eagan, J.R. Norton, L.L., 2000. JHAVÉ - An Environment to Actively Engage Students in Web-based Algorithm Visualizations. ACM SIGCSE Bulletin, 32(1), pp.109–113. 155. Nassi, I. and Shneiderman, B., 1973. Flowchart Techniques for Structured Programming. ACM SIGPLAN Notices, 8(8), pp.12–26. 156. Nielsen, J., Nielsen Norman Group, 2000. Why You Only Need to Test with 5 Users.[online] Available at: http://www.nngroup.com/articles/why-you-only-need-to-test-with-5-users/ [Accessed November 5th, 2012]. 157. Norvell, T. and Bruce-Lockhart, M.P., 2005. The Teaching Machine. [online] Available at: http://www.theteachingmachine.org/ [Accessed July 5th, 2012]. 158. Norvig, P., 2001. Teach Yourself Programming in Ten Years.[online] Available at: http://norvig.com/21-days.html [Accessed March 19th, 2011]. 159. Nunamaker Jr, Jay F., Chen, M., Purdin, T.D.M., 1991. Systems Development in Information Systems Research. Journal of Management Information System, 7(3), pp.89–106. 160. Padda, H., Seffah, A., Mudur, S., 2009. Investigating the Comprehension Support for Effective Visualization Tools: A Case Study. In Advances in Computer-Human Interactions, ACHI’09. Cancun: IEEE, pp. 283–288. 161. Pair, C., 1990. Programming, Programming Languages and Programming Methods. In J.-M. Hoc et al., eds. Psychology of Programming. London: Academic Press, pp. 9–19. 162. Paivi, K. and Malmi, L., 2006. Why Students Drop Out CS1 Course?. In ICER 2006 - Proceedings of the Second International Computing Education Research. New York: ACM, pp. 97–108. 163. Paxton, J., 2002. Live Programming as a Lecture Technique. Journal of Computing Sciences in Colleges, 18(2), p.56. 164. Pears, A., Seidman, S., Malmi, L., Mannila, L., Adams, E., Bennedsen, J., Devlin, M. Paterson, J., 2007. A Survey of Literature on the Teaching of Introductory Programming. ACM SIGCSE Bulletin, 39(4), p.204. 165. Pennington, N., 1987a. Comprehension Strategies in Programming. In Empirical Studies of Programmers: Second Workshop. Ablex Publishing Corp., pp. 100–113. 166. Pennington, N., 1987b. Stimulus Structures and Mental Representations in Expert Comprehension of Computer Programs. Cognitive Psychology, 19(3), pp.295–341. 167. Pennington, N. and Grabowski, B., 1993. The Tasks of Programming. In J.-M. Hoc et al., eds. Psychology of Programming. London: Academic Press, pp. 45–62. 168. Petersen, A., Craig, M., Zingaro, D., 2011. Reviewing CS1 Exam Question Content. In Proceedings of the 42nd ACM Technical Symposium on Computer Science Education - SIGCSE ’11. New York: ACM, pp. 631–636. 169. Petre, M. and Quincey, E. D., 2006. A Gentle Overview of Software Visualisation. PPIG News Letter, (September), pp.1–10. 170. Pinzger, M., Graefenhain, K., Knab, P., Gall, H. C., 2008. A Tool for Visual Understanding of Source Code Dependencies. In The 16th IEEE International Conference on Program Comprehension. Amsterdam: IEEE, pp. 254–259. 171. Pressman, R.S., 2010. Software Engineering A Practitioner’s Approach, Seventh Edition, New York: McGraw Hill. 172. Price, B., Small, I., Baecker, R., 1992. A Taxonomy of Software Visualization. In System Sciences, 1992. Proceedings of the Twenty-Fifth Hawaii International Conference, Kauai: IEEE, pp. 567–606. 173. Price, B.A., Baecker, R., Small, I.S., 1993. A Principled Taxonomy of Software Visualization. Journal of Visual Languages and Computing, 4(3), pp.211–266. 174. Qin, C., Zhou, C., Pei, T., 2003. Taxonomy of Visualization Techniques and Systems - Concerns Between Users and Developers are Different. In Asia GIS Conference 2003. pp. 1–14. 175. Qualls, J.A., Grant, M.M., Sherrell, L.B., 2011. CS1 Students’ Understanding of Computational. Journal of Computing Sciences in Colleges, 26(5), pp.62–71. 176. Rajala, T., Laakso, M.J.,Kaila, E., Salakoski, T., 2008. Effectiveness of Program Visualization: A Case Study with the ViLLE Tool. Journal of Information Technology Education, 7, pp.IIP15–IIP32. 177. Rajala, T., Laakso, M.J.,Kaila, E., Salakoski T., 2007. VILLE–A Language-Independent Program Visualization Tool. In The Seventh Baltic Sea Conference on Computing Education Research (Koli Calling 2007), pp. 15–18. 178. Ramalingam, V., LaBelle, D., Wiedenbeck, S., 2004. Self-efficacy and Mental Models in Learning to Program. ACM SIGCSE Bulletin, 36(3), p.171. 179. Ramalingam, V. and Wiedenbeck, S., 1998. Development and Validation of Scores on a Computer Programming Self-Efficacy Scale and Group Analyses of Novice Programmer Self-Efficacy. Journal of Educational Computing Research, 19(4), pp.367–381. 180. Rapp, D.N., 2005. Mental Models: Theoretical Issues for Visualization in Science Education. In J. K. Gilbert, ed. Visualization in Science Education. Springer Netherlands, pp. 43–60. 181. Reiss, S.P., 2005. The Paradox of Software Visualization. In 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis. Budapest: IEEE, pp. 1–5. 182. Rizzo, A., Marchigiani, E., Andreadis, A., 1997. The AVANTI Project: Prototyping and Evaluation with a Cognitive Walkthrough Based on the Norman’s Model of Action. In Proceedings of the 2nd conference on Designing Interactive Systems: Processes, Practices, Methods, and Techniques., pp. 305–310. 183. Robins, A., Rountree, J., Rountree, N., 2003. Learning and Teaching Programming: A Review and Discussion. Computer Science Education, 13(2), pp.137–172. 184. Robling, G., Schuler, M., Freisleben, B., 2000. The ANIMAL Algorithm Animation Tool. ACMSIGCSE Bulletin, 32(3), pp.37–40. 185. Roman, G., Cox, K.C., 1993. A Taxonomy of Program Visualization Systems. Computer, 26(12), pp.11–24. 186. Saraiya, P., Shaffer, C. A., McCrickard, D. S., North, C. 2004. Effective Features of Algorithm Visualizations. ACM SIGCSE Bulletin, 36(1), p.382. 187. Scaife, M. and Rogers, Y., 1996. External Cognition: How Do Graphical Representations Work?.International Journal of Human-Computer Studies, 45(2), pp.185–213. 188. Schooler, L.J. and Anderson, J.R., 2008. The Disruptive Potential of Immediate Feedback. In Research Showcase. Departemen of Psychology - Dietrich College of Humanities and Social Sciences, pp. 702–708. 189. Schulz, K.F. and Grimes, D.A., 2002. Unequal Group Sizes in Randomised Trials: Guarding Against Guessing. The Lancet, 359(9310), pp.966–970. 190. Scott, T., 2003. Bloom’s Taxonomy Applied to Testing in Computer Science Classes. Journal of Computing Sciences in Colleges, 19(1), pp.267–274. 191. Sensalire, M., Ogao, P., Telea, A., 2009. Evaluation of Software Visualization Tools: Lessons Learned. In International Workshop on Visualizing Software for Understanding and Analysis - VISSOFT 2009. Edmonton: IEEE, pp. 19–26. 192. Séré, M.-G., 2002. Towards Renewed Research Questions from the Outcomes of the European Project Labwork in Science Education. Science Education, 86(5), pp.624–644. 193. 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, 10(3), pp.1–22. 194. Shaffer, C.A., 2010. SIGCSE 2010 AlgoViz Survey Results. [online] Available at: http://algoviz.org/news/2010-03-25-sigcse-2010-algoviz-survey-results[Accessed May 3rd 2010]. 195. Shaffer, C.A., Cooper, M., Edwards, S.H., 2007. Algorithm visualization: A Report on the State of the Field. ACM SIGCSE Bulletin, 39(1), pp.150 – 154. 196. Sheard, J., Simon, S., Hamilton, M., Lönnberg, J., 2009. Analysis of Research into the Teaching and Learning of Programming. In Proceedings of the Fifth International Workshop on Computing Education Research Workshop - ICER ’09. New York: ACM, pp. 93–104. 197. Shneiderman, B., 1976. Exploratory Experiments in Programmer Behavior. International Journal of Computer & Information Sciences, 5(2), pp.123–143. 198. Shuhidan, S., Hamilton, M., D’Souza, D., 2009. A Taxonomic Study of Novice Programming Summative Assessment. In Proceedings of The Eleventh Australasian Computing Education Conference (ACE2009). Darlinghurst: Australian Computer Society, Inc., pp. 147–156. 199. Simon, S., Sheard, J., Carbone, A., Chinn, D., Laakso, M., Clear, T., De Raadt, M.,2012. Introductory Programming: Examining the Exams. In Proceedings of the 14th Australasian Conference on Computing Education (ACE ’12), Australian Computer Society, pp. 61–70. 200. Solomon, J., 2007. Putting the Science Into Computer Science: Treating Introductory Computer Science as the Study of Algorithms. ACM SIGCSE Bulletin, 39(2), pp.46–49. 201. Soloway, E., 1986. Learning to Program = Learning to Construct Mechanisms and Explanations. Communications of the ACM, 29(9), pp.850–858. 202. Soloway, E., Ehrlich, K., 1984. Empirical Studies of Programming Knowledge. IEEE Transactions on Software Engineering, SE-10(5), pp.595–609. 203. Sommervile, I., 2007. Software Engineering, Addison Wesley Publishing Company. 204. Sooriamurthi, R., 2009. Introducing Abstraction and Decomposition to Novice Programmers. ACM SIGCSE Bulletin, 41(3), pp.196–200. 205. Sorva, J., 2013. Notional Machines and Introductory Programming Education. ACM Transactions on Computing Education, 13(2), pp.1–31. 206. Spohrer, J.C., Soloway, E., 1986. Novice Mistakes: Are the Folk Wisdoms Correct? Communications of the ACM, 29(7), pp.624–632. 207. Starr, C.W., Manaris, B., Stalvey, R.H., 2008. Bloom ’ s Taxonomy Revisited: Specifying Assessable Learning Objectives in Computer Science. ACM SIGCSE Bulletin, 40(1), pp.261–265. 208. Stasko, J.(ed.), 1998. Software Visualization: Programming As a Multimedia Experience, Cambridge, Massachusetts: The MIT Press. 209. Stasko, J.T. & Patterson, C., 1993. Understanding and Characterizing Software Visualization Systems. In Proceedings IEEE Workshop on Visual Languages. Seattle: IEEE, pp. 3–10. 210. Storey, M.-A., 2006. Theories, Tools and Research Methods in Program Comprehension: Past, Present and Future. Software Quality Control, 14(3), pp.187–208. 211. Storey, M.-A., Fracchia, F.D. & Muller, H.A., 1999. Cognitive Design Elements to Support the Construction of a Mental Model during Software Visualization School of Computing Science. Journal of Systems and Software, 44(3), pp.171–185. 212. Swinnen, S.P. et al., 1990. Information Feedback for Skill Acquisition: Instantaneous Knowledge of Results Degrades Learning. Journal of Experimental Psychology: Learning, Memory, and Cognition, 16(4), pp.706–716. 213. Tanimoto, S.L., 1990. VIVA: A Visual Language for Image Processing. Journal of Visual Languages & Computing, 1(2), pp.127–139. 214. Teyseyre, A.R., Campo, M.R., 2009. An Overview of 3D Software Visualization. IEEE Transactions on Visualization and Computer Graphics, 15(1), pp.87–105. 215. The Interim Review Task Force ACM-IEEE, 2008. Computer Science Curriculum 2008: An Interim Revision of CS 2001, 216. The Joint Task Force on Computing Curricula - Association for Computing Machinery-IEEE Computer Society, 2013. Computer Science Curricula 2013, 217. Thompson, E., Luxton-Reilly, A., Whalley, J. L., Hu, M., Robbins, P.,2008. Bloom ’ s Taxonomy for CS Assessment. In ACE ’08 Proceedings of the Tenth Conference on Australasian Computing Education - Volume 78. Darlinghurst, Australia, Australia, pp. 155–161, Australian Computer Society, Inc. 218. Thune, M. and Eckerdal, A., 2009. Variation Theory Applied to Students’ Conceptions of Computer Programming. European Journal of Engineering Education, 34(4), pp.339–347. 219. TIOBE Software,2012. TIOBE Programming Community Index for June 2012. [online] Available at: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html [Accessed June 4th, 2012]. 220. Tircuit, A., 2008. Teaching Programming as a Process. In Frontiers in Education Conference, FECS 2008 pp. 180–186. 221. Tory, M. and Moller, T., 2004. Rethinking Visualization: A High-Level Taxonomy. In IEEE Symposium on Information Visualization., pp. 151–158.IEEE Comput. Soc. 222. Turner, R. and Eden, A.H., 2007. The Philosophy of Computer Science: Introduction to the Special Issue. Minds and Machines, 17(2), pp.129–133. 223. Umphress, D. A., Hendrix, T. D., Cross Ii, J. H., Maghsoodloo, S. ,2006. Software Visualizations For Improving and Measuring the Comprehensibility of Source Code. Science of Computer Programming, 60(2), pp.121–133. 224. Urquiza-Fuentes, J., Velázquez-Iturbide, J.Á., 2009. A Survey of Successful Evaluations of Program Visualization and Algorithm Animation Systems. ACM Transactions on Computing Education (TOCE), 9(2), pp.1–21. 225. Vainio, V. and Sajaniemi, J., 2007. Factors in Novice Programmers’ Poor Tracing Skills. ACM SIGCSE Bulletin, 39(3), pp.236–240. 226. Van, H. T., van Lamsweerde, A., Massonet, P., Ponsard, C., 2004. Goal-oriented Requirements Animation. In Proceeding in12th IEEE International Requirements Engineering Conference, pp. 218–228, IEEE. 227. Venables, A., Tan, G., Lister, R., 2009. A Closer Look at Tracing, Explaining and Code Writing Skills in the Novice Programmer. In Proceedings of the Fifth International Workshop on Computing Education Research Workshop - ICER ’09. New York: ACM Press, pp. 117–128. 228. Vinz, B.L., and Etzkorn, L.H., 2006. A Synergistic Approach to Program Comprehension. In Proceeding of 14th IEEE International Conference on Program Comprehension (ICPC’06). Athens:IEEE, pp. 69–73. 229. Vrachnos, E. and Jimoyiannis, A., 2008. DAVE: A Dynamic Algorithm Visualization Environment for Novice Learners. In Proceeding in the Eighth IEEE International Conference on Advanced Learning Technologies. Cantabria: IEEE, pp. 319–323. 230. Werth, L.H., 1988. Integrating Software Engineering into An Intermediate Programming Class. ACM SIGCSE Bulletin, 20(1), pp.54–58. 231. Whalley, J. L., Lister, R., Thompson, E., Clear, T., Robbins, P., Kumar, P. K., Prasad, C.2006. An Australasian Study of Reading and Comprehension Skills in Novice Programmers, Using the Bloom and SOLO Taxonomies. In Proceedings of the 8th Austalian Conference on Computing Education -Volume 52. Australian Computer Society, Inc., pp. 243–252. 232. Wilson, B.C. and Shrock, S., 2001. Contributing to Success in an Introductory Computer Science Course: a Study of Twelve Factors. ACM SIGCSE Bulletin, 33(1), pp.184–188. 233. Winslow, L.E., 1996. Programming Pedagogy - a Psychological Overview. ACM SIGCSE Bulletin, 28(3), pp.17–22. 234. Wirth, N., 1976. Algorithms + DataStructures = Program, Englewood Cliffs, New Jersey: Prentice-Hall, Inc. 235. Young, P. and Munro, M., 1998. Visualising Software in Virtual Reality. In International Worksop on Program Comprehension. pp. 19–26. 236. Zendler, A., Spannagel, C., Klaudt, D., 2011. Marrying Content and Process in Computer Science Education. IEEE Transactions on Education, 54(3), pp.387–397. 237. Zendler, A., Spannagel, C., Klaudt, D., 2008. Process as Content in Computer Science Education: Empirical Determination of Central Processes. Computer Science Education, 18(4), pp.231–245.