Introduction to Volume 12 Issue 2
Nitin Sukhijapp. 1–2
A brief introduction to this issue of the Journal of Computational Science Education from the editor.
pp. 1–2
A brief introduction to this issue of the Journal of Computational Science Education from the editor.
pp. 3–10
https://doi.org/10.22369/issn.2153-4136/12/2/1@article{jocse-12-2-1, author={Wirawan Purwanto and Yuming He and Jewel Ossom and Qiao Zhang and Liuwan Zhu and Karina Arcaute and Masha Sosonkina and Hongyi Wu}, title={DeapSECURE Computational Training for Cybersecurity Students: Improvements, Mid-Stage Evaluation, and Lessons Learned}, journal={The Journal of Computational Science Education}, year=2021, month=feb, volume=12, issue=2, pages={3--10}, doi={https://doi.org/10.22369/issn.2153-4136/12/2/1} }
DeapSECURE is a non-degree computational training program that provides a solid high-performance computing (HPC) and big-data foundation for cybersecurity students. DeapSECURE consists of six modules covering a broad spectrum of topics such as HPC platforms, big-data analytics, machine learning, privacy-preserving methods, and parallel programming. In the second year of this program, to improve the learning experience, we implemented a number of changes, such as grouping modules into two broad categories, "big-data" and "HPC"; creating a single cybersecurity storyline across the modules; and introducing post-workshop (optional) "hackshops." Two major goals of these changes are, firstly, to effectively engage students to maintain high interest and attendance in such a non-degree program, and, secondly, to increase knowledge and skill acquisition. To assess the program, and in particular the changes made in the second year, we evaluated and compared the execution and outcomes of the training in Year 1 and Year 2. The assessment data shows that the implemented changes have partially achieved our goals, while simultaneously providing indications where we can further improve. The development of a fully on-line training mode is planned for the next year, along with a reproducibility pilot study to broaden the subject domain from cybersecurity to other areas, such as computations with sensitive data.
pp. 11–17
https://doi.org/10.22369/issn.2153-4136/12/2/2@article{jocse-12-2-2, author={Dhruva K. Chakravorty and Lisa M. Perez and Honggao Liu and Braden Yosko and Keith Jackson and Dylan Rodriguez and Stuti H. Trivedi and Levi Jordan and Shaina Le}, title={Exploring Remote Learning Methods for User Training in Research Computing}, journal={The Journal of Computational Science Education}, year=2021, month=feb, volume=12, issue=2, pages={11--17}, doi={https://doi.org/10.22369/issn.2153-4136/12/2/2} }
The COVID-19 national health crisis forced a sudden and drastic move to online delivery of instruction across the nation. This almost instantaneous transition from a predominantly traditional "in-person" instruction model to a predominantly online model has forced programs to rethink instructional approaches. Before COVID-19 and mandatory social distancing, online training in research computing (RC) was typically limited to "live-streaming" informal in-person training sessions. These sessions were augmented with hands-on exercises on live notebooks for remote participants, with almost no assessment of student learning. Unlike select instances that focused on an international audience, local training curricula were designed with the in-person attendee in mind. Sustained training for RC became more important since when several other avenues of research were diminished. Here we report on two educational approaches that were implemented in the informal program hosted by Texas A&M High Performance Research Computing (HPRC) in the Spring, Summer, and Fall semesters of 2020. These sessions were offered over Zoom, with the instructor assisted by moderators using the chat features. The first approach duplicated our traditional in-person sessions in an online setting. These sessions were taught by staff, and the focus was on offering a lot of information. A second approach focused on engaging learners via shorter pop-up courses in which participants chose the topic matter. This approach implemented a peer-learning environment, in which students taught and moderated the training sessions. These sessions were supplemented with YouTube videos and continued engagement over a community Slack workspace. An analysis of these approaches is presented.
pp. 18–20
https://doi.org/10.22369/issn.2153-4136/12/2/3@article{jocse-12-2-3, author={S. Charlie Dey and Victor Eijkhout and Lars Koesterke and Je'aime Powell and Susan Lindsey and Rosalia Gomez and Brandi Kuritz and Joshua Freeze}, title={Transitioning Education and Training to a Virtual World, Lessons Learned}, journal={The Journal of Computational Science Education}, year=2021, month=feb, volume=12, issue=2, pages={18--20}, doi={https://doi.org/10.22369/issn.2153-4136/12/2/3} }
Interaction is the key to making education more engaging. Effective interaction is difficult enough to achieve in a live classroom, and it is extremely challenging in a virtual environment. To keep the degree of instruction and learning at the levels our students have come to expect, additional efforts are required to focus efforts on other facets to motivate learning, whether the learning is relative to students in our academic courses, student internship programs, Summer Institute Series, or NSF/TACC's Frontera Fellowship Program. We focus our efforts in lecturing less and interacting more.
pp. 21–21
https://doi.org/10.22369/issn.2153-4136/12/2/4@article{jocse-12-2-4, author={Joseph Bungo and Daniel Wong}, title={Bringing GPU Accelerated Computing and Deep Learning to the Classroom}, journal={The Journal of Computational Science Education}, year=2021, month=feb, volume=12, issue=2, pages={21--21}, doi={https://doi.org/10.22369/issn.2153-4136/12/2/4} }
The call for accelerated computing and data science skills is soaring, and classrooms are on the front lines of feeding the demand. The NVIDIA Deep Learning Institute (DLI) offers handson training in AI, accelerated computing, and accelerated data science. Developers, data scientists, educators, researchers, and students can get practical experience powered by GPUs in the cloud. DLI Teaching Kits are complete course solutions that lower the barrier of incorporating AI and GPU computing in the classroom. The DLI University Ambassador Program enables qualified educators to teach DLI workshops, at no cost, across campuses and academic conferences to faculty, students, and researchers. DLI workshops offer student certification that demonstrates subject matter competency and supports career growth. Join NVIDIA's higher education leadership and leading adopters from academia to learn how to get involved in these programs.
pp. 22–24
https://doi.org/10.22369/issn.2153-4136/12/2/5@article{jocse-12-2-5, author={Aaron Weeden}, title={XSEDE EMPOWER: Engaging Undergraduates in the Work of Advanced Digital Services and Resources}, journal={The Journal of Computational Science Education}, year=2021, month=feb, volume=12, issue=2, pages={22--24}, doi={https://doi.org/10.22369/issn.2153-4136/12/2/5} }
To address the need for a diverse and capable workforce in advanced digital services and resources, the Shodor Education Foundation has been coordinating an undergraduate student program for the Extreme Science and Engineering Discovery Environment (XSEDE). The name of the program is EMPOWER (Expert Mentoring Producing Opportunities for Work, Education, and Research). The goal of the program is to engage a diverse group of undergraduate students in the work of XSEDE, matching them with faculty and staff mentors who have projects that make use of XSEDE services and resources or that otherwise prepare students to use these types of services and resources. Mentors have coordinated projects in computational science and engineering research in many fields of study as well as systems and user support. Students work for a semester, quarter, or summer at a time and can participate for up to a year supported by stipends from the program, at different levels depending on experience. The program has run for 11 iterations from summer 2017 through fall 2020. The 111 total student participants have been 28% female and 31% underrepresented minority, and they have been selected from a pool of 272 total student applicants who have been 31% female and 30% underrepresented minority. We are pleased that the selection process does not favor against women and minorities but would also like to see these proportions increase. At least one fourth of the students have presented their work in articles or at conferences, and multiple credit the program with moving them towards graduate study or otherwise advancing them in their careers.
pp. 25–30
https://doi.org/10.22369/issn.2153-4136/12/2/6@article{jocse-12-2-6, author={Ann Backhaus and Sarah Beecroft and Lachlan Campbell and Maciej Cytowski and Marco De La Pierre and Luke Edwards and Pascal Elahi and Alexis Espinosa Gayosso and Yathu Sivarajah}, title={Pawsey Training Goes Remote: Experiences and Best Practices}, journal={The Journal of Computational Science Education}, year=2021, month=feb, volume=12, issue=2, pages={25--30}, doi={https://doi.org/10.22369/issn.2153-4136/12/2/6} }
The Pawsey Supercomputing Centre training has evolved over the past decade, but never as rapidly as during the COVID-19 pandemic. The imperative to quickly move all training online — to reach learners facing travel restrictions and physical distancing requirements — has expedited our shift online. We had planned to increase our online offerings, but not at this pace or to this extent. In this paper, we discuss the challenges we faced in making this transition, including how to creatively motivate and engage learners, build our virtual training delivery skills, and build communities across Australia. We share our experience in using different learning methods, tools, and techniques to address specific educational and training purposes. We share trials and successes we have had along the way. Our guiding premise is that there is no universal learning solution. Instead, we purposefully select various solutions and platforms for different groups of learners.
pp. 31–32
https://doi.org/10.22369/issn.2153-4136/12/2/7@article{jocse-12-2-7, author={Juan Chen}, title={High-Performance Computing Course Development for Cultivating the Generalized System-level Comprehensive Capability}, journal={The Journal of Computational Science Education}, year=2021, month=feb, volume=12, issue=2, pages={31--32}, doi={https://doi.org/10.22369/issn.2153-4136/12/2/7} }
Supercomputers are moving towards exascale computing, high-performance computer systems are becoming larger and larger, and the scale and complexity of high-performance computing (HPC) applications are also increasing rapidly, which puts forward high requirements for cultivation of HPC majors and HPC course development. HPC majors are required to be able to solve practical problems in a specific field of high-performance computing, which may be a problem for system design or a problem for a specific HPC application field. Regardless of the type of problem, the complexity and difficulty of the problem are often very high because HPC is interdisciplinary. The development of HPC courses to meet these kinds of talent cultivation needs must emphasize the cultivation of students' Generalized System-level Comprehensive Capabilities, so that students can master the key elements in the limited course knowledge learning process. System-level Comprehensive Capability refers to the ability to use the knowledge and ability of the computer system to solve practical problems. The ACM/IEEE Joint Computer Science Curricula 2013 (CS2013) also involves System-level Perspective. System-level Comprehensive Capability is considered to be a crucial factor to improve students' system development ability and professional ability. This is especially important for students majoring in high-performance computing. Furthermore, due to the HPC field's interdisciplinary and high complexity characteristics, System-level Comprehensive Capability is not enough for HPC majors, and students need to have Generalized System-level Comprehensive Capabilities. A knowledge system at the computer system level "vertically" (from bottom to top: parallel computer architecture, operating system/resource management system, compilation, library optimization, etc.) is no longer enough; multiple high-performance computing application areas should also be "horizontally" involved. Generalized System-level Comprehensive Capabilities vertically and horizontally can meet the needs of different types of high-performance computing talents.
pp. 33–36
https://doi.org/10.22369/issn.2153-4136/12/2/8@article{jocse-12-2-8, author={Elizabeth Bautista and Nitin Sukhija}, title={Employing Directed Internship and Apprenticeship for Fostering HPC Training and Education}, journal={The Journal of Computational Science Education}, year=2021, month=feb, volume=12, issue=2, pages={33--36}, doi={https://doi.org/10.22369/issn.2153-4136/12/2/8} }
Positions within High Performance Computing are difficult to fill, especially that of Site Reliability Engineer within an operational area. At the National Energy Research Scientific Computing Center (NERSC) at Lawrence Berkeley National Laboratory (LBNL), the Operations team manage the HPC computational facility with a complex cooling ecosystem and also serve as the wide area network operations center. Therefore, this position requires skill sets in four specific areas: system administration, storage administration, facility management, and wide area networking. These skills are not taught in their entirety in any educational program; therefore, a new graduate will require extensive training before they can become proficient in all areas. The proximity to Silicon Valley adds another challenge in finding qualified candidates. NERSC has implemented a new approach patterned after the apprenticeship program in the trades. This program requires an intern or apprentice to fulfill milestones during their internship or apprenticeship timeframe, with constant evaluation, feedback, mentorship, and hands-on work that allow candidates to demonstrate their growing skill that will eventually lead to winning a career position.
pp. 37–40
https://doi.org/10.22369/issn.2153-4136/12/2/9@article{jocse-12-2-9, author={Julie Ma and Torey Battelle and Katia Bulekova and Aaron Culich and John Goodhue and Jacob Pessin and Vanessa Sochat and Dana Brunson and Tom Cheatham and Sia Najafi and Chris Hill and Adrian Del Maestro and Bruce Segee and Ralph Zottola and Scott Valcourt and Zoe Braiterman and Raminder Singh and Robert Thoelen and Jack Smith}, title={Ask.Cyberinfrastructure.org: Creating a Platform for Self-Service Learning and Collaboration in the Rapidly Changing Environment of Research Computing}, journal={The Journal of Computational Science Education}, year=2021, month=feb, volume=12, issue=2, pages={37--40}, doi={https://doi.org/10.22369/issn.2153-4136/12/2/9} }
Ask.CI, the Q&A site for Research Computing, was launched at PEARC18 with the goal of aggregating answers to a broad spectrum of questions that are commonly asked by the research computing community. As researchers, facilitators, staff, students, and others ask and answer questions on Ask.CI, they create a shared knowledge base for the larger community. For smaller institutions, the knowledge base provided by Ask.CI provides a wealth of knowledge that was previously not readily available to scientists and educators in an easily searchable Q&A format. For larger institutions, this self-service model frees up time for facilitators and cyberinfrastructure engineers to focus on more advanced subject matter. Recognizing that answers evolve rapidly with new technology and discovery, Ask.CI has built in voting mechanisms that utilize crowdsourcing to ensure that information stays up to date. Establishing a Q&A site of this nature requires some tenacity. In partnership with the Campus Champions, Ask.CI has gained traction and continues to engage the broader community to establish the platform as a powerful tool for research computing. Since launch, Ask.CI has attracted over 250,000 page views (currently averaging nearly 5,000 per week), more than 400 contributors, hundreds of topics, and a broad audience that spans the US and parts of Europe and Asia. Ask.CI has shown steady growth in both contributions and audience since it was launched in 2018 and is still evolving. In the past year, we introduced Locales, which allow institutions to create subcategories on Ask.CI where they can experiment with posting institution-specific content and use of the site as a component of their user support strategy.
pp. 41–45
https://doi.org/10.22369/issn.2153-4136/12/2/10@article{jocse-12-2-10, author={Dirk Colbry}, title={The Design of a Practical Flipped Classroom Model for Teaching Parallel Programming to Undergraduates}, journal={The Journal of Computational Science Education}, year=2021, month=feb, volume=12, issue=2, pages={41--45}, doi={https://doi.org/10.22369/issn.2153-4136/12/2/10} }
This paper presents a newly developed course for teaching parallel programming to undergraduates. This course uses a flipped classroom model and a "hands-on" approach to learning with multiple real-world examples from a wide range of science and engineering problems. The intention of this course is to prepare students from a variety of STEM backgrounds to be able to take on supportive roles in research labs while they are still undergraduates. To this end, students are taught common programming paradigms such as benchmarking, shared memory parallelization (OpenMP), accelerators (CUDA), and shared network parallelization (MPI). Students are also trained in practical skills including the Linux command line, workflow/file management, installing software, discovering and using shared module systems (LDMOD), and effectively submitting and monitoring jobs using a scheduler (SLURM).
pp. 46–57
https://doi.org/10.22369/issn.2153-4136/12/2/11@article{jocse-12-2-11, author={Cathryn Peoples}, title={Creative Assessment Design on a Master of Science Degree in Professional Software Development}, journal={The Journal of Computational Science Education}, year=2021, month=feb, volume=12, issue=2, pages={46--57}, doi={https://doi.org/10.22369/issn.2153-4136/12/2/11} }
A Master of Science (MSc) conversion degree is one which retrains students in a new subject area within a fast-tracked period of time. This type of programme opens new opportunities to students beyond those gained through their originally-chosen degree. Students entering a conversion degree do so, in a number of cases, to improve career options, which might mean moving from an initially-chosen path to gain skills in a field that they now consider to be more attractive. With a core goal of improving future employability prospects, specific requirements are therefore placed on the learning outcomes achieved from the course content and delivery. In this paper, the learning outcomes are focused on the transferable skills intended to be gained as a result of the assessment design, disseminated to a cohort of students on a Master of Science (MSc) degree in Professional Software Development at Ulster University, United Kingdom. The coursework submissions are explored to demonstrate how module learning has been applied, in a creative way, to facilitate the assessment requirements.
pp. 58–65
https://doi.org/10.22369/issn.2153-4136/12/2/12@article{jocse-12-2-12, author={Juan Chen and Brett A. Becker and Youwen Ouyang and Li Shen}, title={What Influences Students' Understanding of Scalability Issues in Parallel Computing?}, journal={The Journal of Computational Science Education}, year=2021, month=feb, volume=12, issue=2, pages={58--65}, doi={https://doi.org/10.22369/issn.2153-4136/12/2/12} }
Graduates with high performance computing (HPC) skills are more in demand than ever before, most recently fueled by the rise of artificial intelligence and big data technologies. However, students often find it challenging to grasp key HPC issues such as parallel scalability. The increased demand for processing large-scale scientific computing data makes more essential the importance of mastering parallelism, with scalability often being a crucial factor. This is even more challenging when non-computing majors require HPC skills. This paper presents the design of a parallel computing course offered to atmospheric science majors. It discusses how the design addressed challenges presented by non-computer science majors who lack a background in fundamental computer architecture, systems, and algorithms. The content of the course focuses on the concepts and methods of parallelization, testing, and the analysis of scalability. Considering all students have to confront many (non-HPC) scalability issues in the real world, and there may be similarities between real-world scalability and parallel computing scalability, the course design explores this similarity in an effort to improve students' understanding of scalability issues in parallel computing. The authors present a set of assignments and projects that leverage the Tianhe-2A supercomputer, ranked #6 in the TOP500 list of supercomputers, for testing. We present pre- and post-questionnaires to explore the effectiveness of the class design and find an 11.7% improvement in correct answers and a decrease of 36.8% in obvious, but wrong, answers. The authors also find that students are in favor of this approach.
pp. 66–69
https://doi.org/10.22369/issn.2153-4136/12/2/13@article{jocse-12-2-13, author={Fouzhan Hosseini and Craig Lucas}, title={Promoting HPC Best Practices with the POP Methodology}, journal={The Journal of Computational Science Education}, year=2021, month=feb, volume=12, issue=2, pages={66--69}, doi={https://doi.org/10.22369/issn.2153-4136/12/2/13} }
The performance of HPC applications depends on a wide range of factors, including algorithms, programming models, library and language implementations, and hardware. To make the problem even more complicated, many applications inherit different layers of legacy code, written and optimized for a different era of computing technologies. Due to this complexity, the task of understanding performance bottlenecks of HPC applications and making improvements often ends up being a daunting trial-and-error process. Problematically, this process often starts without having a quantitative understanding of the actual behavior of the HPC code. The Performance Optimisation and Productivity (POP) Centre of Excellence, funded by the EU under the Horizon 2020 Research and Innovation Programme, attempts to establish a quantitative methodology for the assessment of parallel codes. This methodology is based on a set of hierarchical metrics, where the metrics at the bottom of the hierarchy represent common causes of poor performance. These metrics provide a standard, objective way to characterize different aspects of the performance of parallel codes and therefore provide the necessary foundation for establishing a more systematic approach for performance optimization of HPC applications. In consequence, the POP methodology facilitates training new HPC performance analysts. In this paper, we will illustrate these advantages by describing two real-world examples where we used the POP methodology to help HPC users understand performance bottlenecks of their code.