Abstract
Learning programming is hard for novice students. Complicated syntax and semantic of programming languages and lack of previous knowledge are the contributing factors behind the hardness of programming. Natural programming language allows to program in a natural language and thereby ease the programming. In this paper, it is ascertained whether natural programming language is fruitful in learning the elementary programming concepts and supportive in preparing students for introductory programming courses. The discussion included in this paper can be used to design supportive programming languages and formulating effective courses and learning material to ameliorate performance of students’ in learning of introductory programming environments.
References
Qian Y, Lehman JD. Correlates of Success in Introductory Programming: A Study with Middle School Students. Journal of Education and Learning 2016; 5(2): 73-83. https://doi.org/10.5539/jel.v5n2p73
Reardon S, Tangney B. Smartphones, studio-based learning, and scaffolding: Helping novice learn to program. Transaction of Computer Education 2014; 14(4): 1-15. https://doi.org/10.1145/2677089
Bureau of Labor Statistics, U.S. Department of Labor, [homepage on the Internet
Microsoft Corporation, 2012. [homepage on the Internet
Berry M, Kölling M. Novis: A Notional Machine Implementation for Teaching Introductory Programming. Proceedings of the 2016 International Conference on Learning and Teaching in Computing and Engineering; 2016; 31 Mar – 3 Apr; Mumbai, India; 2016; p. 54-59. https://doi.org/10.1109/LaTiCE.2016.5
Haberman B, Averbuch H. The Case of Base Cases: Why Are They So Difficult to Recognize? Student Difficulties with Recursion. ACM SIGCSE Bulletin 2002; 34(3): 84-88. https://doi.org/10.1145/637610.544441
Lewis CM. Exploring Variation in Students’ Correct Traces of Linear Recursion. Proceedings of the Tenth Annual Conference on International Computing Education Research; 2014: Aug 11-13; Glasgow, Scotland, United Kingdom; 2014; p. 67-74. https://doi.org/10.1145/2632320.2632355
Vujoševic-Janicic M, Tošic D. The role of programming paradigms in the first programming courses. THE TEACHING OF MATHEMATICS 2008; XI(2): 63-83.
Gobil AR, Shukor Z, Mohtar IA. A. Novice Difficulties in Selection Structure. Proceedings of International Conference on Electrical Engineering and Informatics; 2009: Aug 5-7; Selangor, Malaysia; 2009; p. 351-356. https://doi.org/10.1109/ICEEI.2009.5254715
Lahtinen E, Ala-Mutka K, Jarvinen H. A Study of the Difficulties of Novice Programmers. ACM SIGCSE Bulletin 2005; 37(3): 14-18. https://doi.org/10.1145/1151954.1067453
Dale NB. Most Difficult Topics in CS1: Results of an Online Survey of Educators. ACM SIGCSE Bulletin 2006; 38(2): 49-53. https://doi.org/10.1145/1138403.1138432
McMaster K, Sambasivam S, Rague B, Wolthuis S. Java vs. Python Coverage of Introductory Programming Concepts: A Textbook Analysis. Information Systems Education Journal 2017; 15(3): 4-13.
Wexelblat RL. 1998. The consequences of one’s first programming language. Software: Practice and Experience 1981; 11(7): 733-740. https://doi.org/10.1002/spe.4380110709
Amarathunga ML. Supporting Tool for Introductory Programming Labs. 5th Annual UCSC Research Symposium; 2012; p. 37-41.
McCracken M, Almstrum V, Diaz D. Guzdial M. Hagan D. Kolikant YB. Laxer C. Thomas L. Utting I. Wilusz T. A Multi-national, Multi-institutional Study of Assessment of Programming Skills of First-year CS Students. ACM SIGCSE Bulletin 2001; 33(4): 25-180. https://doi.org/10.1145/572139.572181
Sloan RH, Troy P. CS 0.5: A Better Approach to Introductory Science for Majors. ACM SIGCSE Bulletin 2008; 40(1): 271-275. https://doi.org/10.1145/1352322.1352230
Herrmann N, Popyack JL, Char B, Zoski P, Cera CD, Lass RN. Nanjappa A. Redesigning Introductory Computer Programming Using Multi-level Online Modules for a Mixed Audience. ACM SIGCSE Bulletin 2003; 35(1): 196-200. https://doi.org/10.1145/792548.611967
Davy JR, Audin K, Barkham M, Joyner C. Student Well-being in a Computing Department. ACM SIGCSE Bulletin 2000; 32(3): 136-139. https://doi.org/10.1145/353519.343145
Hagan D, Markham S. Does It Help to Have Some Programming Experience Before Beginning a Computing Degree Program. ACM SIGCSE Bulletin 2000; 32(3): 25-28. https://doi.org/10.1145/353519.343063
Morrison M, Newman TS. A Study of the Impact of Student Background and Preparedness on Outcomes in CS1. ACM SIGCSE Bulletin 2001; 33(1): 179-183. https://doi.org/10.1145/366413.364580
Holden E, Weeden E. The Impact of Prior Experience in an Information Technology Programming Course Sequence. Proceedings of the 4th Conference on Information Technology Curriculum; 2003; Oct 16-18; Indiana, USA; 2003; p.41-46. https://doi.org/10.1145/947121.947131
McIver L, Conway D. GRAIL: A Zeroth programming language. Proceedings of seventh International Conference on Computing in Education; Amsterdam Netherlands; 1999; p. 43-50.
Panitz M, Sung K, Rosenberg R. Game Programming in CS0: A Scaffolded Approach. Journal of Computing Sciences in Colleges 2010; 26(1): 126-132.
McFarland RD. Development of a CS0 Course at Western New Mexico University. Journal of Computing Sciences in Colleges 2004; 20(1): 308-313.
Ernest JC, Bowser AS. Ghule S. Sudireddy S. Porter J.P. Talbert DA. Kosa MJ. Weathering MindStorms with Drizzle and DIODE in CS0. ACM SIGCSE Bulletin 2005; 37(3): 353-353. https://doi.org/10.1145/1151954.1067552
Harris MD. Introduction to Natural Language Processing. Reston: Reston Publishing Company; 1985.
Vadas D, Curran JR. Programming With Unrestricted Natural Language. Proceedings of the Australasian Language Technology Workshop; 2005: Dec 10 -11; Sydney, Australia; 2005; p. 191-199.
Dijkstra EW. On the foolishness of “natural language programming”. Program Construction, Lecture Notes in Computer Science 1979; 69: 51-53. https://doi.org/10.1007/BFb0014656
Knol R, Mezini M. Pegasus: First Steps Toward a Naturalistic Programming Language. Proceedings of companion to the 21st ACM SIGPLAN Symposium on Object-oriented Programming Systems, Languages, and Applications; 2006; Oct 22 – 26; Portland, Oregon, USA; 2006; p. 542 - 559.
Cambranes E. Using Natural Language Descriptions of Algorithms in the Early Stage of Programming. Proceedings of IEEE Symposium on Visual Languages and Human-Centric Computing; 2012: 30 Sept - 4 Oct; Innsbruck, Austria; 2012; p. 217-218. https://doi.org/10.1109/VLHCC.2012.6344521
Bruckman A. Edwards E. Should We Leverage Natural- language Knowledge? An Analysis of User Errors in a Natural-language- style Programming Language. Proceedings of the SIGCHI Conference on Human Factors in Computing Systems; 1990; May 15-20; Pittsburgh, Pennsylvania, USA; 1990; p. 207-214.
Ballard BW, Biermann AW. Programming in Natural Language: “NLC” As a Prototype. Proceedings of the ACM 1979 Annual Conference; 1979; p. 228-237. https://doi.org/10.1145/800177.810072
Biermann AW, Ballard BW, Holler AM. A System for Natural Language Computation. ACM SIGLASH Newsletter 1979; 12(1): 6-16. https://doi.org/10.1145/1041361.1041362
Liu H, Lieberman H. 2005. Metafor: Visualizing Stories as Code. Proceedings of the 10th International Conference on Intelligent User Interfaces; 2005; Jan 10 - 13; San Diego, California, USA; 2005; p. 305-307. https://doi.org/10.1145/1040830.1040908
Price D, Rilofff E, Zachary J, Harvey B. NaturalJava: A Natural Language Interface for Programming in Java. Proceedings of the 5th International Conference on Intelligent User Interfaces; 2000: Jan 09-12; New Orleans, Louisiana, USA; 2000; p. 207-211. https://doi.org/10.1145/325737.325845
System English [homepage on the Internet
Barnett MP, Ruhsam WM. SNAP: An Experiment in Natural Language Programming. Proceedings of the Spring Joint Computer Conference; 1969: May 14-16; Boston, Massachusetts, USA, 1969; p. 75-87. https://doi.org/10.1145/1476793.1476815
Barnett MP, Ruhsam WM. A Natural Language Programming System for Text Processing. IEEE Transactions on Engineering Writing and Speech 1968; 11(2): 45-52. https://doi.org/10.1109/TEWS.1968.4322334
Naveed MS, Sarim M, Ahsan K. Learners Programming Language a Helping System for Introductory Programming Courses. Mehran University Research Journal of Engineering & Technology 2016; 35(3): 347-358.
Naveed MS, Sarim M, Ahsan K. On the Felicitous Applications of Natural Language. Science International 2015; 27(23): 2643-2646.
Knoll R, Gasiunas V, Mezini M. Naturalistic Types. Proceedings of the 10th SIGPLAN Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software; 2011; Oct 22-27; Portland, Oregon, USA, 2011; p. 33-48. https://doi.org/10.1145/2048237.2048243
TIOBE [homepage on the Internet
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.
Copyright (c) 2018 Journal of Basic & Applied Sciences