scholarly journals Analysis of approaches in teaching the introductory programming course in universities

2021 ◽  
Vol 4 (135) ◽  
pp. 73-84
Author(s):  
Yuliya Prokop ◽  
Olena Trofymenko ◽  
Olexander Zadereyko

The importance of the effective study of the initial programming course (CS1), on the one hand, and the need to take into account the requirements for IT professionals today, on the other hand, encourage universities to flexibly change educational components, adjust curricula and disciplines. The relevance of finding approaches that positively affect the effectiveness of learning the basics of programming, due to the complexity of this course for students and the high level of dropout in the first session.The paper analyzes the approaches of foreign universities in teaching the CS1 course. The tendencies of the Ukrainian IT labour market concerning the need for adjustment of the content of the Algorithmization and programming course (Ukrainian analogue CS1) are investigated.It is established that there is no universal solution to the problems associated with teaching the initial programming course in the universities. Important factors that positively affect the success of programming training are the motivation of students, a set of didactic processes and methods, as well as good knowledge of the subject by teachers. To increase the effectiveness of training, researchers propose to change the programming language used in the introductory programming course and to introduce new classes of tasks in the curriculum. The effectiveness of the solutions depends on the regional specifics and traditions of IT education.Considering the ranking of programming languages in demand in Ukraine, the need to establish a relationship between disciplines and specifics of courses, the appropriate scheme of using programming languages are C / C ++ in Algorithmization and programming course (CS1) and then Java / C # in Object-oriented programming course (CS2). Another solution is to collaborate with IT companies and to involve students in writing real programs.

Author(s):  
Muhammad Shumail Naveed ◽  
Muhammad Sarim ◽  
Kamran Ahsan

Programming is the core of computer science and due to this momentousness a special care is taken in designing the curriculum of programming courses. A substantial work has been conducted on the definition of programming courses, yet the introductory programming courses are still facing high attrition, low retention and lack of motivation. This paper introduced a tiny pre-programming language called LPL (Learners Programming Language) as a ZPL (Zeroth Programming Language) to illuminate novice students about elementary concepts of introductory programming before introducing the first imperative programming course. The overall objective and design philosophy of LPL is based on a hypothesis that the soft introduction of a simple and paradigm specific textual programming can increase the motivation level of novice students and reduce the congenital complexities and hardness of the first programming course and eventually improve the retention rate and may be fruitful in reducing the dropout/failure level. LPL also generates the equivalent high level programs from user source program and eventually very fruitful in understanding the syntax of introductory programming languages. To overcome the inherent complexities of unusual and rigid syntax of introductory programming languages, the LPL provide elementary programming concepts in the form of algorithmic and plain natural language based computational statements. The initial results obtained after the introduction of LPL are very encouraging in motivating novice students and improving the retention rate.


2021 ◽  
Vol 4 ◽  
pp. 78-87
Author(s):  
Yury Yuschenko

In the Address Programming Language (1955), the concept of indirect addressing of higher ranks (Pointers) was introduced, which allows the arbitrary connection of the computer’s RAM cells. This connection is based on standard sequences of the cell addresses in RAM and addressing sequences, which is determined by the programmer with indirect addressing. Two types of sequences allow programmers to determine an arbitrary connection of RAM cells with the arbitrary content: data, addresses, subroutines, program labels, etc. Therefore, the formed connections of cells can relate to each other. The result of connecting cells with the arbitrary content and any structure is called tree-shaped formats. Tree-shaped formats allow programmers to combine data into complex data structures that are like abstract data types. For tree-shaped formats, the concept of “review scheme” is defined, which is like the concept of “bypassing” trees. Programmers can define multiple overview diagrams for the one tree-shaped format. Programmers can create tree-shaped formats over the connected cells to define the desired overview schemes for these connected cells. The work gives a modern interpretation of the concept of tree-shaped formats in Address Programming. Tree-shaped formats are based on “stroke-operation” (pointer dereference), which was hardware implemented in the command system of computer “Kyiv”. Group operations of modernization of computer “Kyiv” addresses accelerate the processing of tree-shaped formats and are designed as organized cycles, like those in high-level imperative programming languages. The commands of computer “Kyiv”, due to operations with indirect addressing, have more capabilities than the first high-level programming language – Plankalkül. Machine commands of the computer “Kyiv” allow direct access to the i-th element of the “list” by its serial number in the same way as such access is obtained to the i-th element of the array by its index. Given examples of singly linked lists show the features of tree-shaped formats and their differences from abstract data types. The article opens a new branch of theoretical research, the purpose of which is to analyze the expe- diency of partial inclusion of Address Programming in modern programming languages.


1988 ◽  
Vol 17 (251) ◽  
Author(s):  
Jørgen Lindskov Knudsen ◽  
Ole Lehrmann Madsen

<p>One of the important obligations of an expanding research area is to discuss how to approach the teaching of the subject. Without this discussion, we may find that the word is not spread properly, and thus that the results are not properly utilized in in dustry. Furthermore, discussing teaching the research area gives additional insight into the research area and its underlying theoretical foundation. In this paper we will report on our approach to teaching programming languages as a whole and especially teaching object-oriented programming.</p><p>The prime message to be told is that working from a theoretical foundation pays off. Without a theoretical foundation, the discussions are often centered around features of different languages. With a foundation, discussions may be conducted on solid ground. Furthermore, the students have significantly fewer difficulties in grasping the concrete programming languages when they have been presented with the theoretical foundation than without it.</p>


2019 ◽  
Author(s):  
Budiman

During this period continued to develop computer software, programming language was no exception. At the start of the era of low level programming languages, then developed a high level programming language. It is characterized by the appearance of a method of programming offered by a programming language, that is, object-oriented programming (OOP). IDE (Integrated Development Environment) is a computer program that has some facilities that are required in the development of the software. The purpose of the IDEA is to provide all the necessary utilities in building software. As for the type of software text editor that can be used to manipulate the source code hereinafter referred to as the source code of programming languages such as Ultraedit, JediEdit, ClearEdit, cEdit, the Golden Pen, and so on. PuniEdit software is a text-based editor software that can simplify the user through correction, insertion, and modification of the source code. PuniEdit software is built using Borland Delphi 7.0 and SynEdit component. This software can be used for the Pascal programming language, C++ and HTML. In addition, the software PuniEdit can perform management of the token. This PuniEdit software, the user can clearly see every occurrence of the type of token as keywords (reserved word), identifier, operator, and so on.Keywords: Source code, programming language, source code is scanned.


Author(s):  
ANDREAS ABEL ◽  
STEPHAN ADELSBERGER ◽  
ANTON SETZER

AbstractWe develop a methodology for writing interactive and object-based programs (in the sense of Wegner) in dependently typed functional programming languages. The methodology is implemented in the ooAgda library. ooAgda provides a syntax similar to the one used in object-oriented programming languages, thanks to Agda's copattern matching facility. The library allows for the development of graphical user interfaces (GUIs), including the use of action listeners.Our notion of interactive programs is based on the IO monad defined by Hancock and Setzer, which is a coinductive data type. We use a sized coinductive type which allows us to write corecursive programs in a modular way. Objects are server-side interactive programs that respond to method calls by giving answers and changing their state. We introduce two kinds of objects: simple objects and IO objects. Methods in simple objects are pure, while method calls in IO objects allow for interactions before returning their result. Our approach also allows us to extend interfaces and objects by additional methods.We refine our approach to state-dependent interactive programs and objects through which we can avoid exceptions. For example, with a state-dependent stack object, we can statically disable the pop method for empty stacks. As an example, we develop the implementation of recursive functions using a safe stack. Using a coinductive notion of object bisimilarity, we verify basic correctness properties of stack objects and show the equivalence of different stack implementations. Finally, we give a proof of concept that our interaction model allows to write GUI programs in a natural way: we present a simple drawing program, and a program which allows the users to move a small spaceship using a button.


1994 ◽  
Vol 05 (02) ◽  
pp. 179-208 ◽  
Author(s):  
Karl J. Lieberherr ◽  
Cun Xiao

Although numerous researchers have pointed out that object-oriented software is easier to extend than software that is not written in an object-oriented style, object-oriented software is still rigid to adapt and maintain. This paper builds on an extension of object-oriented programming which is called adaptive programming. Adaptive programming allows the programmer to write more extensible software called adaptive software without committing to a specific input language. After writing an adaptive program, the programmer selects a specific input language and partially evaluates the program into an executable program. This paper formally studies class dictionaries and informally describes how adaptive programs are partially evaluated by freezing class dictionaries. A class dictionary is mapped into classes of an object-oriented programming language, for example, C++, CLOS etc. A class dictionary defines both a set of objects and a set of sentences (a language). We derive a set of restrictions on class dictionaries which permit a simple printing algorithm and its inverse, a parsing algorithm, to be bijection functions between objects and sentences of the same class. We review propagation patterns for describing adaptive object-oriented software at a higher level of abstraction than the one used by today’s object-oriented programming languages. A propagation pattern is an adaptive program which defines a family of programs. From the family, we can select a member by choosing a class dictionary. The theory presented in this paper has been successfully implemented and used in the Demeter Tools/C++. The system consists of a set of tools that facilitate software evolution.


2014 ◽  
Vol 4 (3) ◽  
Author(s):  
Nadera Beevi ◽  
M. Reghu ◽  
D. Chitraprasad ◽  
S. Vinodchandra

AbstractCompiler is a tool to translate abstract code containing natural language terms to machine code. Meta compilers are available to compile more than one languages. We have developed a meta framework intends to combine two dissimilar programming languages, namely C++ and Java to provide a flexible object oriented programming platform for the user. Suitable constructs from both the languages have been combined, thereby forming a new and stronger Meta-Language. The framework is developed using the compiler writing tools, Flex and Yacc to design the front end of the compiler. The lexer and parser have been developed to accommodate the complete keyword set and syntax set of both the languages. Two intermediate representations have been used in between the translation of the source program to machine code. Abstract Syntax Tree has been used as a high level intermediate representation that preserves the hierarchical properties of the source program. A new machine-independent stack-based byte-code has also been devised to act as a low level intermediate representation. The byte-code is essentially organised into an output class file that can be used to produce an interpreted output. The results especially in the spheres of providing C++ concepts in Java have given an insight regarding the potential strong features of the resultant meta-language.


Author(s):  
C. F. Paunescu (Petre) ◽  
M. Man

The development of each organization is an objective based on three basic pillars: economic development, social development and environmental protection. This macroeconomic objective can be joined by various microeconomic objectives, including the global performance made out of the organization's financial performance and social performance, its sustainability and social responsibility. The article aims to find answers to the following questions: Is there a relationship between the financial performance and the social performance of an organization? And if there is this relationship between the financial performance and the social performance of the organization, how is it, positive or negative? Understanding the social impact on both the financial performance and the sustainability of the organization has been the subject of numerous studies focusing on the nature of the interaction between organizations' ability to achieve a high level of corporate social responsibility on the one hand and the financial performance on the other.


2021 ◽  
Vol 16 (1) ◽  
pp. 56-63
Author(s):  
E. V. Lungu

The study of the patterns of the development of constitutional legal relationships allows us to understand the main, determining relationships between subjects and phenomena and, therefore, not only to analyze phenomena that have developed in an objective legal reality, but also to predict the development of constitutional legal relationships in the medium and long term with a high level of probability. The patterns of constitutional legal relationships are considered as systematically repeated historically and politically conditioned interrelated facts aimed at building a rule-of-law State, recognition of a human, his rights and freedoms as the highest value. The paper highlights general and special patterns. General patterns are inherent not only in constitutional legal relations, but also in any other legal relationship in the conditions of the established objective legal reality. General patterns include incompleteness of the normative basis of constitutional legal relations, the desire to expand, and the increase in the density of the normative basis of legal relations under conditions of insufficient systematization of constitutional legislation. Special patterns arising from the peculiarities of the subject matter of the constitutional law regulation include continuity of constitutional legal relations, prevalence of subjective factors in the development of constitutional legal relations, formalization of constitutional legal relations that are central to the system of legal relations. In the light of the revealed patterns, further development of constitutional legal relationships will go along the way of increasing the density of the legal basis of legal relationships, on the one hand, and, on the other hand, involving an increasing range of public relations in the constitutional legal relations. At the same time, the impact of both subjective and objective factors on the content of legal relations will increase.


2021 ◽  
Vol 5 (3) ◽  
pp. 46-58
Author(s):  
Igor Shostak ◽  
Svetlana Kryvova ◽  
Alexander Zubanyov

The peculiarities of the first stage (initiation) of negotiations on the organization of cooperative production of aircraft are considered. It is shown that this stage is characterized by an unacceptably high level of risk, due, on the one hand, the likelihood of significant additional financial costs during the project, and on the other - the loss of potential subcontractors, if no consensus is reached between negotiators. A critical review of existing computerized negotiation support systems was conducted. It is concluded that there is a problem that is insufficient efficiency of the negotiation process at the stage of initiating projects of cooperative production of aircraft due to, including, the lack of specialized computer information support, which in making appropriate decisions would allow to take into account the specifics stage of project initiation, and the subject domain "Cooperative production in aircraft". Based on the specifics of this problem, the purpose of the article is formulated, namely the development of effective means of information support for negotiations on cooperative production at the initial stage (initiation), which will save money, firstly, by reducing the negotiation time, and secondly - reducing irrational decisions that lead to additional costs during project implementation. Based on the specifics of the subject domain, the conclusion is made about the need to develop problem-oriented methodological tools, and on their basis - a specialized software system for decision support (DSS) negotiators in initiating projects of cooperative production in aircraft. As a formal basis for the construction of such systems, it is proposed to use an agent approach with elements of situational management theory. The results of the study are illustrated using conditional scenarios.


Sign in / Sign up

Export Citation Format

Share Document