A Cognitive Based Approach For Teaching Programming To Computer Science And Engineering Students (original) (raw)
Related papers
An ITiCSE 2004 Working Group: A Study of the Programming Knowledge of First-Year CS Students
www-staff.it.uts.edu.au
Despite our best efforts, many students are still challenged by programming. A 2001 ITiCSE working group (the “McCracken group”) assessed the programming ability of a large population of students from eight universities, in the United States and four other countries [McCracken, 2001]. Each author tested his or her own students from a common set of programming problems. The students at each institution were required to write a program to solve one of the problems. Most students at all the institutions performed much more ...
ACM SIGCSE …, 2001
In computer science, an expected outcome of a student's education is programming skill. This working group investigated the programming competency students have as they complete their first one or two courses in computer science. In order to explore options for assessing students, the working group developed a trial assessment of whether students can program. The underlying goal of this work was to initiate dialog in the Computer Science community on how to develop these types of assessments. Several universities participated in our trial assessment and the disappointing results suggest that many students do not know how to program at the conclusion of their introductory courses. For a combined sample of 216 students from four universities, the average score was 22.89 out of 110 points on the general evaluation criteria developed for this study. From this trial assessment we developed a framework of expectations for first-year courses and suggestions for further work to develop more comprehensive assessments.
A Redesigned Pedagogy In Introductory Programming Reduces Failure And Withdrawal Rates By Half
2014
It is well documented that introductory computer<br> programming courses are difficult and that failure rates are high. The<br> aim of this project was to reduce the high failure and withdrawal rates<br> in learning to program. This paper presents a number of changes in<br> module organization and instructional delivery system in teaching<br> CS1. Daily out of class help sessions and tutoring services were<br> applied, interactive lectures and laboratories, online resources, and<br> timely feedback were introduced. Five years of data of 563 students<br> in 21 sections was collected and analyzed. The primary results show<br> that the failure and withdrawal rates were cut by more than half.<br> Student surveys indicate a positive evaluation of the modified<br> instructional approach, overall satisfaction with the course and<br> consequently, higher success and retention rates.
Causes of Failure of Students in Computer Programming Courses: The Teacher – Learner Perspective
There are many factors that influence the high rate of failure of students in computer programming courses. This paper focuses on the teaching methodologies and strategies that are implemented in teaching programming courses. This is a major factor for consideration; hence an investigation into the causes of failure of students in programming courses from the learner perspective with regard to the teaching methodology used by teachers to teach these courses is relevant. Programming courses form part of the core concentration areas for students especially studying Information Technology (IT) and Computer Science (CS) as an undergraduate degree program. Programming students are expected to demonstrate competencies in the principles of programming and logic that are being taught in the course; even though some of these concepts are highly abstract and complex. Their opinions to the usefulness of the teaching methods being implemented in programming courses were sought for. The needs and concerns about the teaching methods are highlighted in the survey and discussed thereby leading to the making of suggestions about the ways to improve the teaching methods that are used in computer programming courses in order to improve understanding of programming, when studied by students thereby minimizing failure rates.
An Exploration into Effective Teaching of Introductory Programming
2015
New Software based systems are being built in all engineering domains and their number is on the rise. Thus there exists a demand for high-quality professionals who can develop reliable and maintainable software for building such systems. It is also widely known now that, more often than not ,software components are the weakest link in terms of being the triggers for system failures. In this context, programming is an activity that needs to be carried out with rigour and discipline to develop reliable and maintainable software. This article argues that it is only right learning of programming by our undergraduate students in our colleges and universities in India that can address the requirement of high-quality professionals being involved in developing software for various systems. However , this is possible only if right teaching methodologies of programming are practised by the teachining community in various science and engineering colleges in India. A survey of the foundational...
Introductory programming course: review and future implications
PeerJ Computer Science, 2021
The introductory programming course (IPC) holds a special significance in computing disciplines as this course serves as a prerequisite for studying the higher level courses. Students generally face difficulties during their initial stages of learning how to program. Continuous efforts are being made to examine this course for identifying potential improvements. This article presents the review of the state-of-the-art research exploring various components of IPC by examining sixty-six articles published between 2014 and 2020 in well-reputed research venues. The results reveal that several useful methods have been proposed to support teaching and learning in IPC. Moreover, the research in IPC presented useful ways to conduct assessments, and also demonstrated different techniques to examine improvements in the IPC contents. In addition, a variety of tools are evaluated to support the related course processes. Apart from the aforementioned facets, this research explores other interest...
Many factors can be attributed to the high rate of failure in computer programming courses. This paper studies the background of students, their fields of study and learning approaches applied to the study of programming courses. It is worth considering as a major factor and necessary to research into the causes of failure of students in programming courses from the learner perspective. Programming courses form part of the core concentration areas for students especially studying Information Technology (IT) and Computer Science as well as those other fields of study sandwiched with IT in an undergraduate degree programs. Through the use of questionnaires, interviews and focused group, a survey was conducted using one hundred (100) students at the middle and end of the semester. The responses from the three groups of students were compared. Their opinions to the usefulness of their background, field of study and learning approaches toward programming courses were investigated. The needs and concerns about these key factors are highlighted in the survey and discussed thereby leading to the inferences made and then proposed recommendations on the learning approach in relation to the background and field of study of students in computer programming courses in order to improve understanding of programming by students, hence, reducing failure rates.
Teaching computer programming: Practices, difficulties and opportunities
2015 IEEE Frontiers in Education Conference (FIE), 2015
It is highly recognized that difficulties involved in teaching programming in an introductory course, arise from the cognitive process complexity that is necessary for developing this ability. Previous studies on the best first programming language or the best first programming paradigm have been conducted. Even, the most appropriate integrated development environment (IDE) for novice programmers has been inquired, and the most appropriate problem solving strategy to teach to write computable solutions has been researched.