scholarly journals Metacognitive Strategies in Teaching and Learning Computer Programming

2018 ◽  
Vol 7 (4.38) ◽  
pp. 788 ◽  
Author(s):  
Siti Nurulain Mohd Rum ◽  
Maslina Zolkepli

It has been noted that teaching and learning programming is challenging in computer science education and that this is a universal problem. To understand and to code programs are perceived as being very challenging in computer science education. This is due to the demand for practical ability rather than theory alone. Studies have revealed that students with metacognitive management skills perform well in programming compared to lower-performing students. The more difficult the programming activity, the greater the need for the programmer to own metacognitive control skills. The cognitive processes in learning computer programming require a novice programmer to develop metacognitive skills. The main objective of this research work is to identify the metacognitive strategies in teaching and learning programming. An exploratory study was setup to identify the level of metacognition awareness of novice programmers using the MAI instrument. Interview sessions with expert lecturers were also conducted to identify the metacognitive approaches and the pedagogical method applied in the teaching and learning activities. The learning behaviours of novices were also identified through the interviewing sessions.  It can be concluded that there is a correlation between the metacognitive awareness level of an individual and their academic achievement.  

2021 ◽  
Vol 21 (2) ◽  
pp. 1-31
Author(s):  
Joslenne Peña ◽  
Benjamin V. Hanrahan ◽  
Mary Beth Rosson ◽  
Carmen Cole

Many initiatives have focused on attracting girls and young women (K-12 or college) to computer science education. However, professional women who never learned to program have been largely ignored, despite the fact that such individuals may have many opportunities to benefit from enhanced skills and attitudes about computer programming. To provide a convenient learning space for this population, we created and evaluated the impacts of a nine-week web development workshop that was carefully designed to be both comfortable and engaging for this population. In this article, we report how the professionals’ attitudes and skills grew over the course of the workshop and how they now expect to integrate these skills and attitudes into their everyday lives.


Author(s):  
Antonio Pérez-Carrasco ◽  
J. Ángel Velázquez-Iturbide

One concept that has proved to be especially difficult to comprehend in computer science education is recursion. This chapter provides an overview of past efforts on the teaching of recursion. The authors first introduce concepts and models about the teaching and learning of recursion. In particular, they identify models used by teachers to explain recursion (i.e. conceptual models) and models used by students in their learning process (i.e. mental models). Afterwards, they review the teaching methods used in the past. Finally, the authors survey visualization and animation systems for recursion, explaining how they support conceptual models and how they try to remove wrong mental models. They also include a comprehensive technical comparison of the systems and review the evaluations these systems have been subject to.


Author(s):  
Anabela de Jesus Gomes ◽  
António José Mendes ◽  
Maria José Marcelino

This chapter aims to present and summarize a variety of research areas that directly or indirectly have influenced Computer Science Education Research, particularly associated to the teaching and learning of programming. It is known that many students encounter a lot of difficulties in introductory programming courses. Possible reasons for these difficulties are discussed and some existing proposals in the literature are presented. Based on this discussion, the chapter also includes a description of work done at the University of Coimbra, trying to define more adequate pedagogical strategies for introductory programming courses. The results obtained and their implementation in a common undergraduate course are presented and discussed. The authors conclude that this new strategy makes learning more stimulating for the students, minimizes dropout intentions, and makes the students learn more and better. The chapter ends with suggestions of future research opportunities within the topic of teaching and learning of programming.


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.


Author(s):  
J. Ángel Velázquez-Iturbide ◽  
Ouafae Debdi ◽  
Maximiliano Paredes-Velasco

Algorithmics is an important core subject matter in computer science education. In particular, optimization algorithms are some of the most difficult to master because their problem statement includes an additional property, namely optimality. The chapter contains a comprehensive survey of the teaching and learning through practice of optimization algorithms. In particular, three important issues are reviewed. Firstly, the authors review educational methods which partially or completely address optimization algorithms. Secondly, educational software systems are reviewed and classified according to technical and educational criteria. Thirdly, students' difficulties and misunderstandings regarding optimization algorithms are presented. The chapter intends to consolidate current knowledge about the education of this class of algorithms for both computer science teachers and computer science education researchers.


Author(s):  
Yin Zhang

Real-life software development requires practical developers. This chapter discusses the challenges put by real-life software development on computer science education of modern universities, and how to face these challenges by changing traditional teaching and learning to a PBL-based approach. Based on a literature review on PBL theories, methods and tools, and observations made in classrooms and group rooms at Aalborg University, this chapter discusses possible aspects to consider when changing traditional computer science classrooms. A case is then used to demonstrate the process of changing traditional teaching and learning of a computer science course named Visual Programming and Applications to a PBL-based approach.


Author(s):  
Nurul I. Sarkar ◽  
Trevor Craig

Computer hardware, number systems, CPU, memory and I/O (input/output) ports are topics often included in computer science, electronics, and engineering courses as fundamental concepts involved in computer hardware. We believe that students learn computer hardware fundamentals better if they are given practical learning exercises that illustrate theoretical concepts. However, only a limited range of material designed specifically to supplement the teaching of computer hardware concepts is publicly available (see http://sigcse.org/topics/, the SIGCSE Education Links page on the Special Interest Group on Computer Science Education Web site).


2018 ◽  
Vol 60 (2) ◽  
pp. 69-77
Author(s):  
Marc Berges

Abstract The efforts around the world – CS4All in the U.S. or Computing At School in Great Britain – show that computing literacy is seen as important. One important part of computer science education deals with learning programming. So, object orientation should be in focus. But what is object orientation? Several different definitions are presented, and a definition of object orientation by its fundamental concepts is introduced. Furthermore, several educational “paradigms” are discussed. Additionally, a choice of object-oriented programming languages is presented. After all that theoretical background, some exemplary implementations of object orientation in national (German) and international curricula are shown. All in all, the article provides a broad overview of the topic of object-oriented programming in computer science education.


Sign in / Sign up

Export Citation Format

Share Document