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...
Uložené v:
| Vydané v: | Journal of parallel and distributed computing Ročník 105; s. 18 - 30 |
|---|---|
| Hlavní autori: | , , , , , |
| 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 |