scholarly journals Current Trends of Teaching Computer Programming in Undergraduate CS Programs: A Survey from Ecuadorian Universities

2018 ◽  
Vol 1 (2) ◽  
pp. 253 ◽  
Author(s):  
Gloria Arcos ◽  
Gladys L. Aguirre ◽  
Blanca Hidalgo ◽  
Raúl H. Rosero ◽  
Omar S. Gómez

Abstract. Computer programming has become a relevant element of the modern era. Practically it is involved in all sectors of modern society. Currently, many universities around the globe offer bachelor’s degree programs that contain computer programming related courses. In order to gain insight into how computer programming is taught in Ecuadorian Higher Education Institutions (HEIs), we have conducted the first national survey on teaching computer programming in undergraduate CS programs. In this survey participated 53 respondents from 13 Ecuadorian HEIs. We report on programming paradigms, programming languages, integrated development environments and teaching strategies used in the programming learning process. We found that the object-oriented paradigm along with the Java programming language are the most often used. The NetBeans integrated development environment is the most commonly used among the respondents. Concerning teaching strategies, e-learning platforms are commonly used as part of computer programming courses. More than half of the respondents use collaborative strategies such as pair programming in their courses. Finally, a half of the respondents use traditional computer labs for teaching programming; however, other approaches such as mobile devices, games and simulations, Arduino kits and robots start to be used as a teaching strategy. Our findings can serve as a starting point for addressing reforms in computer programming courses taught in Ecuadorian CS undergraduate programs.

Sensors ◽  
2021 ◽  
Vol 21 (16) ◽  
pp. 5560
Author(s):  
Yonni Chen Kuang Piao ◽  
Naser Ezzati-jivan ◽  
Michel R. Dagenais

Integrated development environments (IDEs) provide many useful tools such as a code editor, a compiler, and a debugger for creating software. These tools are highly sophisticated, and their development requires a significant effort. Traditionally, an IDE supports different programming languages via plugins that are not usually reusable in other IDEs. Given the high complexity and constant evolution of popular programming languages, such as C++ and even Java, the effort to update those plugins has become unbearable. Thus, recent work aims to modularize IDEs and reuse the existing parser implementation directly in compilers. However, when IDE debugging tools are insufficient at detecting performance defects in large and multithreaded systems, developers must use tracing and trace visualization tools in their software development process. Those tools are often standalone applications and do not interoperate with the new modular IDEs, thus losing the power and the benefits of many features provided by the IDE. The structure and use cases of tracing tools, with the potentially massive execution traces, significantly differ from the other tools in IDEs. Thus, it is a considerable challenge, one which has not been addressed previously, to integrate them into the new modular IDEs. In this paper, we propose an efficient modular client–server architecture for trace analysis and visualization that solves those problems. The proposed architecture is well suited for performance analysis on Internet of Things (IoT) devices, where resource limitations often prohibit data collection, processing, and visualization all on the same device. The experimental evaluation demonstrated that our proposed flexible and reusable solution is scalable and has a small acceptable performance overhead compared to the standalone approach.


2020 ◽  
Vol 9 (2) ◽  
pp. 66-71
Author(s):  
Kartikadyota Kusumaningtyas ◽  
Eko Dwi Nugroho ◽  
Adri Priadana

COVID-19 has spread to various countries and affected many sectors, including education. New challenges arise in universities with study programs related to computer programming, which require a lot of practice. Difficulties encountered when students should setting up the environment needed to carry out programming practices. Furthermore, they should install a text editor called Integrated Development Environment (IDE) to support it. There is various online IDE that supports computer programming. However, students must have an internet connection to use it. After all, many students cannot afford to buy internet quotas to access online learning material during the COVID-19 pandemic. According to these problems, this study compares several online IDEs based on internet data usage and the necessary supporting libraries' availability. In this study, we only compared eleven online IDEs that support the Python programming language, free to access, and do not require logging in. Based on the comparative analysis, three online IDEs have most libraries supported. They are REPL.IT, CODECHEF, and IDEONE. Based on internet data usage, REPL.IT is an online IDE that requires the least transferred data. Moreover, this online IDE also has a user-friendly interface to place the left and right sides' code and output positions. It prevents the user from scrolling to see the results of the code that has been executed. The absence of advertisements also makes this online IDE a more focused appearance. Therefore, REPL.IT is highly recommended for users who have a limited internet quota, primarily to support the learning phase of computer programming during the COVID-19 pandemic.


Author(s):  
José Carlos Paiva ◽  
José Paulo Leal ◽  
Ricardo Alexandre Peixoto de Queirós

This chapter presents the architecture and design of Enki, an Integrated Development Environment (IDE) for learning programming languages on Massive Open Online Courses (MOOCs). This environment can be used as a tool by a Learning Management System (LMS) and a typical LMS such as Moodle can launch it using the Learning Tool Interoperability (LTI) API. Student authentication tokens are passed via LTI, thus integrating Enki in the single sign-on domain of the academic institution. The proposed tool has a web user interface similar to those of reference IDEs, where the learner has access to different integrated tools, from viewing tutorial videos, to solving programming exercises that are automatically evaluated. Enki uses several gamification strategies to engage learners, including generic gamifications services provided by Odin and the sequencing of educational resources. The course content (videos, PDFs, programming exercises) is progressively disclosed to the learner as he successfully completes exercises. This is similar to what happens in a game, where new levels are unlocked as the previous are completed, thus contributing to the sense of achievement.


Author(s):  
О. O Zhevaho

Purpose. This paper presents the findings of a review of the literature published in the twenty-first century in order to identify and analyze the current state of tools that track developer interactions with integrated development environments, as well as to recommend future research directions based on the actual state. Methodology. By systematically searching in five digital libraries we conducted a systematic review of the literature on data collection tools from integrated development environments published in the twenty-first century. Fifty-five papers were selected as primary studies. Findings. 55 articles were analyzed and the findings show that using an integrated development environment to collect usage data provides more insight into developer activities than it was previously possible. Usage data allows us to analyze how developers spend their time. With usage data, you can learn more about how developers create mental models, investigate code, conduct mini-experiments through trial and error, and what can help everyone improve performance. The research community continues to be highly active in developing tools to track developer activity. The findings indicate that more research is needed in this area to better understand and measure programmer behavior. Originality. For the first time, systematization and analysis of tools for tracking programmer's behavior in an integrated development environment have been carried out. Practical value. Our study contributes to a better understanding of the current state of research on programmer behavior in integrated development environments. An analysis of the study can help define a research agenda as a starting point for the creation of a novel practical tool.


2020 ◽  
Vol 14 (1) ◽  
pp. 1
Author(s):  
Mohammed Abu Shquier

Online education has positively influences student performance during universities lockdown nowadays due to COVID-19, in fact both educators and students have proven their ability to develop their teaching skills by emerging several technological tools. This article analyses the performance of two cohorts of students, the first cohort was taught traditionally while the other was taught online, the scope of this study is the students enrolled in programming languages at the Faculty of Computer Science and Information Technology at Jerash University, the study was carried out between the years 2017 - 2020. 1210 students have participated in the study. This study investigates a comparative study between different methods of delivering programming-languages courses over the 3-year period, the study also aims to shed light on the impact of traditional methods on delivering computer-programming courses and how it could be improved by emerging a SCORM learning multimedia and other learning modules, activities and resources. Result shows that online delivering of courses with the use of SCORM and other tools improves students’ scores and performance slightly, the article concludes that emerging technology to learning can improve the students' creativity, understanding and performance overall.


Author(s):  
Siyu Shi

This chapter introduces the history of Python and its IDEs (integrated development environment) and code editors as developing environment. The history tells how Python started from ABC programming language in the Netherlands to a community with developers from different areas, and later became one of the most popular programming languages in the world. Popular IDEs and Code Editor for professional developers and beginners are also introduced with their advantages and disadvantages. Later in this chapter, the authors introduce Python libraries, which could be used in statistical analysis, and give out a simple case on how these methods can be applied.


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):  
Wilda Susanti, Et. al.

In this paper, we review the literature related to computer programming learning, where Algorithms and Programming are the topic domains of the Informatics and Computer science clusters. There are 4 competencies in learning outcomes, such as: 1) understand algorithmic concepts; 2) master algorithm concepts and principles; 3) master programming language concepts; and 4) master programming languages and algorithms. The main focus of this review is on beginner programming and topics related to student difficulties in learning programming. Various problems experienced by beginners were identified from the literature to some of the solutions offered by researchers.


2017 ◽  
Vol 56 (3) ◽  
pp. 415-438 ◽  
Author(s):  
Michael Whitney ◽  
Heather Richter Lipford ◽  
Bill Chu ◽  
Tyler Thomas

Many of the software security vulnerabilities that people face today can be remediated through secure coding practices. A critical step toward the practice of secure coding is ensuring that our computing students are educated on these practices. We argue that secure coding education needs to be included across a computing curriculum. We are examining an approach that complements traditional classroom instruction by turning the student’s integrated development environment into an educational resource for secure coding instruction. In this article, we report on two formative and one summative study using our tool Educational Security in the Integrated Development Environment (ESIDE) in early and intermediate computer science programming courses. Our results support the viability of this approach to increase secure programming knowledge and awareness of students and also to identify several challenges for maximizing the learning opportunities within programming courses.


Sign in / Sign up

Export Citation Format

Share Document