Pedagogy of teaching introductory text‐based programming in terms of computational thinking concepts and practices

Introduction Programming can be an intellectually satisfying skill and is definitely considered useful. However, problem‐solving with a computer involves much more than just learning programming language syntax. The theory and practice are interrelated in fascinating ways. Whether one thinks that th...

Full description

Saved in:
Bibliographic Details
Published in:Computer applications in engineering education Vol. 29; no. 1; pp. 29 - 45
Main Authors: Kandemir, Celal Murat, Kalelioğlu, Filiz, Gülbahar, Yasemin
Format: Journal Article
Language:English
Published: Hoboken Wiley Subscription Services, Inc 01.01.2021
Subjects:
ISSN:1061-3773, 1099-0542
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Introduction Programming can be an intellectually satisfying skill and is definitely considered useful. However, problem‐solving with a computer involves much more than just learning programming language syntax. The theory and practice are interrelated in fascinating ways. Whether one thinks that the purpose of college or higher education is to prepare students for an occupation or to develop foundational knowledge with lifetime benefits (or both), computer science (CS) has become a fundamental part of 21st‐century life. Even students studying in areas other than CS are likely to have significant encounters with computational thinking (CT) later on in life. Motivation and Objectives Colleges and universities offer the opportunity for students to take as many courses as they desire in coding, programming, and CS taught by faculty members from that discipline area. However, this approach alone is deemed insufficient for computer‐based problem‐solving and computer programming. Effective programming teaching pedagogy also requires organizational principles that can guide us in formulating the overall design of a programming science curriculum (CS). In particular, we need strategies that help us structure multiple paradigm‐based teaching curricula into manageable modules. This study aims to develop a framework for programming pedagogy. Research Methodology and Methods A systematic literature review was conducted for identifying, evaluating, and interpreting relevant research to explore programming paradigms that could be incorporated for novice programmers, possible implementation strategies, and instructional methods for teaching text‐based programming, CT concepts, and practices. Results and Findings This paper's focus was on the pedagogical phenomenon of teaching programming considering the evolving paradigms, implementation strategies, and instructional methods and techniques through the lens of CT. Hence, a framework to design a learning path for pedagogical approaches that consist of CT concepts and practices within text‐based programming were proposed. The proposed framework is based on the assumption that “any ongoing research on computing pedagogy requires a review of what CT is, how it impacts on teaching and learning and its role within the pedagogy advocated.” The programming pedagogy framework consists of four fundamental components: programming paradigm, implementation strategy, instructional methods, and instructional techniques.
Bibliography:ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ISSN:1061-3773
1099-0542
DOI:10.1002/cae.22374