Workshop on Teaching Computational Science (WTCS) Session 1
Time and Date: 10:15 - 11:55 on 13th June 2019
Room: 0.3
Chair: Alfredo Tirado-Ramos
42 | Blue Waters Workforce Development [abstract] Abstract: Blue Waters Workforce Development:
Delivering National Scale HPC Workforce Development
The National Science Foundation funds the Blue Waters project, which supports an Education, Outreach and Training (EOT) program focused on preparing an HPC-capable workforce with an emphasis on petascale computing competencies. The Blue Waters EOT team engages undergraduate students in internships, graduate students in fellowships, researchers as participants in training sessions, trainers and educators as PIs of education allocations, and underrepresented communities as PIs of broadening participation allocations. All of these communities benefit from access to on one of the most advanced computing environments available to the open science research community. Educators, researchers and students are asked to present their research via conference presentations (e.g. at the annual Blue Waters Symposium) and publications (e.g. the Journal of Computational Science Education).
HPC experts offer a variety of training sessions to assist researchers and educators with incorporating state-of-the-art resources, tools, and methods within their research and education endeavors. The Virtual School of Computational Science and Engineering (VSCSE) delivered graduate level computational science and HPC courses to students at colleges and universities across the country, and to students at international locations. The VSCSE courses were led by experts in the field and were conducted in collaboration with their faculty at the recipient institutions in order to provide the students with access to course content and mentoring that would otherwise not have been available to them at their home institution.
The Blue Waters Graduate Fellowships have provided a year of funded support and access to the Blue Waters system for the research being conducted by 44 graduate students in a variety of science and engineering fields of study. The Blue Waters Student Internship Program is designed to motivate undergraduate students to pursue advanced science and engineering studies and careers. The undergraduate interns begin their involvement with an intensive two-week parallel programming institute held at NCSA to prepare the students for a full-year of funded research. To date, the internship program has benefitted 120 undergraduate students and resulted in numerous papers being published by the students in the Journal of Computational Science Education (JOCSE) .
Blue Waters has added substantial content to a repository of education and training materials, including 30 undergraduate course modules that are applicable to multiple disciplines. The repository facilitates broad dissemination of these and other related materials, which have been used to support workforce development at the high school, undergraduate and graduate levels.
Education Allocations
The initial proposal for the Blue Waters project requested that 1% of the available computing resources be devoted to educational activities to prepare a larger and more diverse computationally literate workforce. At that time, 1% of the system was a substantial commitment - providing more computational resources than were available to researchers via all of the other NSF funded HPC systems. Education allocations are available to faculty and staff at any US institution to support undergraduate and graduate courses, training sessions, workshops, webinars, institutes, and Research Experiences for Undergraduates (REU) programs. We encourage innovative approaches to educating the community. Requests range from one day training events to a full year program of structured learning, such as through internships and fellowships. Allocation requests typically range from 5,000 to 25,000 node hours, although allocations of larger amounts have been granted for programs serving large numbers of participants or for conducting more complex semester course requirements.
Broadening Participation Allocations
In order to engage a more diverse community of researchers, the Blue Waters project created a new allocations category for Broadening Participation. The purpose was to encourage principal investigators who were women, minorities or individuals at NSF designated EPSCoR institutions to apply for an allocation of time on the Blue Waters system. These were intended as start-up allocations of up to 200,000 node-hours to allow the research team to scale-up their codes to Blue Waters. Twenty-one teams from around the country were selected in the first year. Included among the Principal Investigators (PIs) are ten females and two underrepresented minorities. In addition, there are four female and eight underrepresented minority colleagues listed as co-PIs. Among the lead institutions, five are Minority Serving Institutions and ten are within EPSCoR jurisdictions. After working on the Blue Waters system for nearly a year, one of these teams received a PRAC allocation from NSF, which will allow the team to significantly advance their computational research.
Graduate Fellowships
The Blue Waters project offers a very unique federally supported program that provides PhD students with a full year of computational science and engineering research support. Each fellow receives an allocation of 50,000 node-hours to pursue their computational and/or data-enabled research on the Blue Waters system. The fellows also receive a $38,000 stipend. Each fellow is able to request up to $12,000 in tuition allowance to help offset their educational expenses. Each fellow is invited to attend the annual Blue Waters Symposium to make a formal presentation and display a poster to share their research progress with the other attendees. They are also encouraged to give a presentation of their Blue Waters supported research at a domain conference of their choosing. There are between four and 10 fellows selected each year through a very competitive application process that is open to students in all US academic institutions. After their fellowship year ends, the fellows are welcome to continue using the Blue Waters system to pursue their research while completing their PhD. They are also welcome to continue using the system during a subsequent postdoctoral appointment. Many of the fellows have gone on to faculty positions, postdoctoral positions, and professional positions in academia, government agencies and academic institutions. We continue to track the progress of each fellow to facilitate a longitudinal analysis of the impact of the fellowship program.
Internships
The Blue Waters Student Internship Program is designed to motivate and prepare the next generation of computational researchers by engaging them in year-long research projects. The Internship Program supports about 20 students each year, with a $5,000 stipend spread out over the full year of their appointment. The program welcomes applications from undergraduates at all degree granting US institutions. Each year, the program kicks-off by offering a two-week parallel programming intensive institute at NCSA that also engages the interns in learning to make effective use of the Blue Waters system. Following the institute, the students are matched with mentors to guide them through their year-long research project. The students are matched with a faculty member either on their own campus, or at another campus. Towards the end of their year-long research endeavors, the students apply to present a poster on their research project at the annual Blue Waters Symposium in the May/June timeframe. The faculty report that the combination of a two-week institute and support for a full year have proven to be very effective for the student and the project the students pursue.
Journal of Computational Science Education
All of the interns are encouraged to publish their research in the peer-reviewed Journal of Computational Science Education (JOCSE). The students are also encouraged to describe their experiences and the impacts of the program on their academic pursuits, and career goals. JOCSE accepts articles from the international community. Articles are encouraged that address the teaching and learning of computational science and engineering, the development and applications of instructional materials, projects, as well as innovative approaches for conducting workforce development. The editors welcome articles that address the assessment of materials or programs, methods for achieving improved learning outcomes, and innovative computational science programs. The journal articles and instructions for submissions are available at http://jocse.org/.
Training
The Blue Waters project conducts a variety of training events throughout the year to assist participants in learning computational and data enabled science and engineering methods, tools, and resources. The training is designed to prepare participants to make effective use of computing resources, with an emphasis on petascale computing. The training events include webinars, workshops, symposia, tutorials, presentations, hackathons, and other related activities. They are delivered as in-person events, as webcasts and as self-paced tutorials.
HPC University Repository
The HPC University portal was established to provide a mechanism for disseminating HPC related training and education material. It is built on the foundation and principles established by the Computational Science Education Reference Desk (CSERD) , which is among the collections funded by the National Science Digital Library (NSDL) funded by NSF. The Blue Waters team developed 30 “Undergraduate petascale modules” appropriate for teaching parallel computational modeling to undergraduate or graduate students in science and other STEM disciplines. These modules are among the vast collection of HPC related training and education materials available from this repository.
The Blue Waters Symposium
The Blue Waters Symposium is an annual gathering of Blue Waters staff, researchers, students, and professionals from among the computational science and engineering community. The Symposia participants share successes and challenges in utilizing large-scale heterogeneous computing systems. Each of the scientific teams using the Blue Waters system are asked to provide updates on their research, and to highlight how the petascale system has helped to advance their research. Nnationally and internationally recognized leaders are invited as keynote speakers to present innovative, impactful and at times controversial ideas that advance knowledge and provoke interactions among the attendees. There are numerous opportunities for the participants to discuss challenges, opportunities, and the future of scientific computing. The discussions often times result in new collaborations and cooperative ventures.
Summary
The Blue Waters project actively recruits students, faculty, professionals, and mentors in these activities from across the United States, with an emphasis on engaging women, minorities and people with disabilities. Since going into full-service operations in 2013, over 200 education and training allocations have been utilized for activities ranging from one-day workshops to two-week institutes. The Blue Waters project has engaged more than 3,700 people in learning to make effective use of computational and data-enabled science and engineering tools, resources, and methods. The participants in the activities came from 219 academic institutions, of which 65 are within EPSCoR jurisdictions. The impact and benefits have been widespread, including directly reaching people located in many foreign countries, as well as freely disseminating materials that have been downloaded and used by thousands of people world-wide.
The Blue Waters project places a high importance on sharing what we have learned to help others to be even more successful in their own endeavors. We look forward to sharing our experiences at the ICCS 2019 Conference and fostering an exchange of lessons learned among the attendees. |
Scott Lathrop, Aaron Weeden, Robert Panoff and Jennifer Houchins |
260 | Redesigning Interactive Educational Modules for Combinatorial Scientific Computing [abstract] Abstract: Combinatorial scientific computing refers to the field of using combinatorial algorithms to solve problems in computational science
and data science. Teaching even elementary topics from this area is difficult because it involves bridging the gap between scientific computing
and graph theory. Furthermore, it is often necessary to understand not
only the methodologies from mathematics and computer science, but also
from different scientific domains from which the underlying problems
arise. To enrich the learning process in combinatorial scientific computing, we designed and implemented a set of interactive educational modules called EXPLAIN. The central idea behind EXPLAIN is its focus on
describing the equivalence of a problem in terms of scientific computing
and graph theory. That is, in EXPLAIN, the scientific computing problem and its graph theoretical representation are treated as two sides of
the same coin. The process of solving a problem is interactively explored
by visualizing transformations on an object from scientific computing,
simultaneously, with the corresponding transformations on a suitably
defined graph. We describe the redesign of the EXPLAIN software with
an emphasis on integrating a domain-specific scripting language and a
hierarchical visualization for recursively defined problems. |
M. Ali Rostami and Martin Bücker |
262 | A Learner-Centered Approach to Teaching Computational Modeling, Data Analysis, and Programming [abstract] Abstract: One of the core missions of Michigan State University's new Department of Computational Mathematics, Science, and Engineering is to provide education in computational modeling and data science to MSU's undergraduate and graduate students. In this paper, we describe our creation of CMSE 201, "Introduction to Computational Modeling and Data Analysis," which is intended to be a standalone course teaching students core concepts in data analysis, data visualization, and computational modeling. More broadly, we discuss the education-research-based rationale behind the "flipped classroom" instructional model that we have chosen to use in CMSE 201, which has also informed the design of other courses taught in the department. We also explain the course's design principles and implementation. |
Devin Silvia, Brian O'Shea and Brian Danielak |
253 | Computational Thinking and Programming with Python for Aspiring Data Scientists [abstract] Abstract: Today’s world is full of data. Data scientists are needed everywhere to design and implement the processes that analyze the data and turn them into meaningful information. Consequently, it is not surprising that students from all disciplines increasingly feel the need of having to learn how to build software for their solving their data analysis problems. The course "Computational Thinking and Programming in Python" at Utrecht University has been designed for accommodating the needs of these students.
Computational thinking is about expressing problems and their solutions in ways that a computer could execute. It is considered one of the fundamental skills of the 21st century. To develop student’s computational thinking skills for data analysis problems, the course covers ways for systematically approaching such problems (CRISP-DM model, reference processes), abstract program description techniques (UML diagrams) and elementary software design principles (reuse, modularization).
Programming is the process of designing and building an executable computer program for accomplishing a specific computing task. The course introduces students to programming with Python, which is currently one of the most popular programming languages in data science. After familiarization with the basics, the course addresses more advanced topics, such as access to web services, statistical analyses with the pandas package and data visualization with the matplotlib package. Furthermore, there are some lectures on additional practical topics like the FAIR principles and workflow management systems.
Every lecture is accompanied by a practical BYOD lab session where students can work on the weekly homework assignments with support of the teaching assistants. To practice the work with more complex, realistic data analysis problems, students furthermore work on small group projects during the course, and present their results at the end.
The presentation will discuss the specific learning goals and design of the course, also in light of practical conditions such as class size and teaching staff available. Furthermore, it will elaborate on the specific challenges involved, experiences and lessons learned that can be beneficial for computational science educators teaching similar courses. |
Anna-Lena Lamprecht |