Pedagogical Significance of Natural Language Programming in Introductory Programming
PDF

Keywords

Introductory programming courses, natural language programming, CS0, failure and dropout rates.

How to Cite

Muhammad Shumail Naveed, & Muhammad Sarim. (2018). Pedagogical Significance of Natural Language Programming in Introductory Programming. Journal of Basic & Applied Sciences, 14, 62–71. https://doi.org/10.6000/1927-5129.2018.14.09

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.

https://doi.org/10.6000/1927-5129.2018.14.09
PDF

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

Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

Copyright (c) 2018 Journal of Basic & Applied Sciences