For this assignment, you are asked to research to answer one (and only one) of the 14 questions given below. You need to research enough sources to develop an opinion on the topic and be able to answer the question confidently. Any position can be taken as long as it is justified by evidence within the report.
1. What programming language(s) should be used to teach basic programming skills? Elaborate on various pros and cons of selected languages when used in computer programming education followed by your conclusion. Limit yourself to 2-3 most popular choices.
2. Are there any good tools available for software development within a team environment? Identify at least two such tools and elaborate on their use, functionality, pros and cons, and their effectiveness and popularity.
3. Are there any good educational strategies employed throughout the world to teach entry level programming? Elaborate on selected strategies with emphasis on methods of delivery of content, assessment strategies, languages used and their effectiveness.
4. Are there any popular language specific IDE’s to teach programming? Elaborate using examples of selected languages (like Java or C++) and IDE’s specifically designed to teach these languages.
5. Is the choice of an IDE important in teaching programming skills? Elaborate on selected 2-3 IDE’s, like jGrasp, NetBeans, Eclipse etc. with emphasis on their usefullness to teaching basic programming skills.
6. Are there any popular automatic assessment tools for introductory computer programming courses? Elaborate on selected tools, like CodeRunner, with an emphasis on ease of use, flexibility, attractiveness, languages supported etc.
7. Is OOP appropriate to teach as the very first programming methodology? Elaborate on pros and cons of OOP in context of teaching at the introductory level (as the very first programming language).
8. What is the future of Java language? Elaborate on Java longevity from programmers (developers) and end-users perspectives.
PROGRAMMING LANGUAGE IN COMPUTER EDUCATION
It is evident to select proper programming language for basic learning of a programmer. Selection of programming language can help one program developer to increase the skill level according to the market requirement. Purpose of this study is to provide the idea of different basic programming language and reason behind the selection of these languages for basic program learning such as JAVA and Python. This study also provides the idea of advantages as well as disadvantages of these basic programming languages by which the territory of application of these programming languages in basic program learning process can be determined. However, the issues associated with programming languages also illustrated in this study. One of the major issues related to the selection of the programming languages for learning process of basic programming is selection of programming language according to latest market trends. However, several technical issues related to the programming languages such as execution time and processing time can be considered as major variable related to the selection process of the learning process. However, in this study JAVA and Python has been suggested for basic learning process associated with beginner in the field of programming as these programming languages are widely used in web and program development in modern era. Although JAVA and python have disadvantages such as long execution and processing time, these languages can help learner to realize logical flow of machine language more sequentially.
In order to develop skills of a person in the field of programming it is essential to understand basics of language for basic program learning. Adequate selection of programming for basic program learning soothe towards logical thinking ability of a programmer. Moreover, it can help future programmer to realize linkage between requirement and available tools of programming language. In this report selection of two basic programming languages are considered for discussion such as Python and JAVA. In this study, advantages and disadvantages of selected languages are discussed. This study underpins the learning strategies associated with programming by which the knowledge of programmers can be elevated effectively.
Selection of programming languages plays a pivotal role in learning basic programming languages. From today's perspective, language selection is necessary as this selection provides programmers the idea related to present trend of software development and IT industries. This can help one programmer to increase career opportunities (Crisan, Simion & Moraru, 2015). In modern era, trend of web designing can be seen more predominantly. Hence, it will be best for a beginner to learn different types of web designing languages from beginning stage of programming. On the other hand, most of this Web, designing programming is object oriented and due to this reason, these programming also can help programmer to increase their analytical ability. Preliminary Web designing programming also relates understanding of software section of computer with the hardware section hence it can be considered as beneficial for programmer to realize the idea about program development by considering different sub parts related to machine learning process (Jacobs et al. 2016). Selection of appropriate languages from the beginning stage can help one programmer to understand future objectives and career opportunities related to programming language selection. Strategies associated with education of programming languages needs to be precise in order to increase flexibility of programming. Additionally, sequential approaches also need to be maintained during the educational process in order to increase the skill level of programmers in program development. Advantages and disadvantages of programming are crucial to understand by programmers in order to realize the area of program development (Király, Nehéz & Hornyák, 2017). Limitations of programming language can help programmers to realize the boundary associated with program development. It can help programmers to develop realize different errors that can be occurred in development of programming. Moreover, selection of appropriate programming language can help programmers to realize necessity and grounds of further study in concerned field of program development.
Development of programming knowledge starts from machine learning process and due to this reason selection of a machine learning programming can be considered as an essential factor for a programmer (Mironova et al. 2016). Hence as a machine learning programming language python can be considered as the best choice for a programmer to begin with. This can help programmer to understand approaches by which computer treats a critical programming. This can help to enhance logical ability of programmer. In Python, programming application of Syntax helps programmers to understand logical sequence of instruction sets. In Python, all programs needs to be written in IDLE shell (Necula, 2017). Python language can help a programmer to understand the relationship between software and hardware section of a computer. This can help programmer to increase effectiveness of programming. Moreover, Python can be considered as most popular web designing software, which can help programmer to provide basic knowledge about programming more efficiently.
In today’s web, designing industries wide application of JAVA can be seen. This is due to the flexibility of this language and availability of wide range of functions in this language (Rasmussen, 2018). This language provides programmers opportunity to maintain web platforms more effectively. Since different control options associated with this language, hence this language can help programmer to maintain web platform in an effective manner. JAVA can help beginners to realize the factors associated with the development of programming from the basic. This can help beginners to understand the user of different syntax, which can be related, with application of other syntax of other languages (Filice et al. 2015). JAVA is widely used for android language development due to this reason this language can be considered as preferable for beginners.
Selection of JAVA and Python can be considered as effective choice for beginner. However, there is certain limitation associated with the educational process of JAVA. These advantages and disadvantages of learning process of these languages can help to develop proper strategy related to the educational process. JAVA can be considered as a flexible language for basic learning process for a beginner (Rasmussen, 2018). This programming language can help learner to realize the procedure of development of programming by considering logical sequence associated with it. With the help of JAVA, programming modern applications for Android and web sites can be developed more easily. JAVA programming is platform independent hence; this can be developed in any operating system. This can help to make educational process associated with JAVA programming more flexible and time oriented. Multithreading functionalities of this programming help beginners to realize the applicability of similar programming in different perspective (Read et al. 2016). Security associated with JAVA programming can be considered another most beneficial factor associated with educational process of JAVA programming. From this feature beginner can understand the necessity of interpreter along with runtime and compiler. Stack allocation process of JAVA programming can help beginner programmer to recall previous programs for simplification of present programming. With the help of JAVA, learning process programmer can realize procedure of maintaining different types of procedures in a single point of time (Zaw, Funabiki & Kao, 2015). JAVA programming helps to provide distributive facilities to programmers hence beginner programmers can ask help from their assessors in problematic situation. This can include monitoring facilities in educational process hence can make educational process more reliable. As commented by Reyes et al. (2016) JAVA is object-oriented programming and due to this reason, development of programming can be done by considering different requirements associated with this programming. In comparison to C++ JAVA is easier and less complex due to this reason it can be stated that JAVA can help beginner to realize the interpretation of flow diagram in programming.
JAVA programming as a basic programming language can help beginners to develop their skills in programming alongside this programming language is most popular in modern IT industries. Hence, this language can be used for beginning education of programmer. However, there are certain disadvantages related to this programming language, which can include restriction in educational process associated with basic program learning (Heaton, 2015). JAVA programming needs lots of memories of computer and this can lag other programs and application of CPU. This can be considered as one of the major problems associated with this programming language. Due to this reason, educational process can be hampered as this issue can include problems related to CPU freezing. On the other hand, this language is slower than other languages and as a result, this language can include time mismanagement problem in educational process associated with basic program learning. This language is based on single paradigm hence the style of this language cannot be changed. Hence, this restricts the flexibility of application of knowledge of JAVA in other languages (Tabusca, 2015). Simultaneously the graphical interface of his language is completely different from other application and this can introduce error in development of programming. Due to this issue, difficulty can be seen in the operation of this programming. This can introduce errors related to the programming.
Python is popular programming language in the field of web designing for its wide range of functionalities and for beginners this language is preferable since this language can help beginners to understand machine language from beginning (Raschka, 2015). This programming language has wide range of library functions, which can help beginners at their program development. On the other hand, Python has a large library which stores previously developed programs, which can be, used in future program development. This can help to increase flexibility of programming by which programmer can easily get assistance during problematic situation associated in development of programming (Crisan et al. 2015). The library of Python language supports syntaxes of different other languages such as C, Java, C++. This facilities help programmer to develop programs with the help of different other programming. Learner of basic programming can develop more efficiently by using this language. The COM and COBRA elements of this language help programmers to develop web services faster than any other web development software. This can be considered as other major advantages in educational process of Python language (Jacobs et al. 2016). This process can help beginner of programming language to increase their skill level in web development much faster. With the help of different comments of Python, control variables of different languages such as C or JAVA. This can help programmers to interpret flowchart associated with the logic easily.
Although Python can help beginner to develop their basic programming skills more reliably it has several disadvantages, which can impose limitation in its use in the educational process. Python by providing beginner different types of tools associated with development of websites can impose restriction in front of their learning skills (Shaw, 2018). Python has weakness associated with mobile computing process. Due to this reason, selection of this language for beginning education of programmer may impose restriction in their career development. Python applies interpreters in place of compiler for executing any programs and due to this reason; the execution process of Python is time consuming. This issue related to Python programming can impose time barrier in the educational process. Wide range of designing restrictions can be considered as another most common problem related to Python, which imposes the issues related to runtime error in execution (Király, Nehéz & Hornyák, 2017). This can be considered as another negative aspect, which can increase difficulty level in education of basic learners. The Database Access Layer of this programming language is not properly developed due to this reason it imposes barriers in development of complex programming.
From the above study, it can be concluded that selection of basic languages for beginning programmer is an essential factor as this defines the development procedure of their skills. JAVA and Python as basic learning language can help beginner to develop their skill in web and application development. Selection of JAVA and Python for basic computer language learning is beneficial as these two languages are widely used in web development. JAVA is object-oriented language, which can be considered as one of the major advantages of this language. On the other hand, Python has a large library, which can store previously developed programs and provides programmers flexibility in their programming. However, these two languages have disadvantages associated with it, which can impose tome and strategic barriers in educational program development. Lastly, it can be concluded that although there are certain barriers associated with the learning process of JAVA and Python these languages can help learner to develop their skills more effectively by providing wide range of functionalities.