Working Group Reports on ITiCSE on Innovation and Technology in Computer Science Education 2007
DOI: 10.1145/1345443.1345441
|View full text |Cite
|
Sign up to set email alerts
|

A survey of literature on the teaching of introductory programming

Abstract: Three decades of active research on the teaching of introductory programming has had limited effect on classroom practice. Although relevant research exists across several disciplines including education and cognitive science, disciplinary differences have made this material inaccessible to many computing educators. Furthermore, computer science instructors have not had access to a comprehensive survey of research in this area. This paper collects and classifies this literature, identifies important work and m… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
136
0
23

Year Published

2015
2015
2022
2022

Publication Types

Select...
6
3

Relationship

0
9

Authors

Journals

citations
Cited by 203 publications
(163 citation statements)
references
References 95 publications
0
136
0
23
Order By: Relevance
“…Fig. 2 presents an example where a UPC byte list (for ASCII strings) stores nucleotide characters for sequences reaching two bytes in equivalent length (i.e., a maximum length of 2 16 -1 instead of the default 2 8 -1 -ASCII_16). Since strings are stored as contiguous blocks within a list, removing and replacing can lead to excessive memory waste.…”
Section: Upc Stringsmentioning
confidence: 99%
See 1 more Smart Citation
“…Fig. 2 presents an example where a UPC byte list (for ASCII strings) stores nucleotide characters for sequences reaching two bytes in equivalent length (i.e., a maximum length of 2 16 -1 instead of the default 2 8 -1 -ASCII_16). Since strings are stored as contiguous blocks within a list, removing and replacing can lead to excessive memory waste.…”
Section: Upc Stringsmentioning
confidence: 99%
“…Java is a leading tool for embedded, web-based, and distributed software due to its rich feature set, which notably includes: its object-oriented paradigm; platform independence (portability); automatic garbage collection (decreasing code complexity and minimizing memory leaks); type safety; built-in networking and multithreading; extensive runtime, error checking, and application profiling to support development; and the Just-in-Time (JIT) compiler of the Java Virtual Machine (JVM), which approaches the speed of natively compiled code [2]- [15]. The developer community is continually expanding -with current estimates at 9 million -and an increasing number of universities offer Java in lieu of, for example, C/C++ [1], [12], [16]- [19]. Since 2001, the TIOBE software index, which uses search engine queries to indicate programming language popularity, has consistently ranked Java in the top two, alternating with C [20].…”
Section: Introductionmentioning
confidence: 99%
“…PAT (Programming Assistance Tool) becomes one of the tools that can be used to support related learning [7]. The use of PAT is believed to motivate the learners due to the learning activities are done as if playing a game.…”
Section: Introductionmentioning
confidence: 99%
“…The related bibliography is extensive [18] and there are many open discussions about the different approaches, for instance [14,22,21,15,5]. Although other authors defend the use of object oriented languages for introductory courses (see for example [17]), there is no consensus about which approach is better (objects early vs procedures early) [22,21,15,5].…”
Section: Introductionmentioning
confidence: 99%