Abstract

Learning programming and using programming languages are the essential aspects of computer science education. Students use programming languages to write their programs. These computer programs (students or practitioners written) make computers artificially intelligent and perform the tasks needed by the users. Without these programs, the computer may be visioned as a pointless machine. As the premise of writing programs is situated with specific programming languages, enormous efforts have been made to develop and create programming languages. However, each programming language is domain-specific and has its nuances, syntax and semantics, with specific pros and cons. These language-specific details, including syntax and semantics, are significant hurdles for novice programmers. Also, the instructors of introductory programming courses find these language specificities as the biggest hurdle in students learning, where more focus is on syntax than logic development and actual implementation of the program. Considering the conceptual difficulty of programming languages and novice students’ struggles with the language syntax, this paper describes the design and development of a Context-Free Grammar (CFG) of a programming language for the novice, newcomers and students who do not have computer science as their major. Due to its syntax proximity to daily conversations, this paper hypothesizes that this language will be easy to use and understand by novice programmers. This paper systematically designed the language by identifying themes from various existing programming languages (e.g., C, Python). Additionally, this paper surveyed computer science experts from industry and academia, where experts self-reported their satisfaction with the newly designed language. The results indicate that 93% of the experts reported satisfaction with the NewBee for novice, newcomer and non-Computer Science (CS) major students.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.