11 papers · ranked by Valyu relevance
Charles R. Harris, K. Jarrod Millman, Stéfan J. van der Walt, Ralf Gommers + 22 more
'Ralf Gommers' 'Pauli Virtanen' 'David Cournapeau' 'Eric Wieser' 'Julian Taylor' 'Sebastian Berg' 'Nathaniel J. Smith' 'Robert Kern' 'Matti Picus' 'Stephan Hoyer' 'Marten H. van Kerkwijk' 'Matthew Brett' 'Allan Haldane' 'Jaime Fernández del Río' 'Mark Wiebe' 'Pearu Peterson' 'Pierre Gérard-Marchant' 'Kevin Sheppard'…
C. R. Harris, K. Jarrod Millman, Stéfan van der Walt, Ralf Gommers + 22 more
'Pauli Virtanen' 'David Cournapeau' 'Eric Wieser' 'Julian Taylor' 'Sebastian Berg' 'Nathaniel J. Smith' 'Robert Kern' 'Matti Picus' 'Stephan Hoyer' 'M. H. van Kerkwijk' 'Matthew Brett' 'Allan Haldane' 'Jaime Fernández del Río' 'Mark Wiebe' 'Pearu Peterson' 'P Gerard-Marchant' 'Kevin Sheppard' 'Tyler Reddy' 'Warren…
Beatrice Åkerblom, Elias Castegren, Tobias Wrigstad
The array is a fundamental data structure that provides an efficient way to store and retrieve non-sparse data contiguous in memory. Arrays are important for the performance of many memory-intensive applications due to the design of modern memory hierarchies: contiguous storage facilitates spatial locality and…
Peng Chen, Fenghao Liu, Peng Lin, Peihong Li + 3 more
'Gang Pan'] Emerging memories have been developed as new physical infrastructures for hosting neural networks owing to their low-power analog computing characteristics. However, accurately and efficiently programming devices in an analog-valued array is still largely limited by the intrinsic physical non-idealities of…
Craig Rasmussen, Matthew Sottile, Daniel J. Nagle, Søren Rasmussen
Emerging hybrid accelerator architectures for high performance computing are often suited for the use of a data-parallel programming model. Unfortunately, programmers of these architectures face a steep learning curve that frequently requires learning a new language (e.g., OpenCL). Furthermore, the distributed (and…
Marco T. Morazán
Vector programming is an important topic in many Introduction to Computer Science courses. Despite the importance of vectors, learning vector programming is a source of frustration for many students. Much of the frustration is rooted in discovering the source of bugs that are manifested as out-of-bounds indexing. The…
Jan C. Dageförde, Herbert Kuchen
Constraint-logic object-oriented programming provides a useful symbiosis between object-oriented programming and constraint-logic search. The ability to use logic variables, constraints, non-deterministic search, and object-oriented programming in an integrated way facilitates the combination of search-related program…
Patrik Christen
—This study explores running times of different ways to program cellular automata in C and C++, i.e. looping through arrays by different means, the effect of structures and objects, and the choice of data structure (array versus vector in C++) and compiler (GNU gcc versus Apple clang). Using arrays instead of vectors…
Hasan M. Jamil
With the future likely to see even more pervasive computation, computational thinking (problem-solving skills incorporating computing knowledge) is now being recognized as a fundamental skill needed by all students. Computational thinking is conceptualizing as opposed to programming, promotes natural human thinking…
Koichi Yamashita, Ryota Fujioka, Satoru Kogure, Yasuhiro Noguchi + 2 more
'Tatsuhiro Konishi' 'Yukihiro Itoh'] Pointers are difficult learning targets for novice learners of C programming. For such difficult targets, introducing a system visualizing program behaviors is generally expected to support learners to understand the targets. However, visualization in existing systems often conceals…
Muhammad Shoaib Farooq, Sher Afzal Khan, Farooq Ahmad, Saeed Islam + 2 more
'Adnan Abid' 'Hussein Suleman'] Computer programming is the core of computer science curriculum. Several programming languages have been used to teach the first course in computer programming, and such languages are referred to as first programming language (FPL). The pool of programming languages has been evolving…