One step at a time: Parallelism in an introductory programming course

Journal of Parallel and Distributed Computing - Tập 105 - Trang 4-17 - 2017
Steven A. Bogaerts1
1DePauw University, 602 S. College Ave., Greencastle, IN 46135, USA

Tài liệu tham khảo

2013 Adams, 2015, Tsgl a thread safe graphics library for visualizing parallelism, Procedia Comput. Sci., 51, 1986, 10.1016/j.procs.2015.05.463 T.C. Bell, I.H. Witten, M.R. Fellows, R. Adams, J. McKenzie, M. Powell, CS Unplugged: An Enrichment and Extension Programme for Primary-aged Students, 2015. URL http://csunplugged.org/. Bloom, 1956, 56 Bogaerts, 2013, Hands-on exploration of parallelism for absolute beginners with scratch, 1263 Bogaerts, 2014, Limited time and experience: Parallelism in CS1, 1071 S. Bogaerts, K. Burke, B. Shelburne, E. Stahlberg, Concurrency and parallelism as a medium for computer science concepts, in: Curricula for Concurrency and Parallelism workshop at Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH), Reno, NV, USA, 2010. S. Bogaerts, K. Burke, E. Stahlberg, Integrating parallel and distributed computing into undergraduate courses at all levels, in: First NSF/TCPP Workshop on Parallel and Distributed Computing Education (EduPar-11), Anchorage, AK, 2011. K. Brennan, M. Resnick, New frameworks for studying and assessing the development of computational thinking, in: Proceedings of the 2012 annual meeting of the American Educational Research Association, Vancouver, Canada, 2012, pp. 1–25. Brown, 2009, Hadoop at home: Large-scale computing at a small college, SIGCSE Bull., 41, 106, 10.1145/1539024.1508904 Brown, 2011, Modules in community: Injecting more parallelism into computer science curricula, 447 Brown, 2012, CSinParallel and synergy for rapid incremental addition of PDC into CS curricula, 1329 Brown, 2010, Strategies for preparing computer science students for the multicore world, 97 Bruce, 2010, Introducing concurrency in CS 1, 224 Chesebrough, 2010, Parallel computing: At the interface of high school and industry, 280 Dean, 2008, Mapreduce: Simplified data processing on large clusters, Commun. ACM, 51, 107, 10.1145/1327452.1327492 Ernst, 2008, Concurrent CS: Preparing students for a multicore world, SIGCSE Bull., 40, 230, 10.1145/1597849.1384333 Garrity, 2011, Webmapreduce: An accessible and adaptable tool for teaching map-reduce computing, 183 Grossman, 2012, Introducing parallelism and concurrency in the data structures course, 505 M. Johnson, R.H. Liao, A. Rasmussen, R. Sridharan, D.D. Garcia, B. Harvey, Infusing parallelism into introductory computer science curriculum using mapreduce, EECS Department, University of California, Berkeley, Tech. Rep. Kitchen, 1992, Game playing as a technique for teaching parallel computing concepts, SIGCSE Bull., 24, 35, 10.1145/142040.142064 M. Kölling, et al. Bluej, http://www.bluej.org, (accessed: 18.05.16). Lu, 2014, Teaching true computer science principles to the general student, J. Comput. Sci. Coll., 29, 233 Maxim, 1990, Introducing parallel algorithms in undergraduate computer science courses (tutorial session), 255 McGuire, 2010, Introducing multi-core programming into the lower-level curriculum: An incremental approach, J. Comput. Sci. Coll., 25 Misra, 2009, A music context for teaching introductory computing, SIGCSE Bull., 41, 248, 10.1145/1595496.1562955 Mouza, 2016, Development, implementation, and outcomes of an equitable computer science after-school program: Findings from middle-school students, J. Res. Technol. Educ., 48, 84, 10.1080/15391523.2016.1146561 Neeman, 2006, Analogies for teaching parallel computing to inexperienced programmers, SIGCSE Bull., 38, 64, 10.1145/1189136.1189172 Payne, 2011, Drhj: A lightweight pedagogic ide for habanero java, 147 S.K. Prasad, A. Chtchelkanova, F. Dehne, M. Gouda, A. Gupta, J. Jaja, K. Kant, A. La Salle, R. LeBlanc, A. Lumsdaine, D. Padua, M. Parashar, V. Prasanna, Y. Robert, A. Rosenberg, S. Sahni, B. Shirazi, A. Sussman, C. Weems, J. Wu, NSF/IEEE-TCPP curriculum initiative on parallel and distributed computing - core topics for undergraduates, version I, http://www.cs.gsu.edu/~tcpp/curriculum/index.php (2012). Rague, 2009, Teaching parallel thinking to the next generation of programmers, J. Educ., Inform.Cybernet., 1, 43 Rague, 2012, Exploring concurrency using the parallel analysis tool, 511 Torbert, 2010, Is teaching parallel algorithmic thinking to high school students possible?: One teacher’s experience, 290 Touretzky, 2013, Accelerating k-12 computational thinking using scaffolding, staging, and abstraction, 609