Pedagogy and tools for teaching parallel computing at the sophomore undergraduate level

As the need for multicore-aware programmers rises in both science and industry, Computer Science departments in universities around the USA are having to rethink their parallel computing curriculum. At Rice University, this rethinking took the shape of COMP 322, an introductory parallel programming...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:Journal of parallel and distributed computing Ročník 105; s. 18 - 30
Hlavní autori: Grossman, Max, Aziz, Maha, Chi, Heng, Tibrewal, Anant, Imam, Shams, Sarkar, Vivek
Médium: Journal Article
Jazyk:English
Vydavateľské údaje: Elsevier Inc 01.07.2017
Predmet:
ISSN:0743-7315, 1096-0848
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
Abstract As the need for multicore-aware programmers rises in both science and industry, Computer Science departments in universities around the USA are having to rethink their parallel computing curriculum. At Rice University, this rethinking took the shape of COMP 322, an introductory parallel programming course that is required for all Bachelors students. COMP 322 teaches students to reason about the behavior of parallel programs, educating them in both the high level abstractions of task-parallel programming as well as the nitty gritty details of working with threads in Java. In this paper, we detail the structure, principles, and experiences of COMP 322, gained from 6 years of teaching parallel programming to second-year undergraduates. We describe in detail two particularly useful tools that have been integrated into the curriculum: the HJlibparallel programming library and the Habanero Autograder for parallel programs. We present this work with the hope that it will help augment improvements to parallel computing education at other universities. •An overview of parallel computing pedagogy at Rice University, including a unique approach to incrementally teaching parallel programming: from abstract parallel concepts to hands-on experience with industry-standard frameworks.•A description of the HJlib parallel programming library and its applicability to parallel programming education.•A description of the motivation, design, and implementation of the Habanero Autograder, a tool for providing automated and immediate feedback to students on programming assignments.•A discussion of unexpected benefits from using the Habanero Autograder as part of Rice University’s core parallel computing curriculum.
AbstractList As the need for multicore-aware programmers rises in both science and industry, Computer Science departments in universities around the USA are having to rethink their parallel computing curriculum. At Rice University, this rethinking took the shape of COMP 322, an introductory parallel programming course that is required for all Bachelors students. COMP 322 teaches students to reason about the behavior of parallel programs, educating them in both the high level abstractions of task-parallel programming as well as the nitty gritty details of working with threads in Java. In this paper, we detail the structure, principles, and experiences of COMP 322, gained from 6 years of teaching parallel programming to second-year undergraduates. We describe in detail two particularly useful tools that have been integrated into the curriculum: the HJlibparallel programming library and the Habanero Autograder for parallel programs. We present this work with the hope that it will help augment improvements to parallel computing education at other universities. •An overview of parallel computing pedagogy at Rice University, including a unique approach to incrementally teaching parallel programming: from abstract parallel concepts to hands-on experience with industry-standard frameworks.•A description of the HJlib parallel programming library and its applicability to parallel programming education.•A description of the motivation, design, and implementation of the Habanero Autograder, a tool for providing automated and immediate feedback to students on programming assignments.•A discussion of unexpected benefits from using the Habanero Autograder as part of Rice University’s core parallel computing curriculum.
Author Aziz, Maha
Chi, Heng
Tibrewal, Anant
Sarkar, Vivek
Imam, Shams
Grossman, Max
Author_xml – sequence: 1
  givenname: Max
  surname: Grossman
  fullname: Grossman, Max
  email: jmaxg3@gmail.com
– sequence: 2
  givenname: Maha
  surname: Aziz
  fullname: Aziz, Maha
– sequence: 3
  givenname: Heng
  surname: Chi
  fullname: Chi, Heng
– sequence: 4
  givenname: Anant
  surname: Tibrewal
  fullname: Tibrewal, Anant
– sequence: 5
  givenname: Shams
  surname: Imam
  fullname: Imam, Shams
– sequence: 6
  givenname: Vivek
  surname: Sarkar
  fullname: Sarkar, Vivek
BookMark eNp9kMtqwzAQRUVJoUnaH-hKP2BXD1u2oZsS-oJAu2jpUgzSKJFxLCMrgfx9Y9JVF1nNZeBcuGdBZn3okZB7znLOuHpo83awJhennHORM6GuyJyzRmWsLuoZmbOqkFkleXlDFuPYMsZ5WdVz8vOJFjZhc6TQW5pC6EbqQqQJwWx9v6EDROg67KgJu2GfphckmrZIxzBswy5EpPveYtxEsHtISDs8YHdLrh10I9793SX5fnn-Wr1l64_X99XTOjOSsZQ1hXBcQiGdRGlB2aZCVzNZVo0TJVe8ltyUrnCFkhIYKsWFUFCrRqFU4OSS1OdeE8M4RnTa-ATJhz5F8J3mTE-CdKsnQXoSpLnQJ0EnVPxDh-h3EI-XocczhKdRB49Rj8Zjb9D6iCZpG_wl_BcVCIIs
CitedBy_id crossref_primary_10_1007_s12652_020_01695_8
crossref_primary_10_1051_shsconf_20207504017
crossref_primary_10_1016_j_jpdc_2021_05_008
crossref_primary_10_1016_j_jpdc_2018_02_019
crossref_primary_10_3390_computers10050068
crossref_primary_10_1016_j_jpdc_2021_05_013
crossref_primary_10_1145_3148760
crossref_primary_10_3233_MGS_210347
crossref_primary_10_1016_j_jpdc_2018_02_024
crossref_primary_10_1016_j_jpdc_2021_07_018
crossref_primary_10_1016_j_jpdc_2025_105092
Cites_doi 10.1145/4472.4478
10.1177/1094342007078442
10.1145/2647508.2647514
10.1145/1103845.1094852
10.1002/spe.522
ContentType Journal Article
Copyright 2017 Elsevier Inc.
Copyright_xml – notice: 2017 Elsevier Inc.
DBID AAYXX
CITATION
DOI 10.1016/j.jpdc.2016.12.026
DatabaseName CrossRef
DatabaseTitle CrossRef
DatabaseTitleList
DeliveryMethod fulltext_linktorsrc
Discipline Education
Computer Science
EISSN 1096-0848
EndPage 30
ExternalDocumentID 10_1016_j_jpdc_2016_12_026
S0743731517300047
GroupedDBID --K
--M
-~X
.~1
0R~
1B1
1~.
1~5
29L
4.4
457
4G.
5GY
5VS
7-5
71M
8P~
9JN
AACTN
AAEDT
AAEDW
AAIAV
AAIKJ
AAKOC
AALRI
AAOAW
AAQFI
AAQXK
AAXUO
AAYFN
ABBOA
ABEFU
ABFNM
ABFSI
ABJNI
ABMAC
ABTAH
ABXDB
ABYKQ
ACDAQ
ACGFS
ACNNM
ACRLP
ACZNC
ADBBV
ADEZE
ADFGL
ADHUB
ADJOM
ADMUD
ADTZH
AEBSH
AECPX
AEKER
AENEX
AFKWA
AFTJW
AGHFR
AGUBO
AGYEJ
AHHHB
AHJVU
AHZHX
AIALX
AIEXJ
AIKHN
AITUG
AJBFU
AJOXV
ALMA_UNASSIGNED_HOLDINGS
AMFUW
AMRAJ
AOUOD
ASPBG
AVWKF
AXJTR
AZFZN
BJAXD
BKOJK
BLXMC
CAG
COF
CS3
DM4
DU5
E.L
EBS
EFBJH
EFLBG
EJD
EO8
EO9
EP2
EP3
F5P
FDB
FEDTE
FGOYB
FIRID
FNPLU
FYGXN
G-2
G-Q
G8K
GBLVA
GBOLZ
HLZ
HVGLF
HZ~
H~9
IHE
J1W
JJJVA
K-O
KOM
LG5
LG9
LY7
M41
MO0
N9A
O-L
O9-
OAUVE
OZT
P-8
P-9
P2P
PC.
Q38
R2-
RIG
ROL
RPZ
SBC
SDF
SDG
SDP
SES
SET
SEW
SPC
SPCBC
SST
SSV
SSZ
T5K
TN5
TWZ
WUQ
XJT
XOL
XPP
ZMT
ZU3
ZY4
~G-
~G0
9DU
AATTM
AAXKI
AAYWO
AAYXX
ABDPE
ABWVN
ACLOT
ACRPL
ACVFH
ADCNI
ADNMO
ADVLN
AEIPS
AEUPX
AFJKZ
AFPUW
AGQPQ
AIGII
AIIUN
AKBMS
AKRWK
AKYEP
ANKPU
APXCP
CITATION
EFKBS
~HD
ID FETCH-LOGICAL-c300t-942f13a43f3e3da6d97ef803579f25161831c5f4f4633a0e661226a8696e36af3
ISICitedReferencesCount 26
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000400536800003&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 0743-7315
IngestDate Tue Nov 18 21:55:57 EST 2025
Sat Nov 29 07:09:14 EST 2025
Fri Feb 23 02:31:21 EST 2024
IsPeerReviewed true
IsScholarly true
Keywords JVM
Java
Autograding
Pedagogy
Education
MPI
Tools
Parallel
Multi-threading
Language English
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-c300t-942f13a43f3e3da6d97ef803579f25161831c5f4f4633a0e661226a8696e36af3
PageCount 13
ParticipantIDs crossref_citationtrail_10_1016_j_jpdc_2016_12_026
crossref_primary_10_1016_j_jpdc_2016_12_026
elsevier_sciencedirect_doi_10_1016_j_jpdc_2016_12_026
PublicationCentury 2000
PublicationDate July 2017
2017-07-00
PublicationDateYYYYMMDD 2017-07-01
PublicationDate_xml – month: 07
  year: 2017
  text: July 2017
PublicationDecade 2010
PublicationTitle Journal of parallel and distributed computing
PublicationYear 2017
Publisher Elsevier Inc
Publisher_xml – name: Elsevier Inc
References U. of Maryland, Findbugs - find bugs in java programs, 2006.
M. Aziz, H. Chi, Anant Tibrewal, M. Grossman, V. Sarkar, Auto-Grading for Parallel Programs, in: Workshop on Education for High-Performance Computing, EduHPC.
Brian Goetz, State of the Lambda: Libraries Edition, 2013.
J. Manson, Lightweight java profiiler, 2015.
Halstead (br000050) 1985; 7
E. Allan, D. Chase, J. Hallett, V. Luchangco, J.-W. Maessen, G.L. Ryu, Sukyoung Steele Jr., S. Tobin-Hochstadt, The Fortress Language Specification Version 1.0, 2008.
Imam, Sarkar (br000065) 2012
Habanero-Java Library Javadoc, 2014.
Reinders (br000120) 2007
Cavé, Zhao, Guo, Sarkar (br000020) 2011
Java Concurrency Utilities, 2014.
Agha (br000005) 1986
Alex Miller, Set your Java 7 Phasers to stun, 2008.
S. Imam, V. Sarkar, Habanero-java library: A java 8 framework for multicore programming, in: Proceedings of the 2014 International Conference on Principles and Practices of Programming on the Java platform: Virtual machines, Languages, and Tools, ACM, pp. 75–86.
Lea (br000075) 2000
Prasad, Gupta, Rosenberg, Sussman, Weems (br000115) 2015
Martin Odersky, Functional Programming Principles in Scala, 2016.
Shirako, Peixotto, Sarkar, Scherer (br000125) 2008
Taşırlar, Sarkar (br000135) 2011
Leal, Silva (br000080) 2003; 33
Charles, Grothoff, Saraswat, Donawa, Kielstra, Ebcioglu, von Praun, Sarkar (br000030) 2005; 40
Chamberlain, Callahan, Zima (br000025) 2007; 21
.
J. Spacco, Marmoset: a programming project assignment framework to improve the feedback cycle for students, faculty and researchers, 2006.
L. Nakleh, Comp 182: Algorithmic thinking, 2016
Wen-mei Hwu, Heterogeneous Parallel Programming, 2012.
Leijen, Schulte, Burckhardt (br000085) 2009
K. Ebcioglu, V. Saraswat, V. Sarkar, X10: An experimental language for high productivity programming of scalable systems, in: Proceedings of the Second Workshop on Productivity and Performance in High-End Computing, PPHEC-05, 2005.
Reinders (10.1016/j.jpdc.2016.12.026_br000120) 2007
Shirako (10.1016/j.jpdc.2016.12.026_br000125) 2008
Imam (10.1016/j.jpdc.2016.12.026_br000065) 2012
10.1016/j.jpdc.2016.12.026_br000090
10.1016/j.jpdc.2016.12.026_br000070
Prasad (10.1016/j.jpdc.2016.12.026_br000115) 2015
Agha (10.1016/j.jpdc.2016.12.026_br000005) 1986
Leijen (10.1016/j.jpdc.2016.12.026_br000085) 2009
10.1016/j.jpdc.2016.12.026_br000105
Leal (10.1016/j.jpdc.2016.12.026_br000080) 2003; 33
Cavé (10.1016/j.jpdc.2016.12.026_br000020) 2011
Lea (10.1016/j.jpdc.2016.12.026_br000075) 2000
10.1016/j.jpdc.2016.12.026_br000060
10.1016/j.jpdc.2016.12.026_br000040
10.1016/j.jpdc.2016.12.026_br000045
10.1016/j.jpdc.2016.12.026_br000100
Halstead (10.1016/j.jpdc.2016.12.026_br000050) 1985; 7
Charles (10.1016/j.jpdc.2016.12.026_br000030) 2005; 40
Chamberlain (10.1016/j.jpdc.2016.12.026_br000025) 2007; 21
10.1016/j.jpdc.2016.12.026_br000035
10.1016/j.jpdc.2016.12.026_br000015
Taşırlar (10.1016/j.jpdc.2016.12.026_br000135) 2011
10.1016/j.jpdc.2016.12.026_br000095
10.1016/j.jpdc.2016.12.026_br000010
10.1016/j.jpdc.2016.12.026_br000130
10.1016/j.jpdc.2016.12.026_br000055
10.1016/j.jpdc.2016.12.026_br000110
References_xml – reference: Habanero-Java Library Javadoc, 2014.
– reference: Brian Goetz, State of the Lambda: Libraries Edition, 2013.
– reference: K. Ebcioglu, V. Saraswat, V. Sarkar, X10: An experimental language for high productivity programming of scalable systems, in: Proceedings of the Second Workshop on Productivity and Performance in High-End Computing, PPHEC-05, 2005.
– start-page: 36
  year: 2000
  end-page: 43
  ident: br000075
  article-title: A java fork/join framework
  publication-title: Proceedings of the ACM 2000 Conference on Java Grande
– year: 2007
  ident: br000120
  article-title: Intel Threading Building Blocks
– volume: 33
  start-page: 567
  year: 2003
  end-page: 581
  ident: br000080
  article-title: Mooshak: A web-based multi-site programming contest system
  publication-title: Softw. - Pract. Exp.
– start-page: 51
  year: 2011
  end-page: 61
  ident: br000020
  article-title: Habanero-Java: The new adventures of old X10
  publication-title: Proceedings of the 9th International Conference on Principles and Practice of Programming in Java
– reference: Alex Miller, Set your Java 7 Phasers to stun, 2008.
– volume: 21
  start-page: 291
  year: 2007
  end-page: 312
  ident: br000025
  article-title: Parallel programmability and the chapel language
  publication-title: Int. J. High Perform. Comput. Appl.
– reference: S. Imam, V. Sarkar, Habanero-java library: A java 8 framework for multicore programming, in: Proceedings of the 2014 International Conference on Principles and Practices of Programming on the Java platform: Virtual machines, Languages, and Tools, ACM, pp. 75–86.
– reference: J. Manson, Lightweight java profiiler, 2015.
– reference: M. Aziz, H. Chi, Anant Tibrewal, M. Grossman, V. Sarkar, Auto-Grading for Parallel Programs, in: Workshop on Education for High-Performance Computing, EduHPC.
– year: 1986
  ident: br000005
  article-title: Act Ors: A Model of Concurrent Computation in Distributed Systems
– reference: Wen-mei Hwu, Heterogeneous Parallel Programming, 2012.
– volume: 7
  start-page: 501
  year: 1985
  end-page: 538
  ident: br000050
  article-title: Multilisp: A language for concurrent symbolic computation
  publication-title: ACM Trans. Program. Lang. Syst.
– start-page: 277
  year: 2008
  end-page: 288
  ident: br000125
  article-title: Phasers: a unified deadlock-free construct for collective and point-to-point synchronization
  publication-title: Proceedings of the 22nd Annual International Conference on Supercomputing
– start-page: 753
  year: 2012
  end-page: 772
  ident: br000065
  article-title: Integrating task parallelism with actors
  publication-title: Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications
– reference: .
– reference: E. Allan, D. Chase, J. Hallett, V. Luchangco, J.-W. Maessen, G.L. Ryu, Sukyoung Steele Jr., S. Tobin-Hochstadt, The Fortress Language Specification Version 1.0, 2008.
– volume: 40
  start-page: 519
  year: 2005
  end-page: 538
  ident: br000030
  article-title: X10: An object-oriented approach to non-uniform cluster computing
  publication-title: SIGPLAN Not.
– reference: U. of Maryland, Findbugs - find bugs in java programs, 2006.
– reference: J. Spacco, Marmoset: a programming project assignment framework to improve the feedback cycle for students, faculty and researchers, 2006.
– start-page: 652
  year: 2011
  end-page: 661
  ident: br000135
  article-title: Data-driven tasks and their implementation
  publication-title: Proceedings of the International Conference on Parallel Processing (ICPP) 2011
– reference: L. Nakleh, Comp 182: Algorithmic thinking, 2016,
– year: 2015
  ident: br000115
  article-title: Topics in Parallel and Distributed Computing: Introducing Concurrency in Undergraduate Courses
– reference: Martin Odersky, Functional Programming Principles in Scala, 2016.
– start-page: 227
  year: 2009
  end-page: 242
  ident: br000085
  article-title: The design of a task parallel library
  publication-title: Proceedings of the 24th ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications
– reference: Java Concurrency Utilities, 2014.
– ident: 10.1016/j.jpdc.2016.12.026_br000010
– start-page: 652
  year: 2011
  ident: 10.1016/j.jpdc.2016.12.026_br000135
  article-title: Data-driven tasks and their implementation
– volume: 7
  start-page: 501
  year: 1985
  ident: 10.1016/j.jpdc.2016.12.026_br000050
  article-title: Multilisp: A language for concurrent symbolic computation
  publication-title: ACM Trans. Program. Lang. Syst.
  doi: 10.1145/4472.4478
– year: 1986
  ident: 10.1016/j.jpdc.2016.12.026_br000005
– ident: 10.1016/j.jpdc.2016.12.026_br000100
– ident: 10.1016/j.jpdc.2016.12.026_br000130
– start-page: 36
  year: 2000
  ident: 10.1016/j.jpdc.2016.12.026_br000075
  article-title: A java fork/join framework
– ident: 10.1016/j.jpdc.2016.12.026_br000090
– ident: 10.1016/j.jpdc.2016.12.026_br000035
– ident: 10.1016/j.jpdc.2016.12.026_br000055
– start-page: 51
  year: 2011
  ident: 10.1016/j.jpdc.2016.12.026_br000020
  article-title: Habanero-Java: The new adventures of old X10
– ident: 10.1016/j.jpdc.2016.12.026_br000110
– volume: 21
  start-page: 291
  year: 2007
  ident: 10.1016/j.jpdc.2016.12.026_br000025
  article-title: Parallel programmability and the chapel language
  publication-title: Int. J. High Perform. Comput. Appl.
  doi: 10.1177/1094342007078442
– year: 2007
  ident: 10.1016/j.jpdc.2016.12.026_br000120
– ident: 10.1016/j.jpdc.2016.12.026_br000040
– year: 2015
  ident: 10.1016/j.jpdc.2016.12.026_br000115
– start-page: 277
  year: 2008
  ident: 10.1016/j.jpdc.2016.12.026_br000125
  article-title: Phasers: a unified deadlock-free construct for collective and point-to-point synchronization
– ident: 10.1016/j.jpdc.2016.12.026_br000045
– ident: 10.1016/j.jpdc.2016.12.026_br000060
  doi: 10.1145/2647508.2647514
– volume: 40
  start-page: 519
  year: 2005
  ident: 10.1016/j.jpdc.2016.12.026_br000030
  article-title: X10: An object-oriented approach to non-uniform cluster computing
  publication-title: SIGPLAN Not.
  doi: 10.1145/1103845.1094852
– start-page: 227
  year: 2009
  ident: 10.1016/j.jpdc.2016.12.026_br000085
  article-title: The design of a task parallel library
– ident: 10.1016/j.jpdc.2016.12.026_br000105
– start-page: 753
  year: 2012
  ident: 10.1016/j.jpdc.2016.12.026_br000065
  article-title: Integrating task parallelism with actors
– volume: 33
  start-page: 567
  year: 2003
  ident: 10.1016/j.jpdc.2016.12.026_br000080
  article-title: Mooshak: A web-based multi-site programming contest system
  publication-title: Softw. - Pract. Exp.
  doi: 10.1002/spe.522
– ident: 10.1016/j.jpdc.2016.12.026_br000095
– ident: 10.1016/j.jpdc.2016.12.026_br000015
– ident: 10.1016/j.jpdc.2016.12.026_br000070
SSID ssj0011578
Score 2.30425
Snippet As the need for multicore-aware programmers rises in both science and industry, Computer Science departments in universities around the USA are having to...
SourceID crossref
elsevier
SourceType Enrichment Source
Index Database
Publisher
StartPage 18
SubjectTerms Autograding
Education
Java
JVM
MPI
Multi-threading
Parallel
Pedagogy
Title Pedagogy and tools for teaching parallel computing at the sophomore undergraduate level
URI https://dx.doi.org/10.1016/j.jpdc.2016.12.026
Volume 105
WOSCitedRecordID wos000400536800003&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVESC
  databaseName: Elsevier SD Freedom Collection Journals 2021
  customDbUrl:
  eissn: 1096-0848
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0011578
  issn: 0743-7315
  databaseCode: AIEXJ
  dateStart: 19950101
  isFulltext: true
  titleUrlDefault: https://www.sciencedirect.com
  providerName: Elsevier
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV3db9MwELdKxwMvfAwQ40t-4K3KFNdJHD9OaAgQTJMo0LfIcextVZRWXTqq_R_8v9zFdtoNmACJlyiyYsfy_ey7XH53R8grZWKeWl1GItMiSoyWuOfKqGQa5i10UnUs3y8fxNFRPp3K48Hge4iFuahF0-TrtVz8V1FDGwgbQ2f_Qtz9oNAA9yB0uILY4fpHgj82lToJeZXa-bw-d1TCQJvEZN91beqOTb7qWM8uoHGEFQ3mSLztiuMuT5aqWoEpOqqRWPQbK7YfDd9WYRZeLKBlqs3oG4YP6GPvb_2o1j3SLs8uXdPphjR06mppm03vCXzWm2_KUQqQvLPtrmCip7Z6H1qIo7lC8-wSpQruAjv3jTuKY6RH5y4PZ39Wx-nWaetPbqe33e-dnzSCc07M9meLCjNWsqzz_o6vpd_uFPonnAbOgmES_zgRt8jOWKQyH5Kdg3eH0_f97ymWOhUfpu2jsRxx8Pqbfm3xbFkxk_vkrhccPXCweUAGptkl90JpD-pP-l0s5u2JPw_J14AoCjKmHaIoIIoGRNGAAdrLnKqWAqJojyh6BVG0Q9Qj8vnN4eT128jX44g0rEcbyWRsGVcJt9zwSmWVFMbmsNeFtGAmZ6AdmE5tYpOMcxUbMP3AuFd5JjPDM2X5YzJs5o15QijLtbIWbNckKxNpWGllFZfwbastdODpHmFhzQrtk9VjzZS6CKzEWYHrXOA6F2xcwDrvkVHfZ-FStdz4dBpEUXhj0xmRBSDnhn5P_7HfM3Jnsx2ek2G7XJkX5La-aM_Oly89wH4AE7-myA
linkProvider Elsevier
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Pedagogy+and+tools+for+teaching+parallel+computing+at+the+sophomore+undergraduate+level&rft.jtitle=Journal+of+parallel+and+distributed+computing&rft.au=Grossman%2C+Max&rft.au=Aziz%2C+Maha&rft.au=Chi%2C+Heng&rft.au=Tibrewal%2C+Anant&rft.date=2017-07-01&rft.pub=Elsevier+Inc&rft.issn=0743-7315&rft.eissn=1096-0848&rft.volume=105&rft.spage=18&rft.epage=30&rft_id=info:doi/10.1016%2Fj.jpdc.2016.12.026&rft.externalDocID=S0743731517300047
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0743-7315&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0743-7315&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0743-7315&client=summon