Information Technology Reference
In-Depth Information
confront while learning the concept of variable; Kaczmarczyk et al. (
2010
) in-
vestigate learners' misconceptions of core basic computer science topics, e.g.,
memory models and assignment; Chaffin et al. (
2009
) suggest using a novel
game that provides computer science learners the opportunity to write code, and
base on visualization-based interaction to learn recursion by depth-first search of
a binary tree; Denier and Sahraoui (
2009
) suggest visualizing inheritance in ob-
ject-oriented programs to support learners' comprehension of this concept; Paul
and Vahrenhold (
2013
) present results of the assessment of first-year students'
misconceptions related to algorithms and data structures. They related to active
and passive knowledge with respect to the teaching instruments used; Karpierz
and Wolfman (
2014
) triangulate evidence for five misconceptions concerning
binary search trees and hash tables, and design and validate multiple-choice con-
cept inventory questions to measure the prevalence of these misconceptions.
•
Learning skills, e.g., problem solving, debugging, abstraction.
For example, Ar-
moni (
2009
) analyzes computer science learners' abilities to reduce solutions of
algorithmic problems; de Raadt et al. (
2004
) suggest a framework for instruc-
tion and assessment of problem-solving strategies; Edwards (
2003
) presents a
vision for computer science education driven by the use of test-driven develop-
ment; Murphy et al. (
2008
) present a qualitative analysis of debugging strate-
gies of novice Java programmers; McCauleya et al. (
2008
) review the literature
related to the learning and teaching of debugging computer programs; Miller
et al. (
2014
) investigated the integration of computational thinking and creative
thinking in CS1 to improve student learning performance according to Epstein's
Generativity Theory.
•
Learning and teaching programming paradigms
,
e.g.
,
functional
,
logical
,
procedural
,
object oriented
. For example, Van Roy et al. (
2003
) discuss the role of programming
paradigms in teaching programming; Stolin and Hazzan (
2007
) investigate students'
understanding of programming paradigm; Ragonis (
2010
) suggests a pedagogical
approach for discussing fundamental object-oriented programming principles by us-
ing the ADT SET; Haberman and Ragonis (
2010
) explore teaching implication with
respect to logic programming and object-oriented Programming; Bunde et al. (
2014
)
illustrated a variety of relevant language paradigms by presenting parallel implemen-
tations of the Game of Life.
• Learning and teaching programming languages within a particular paradigm,
e.g., with respect to object oriented programming languages: Smalltalk, Java,
C#, Python. For example, Fleck (
2007
) discusses Prolog as the first program-
ming language; Moritz and Blank (
2005
) explore a design-first curriculum for
teaching Java in a CS1 course; Miller (
2007
) explores Python as a learning and
teaching language.
•
Different teaching methods, e.g., laboratory work, projects-based learning, pat-
terns
. For example, Hanks (
2008
) explores the advantages of pair programming
while learning computer science; Soh et al. (
2005
) report on their framework
for designing, implementing, and maintaining closed laboratories in CS1; Hauer
and Daniels (
2008
) address open-ended group projects from a learning theory
perspective; Forišek and Steinov£ (
2010
) suggest a set of didactic games and
Search WWH ::
Custom Search