Workshop on Teaching Computational Science and Bridging the HPC Talent Gap with Computational Science Research Methods (WTCS) Session 1

Time and Date: 10:15 - 11:55 on 13th June 2017

Room: HG D 1.2

Chair: Angela B. Shiflet

-4 The Art of Teaching Computational Science [abstract]
Abstract: [No abstract available]
Alfredo Tirado-Ramos and Angela B. Shiflet
28 Never Enough! Computational Science Project Assignments [abstract]
Abstract: Obtaining meaningful computational science project assignments for students is always a challenge in a variety of courses from modeling and simulation to high performance computing to many other mathematics and computer science subjects. Often, the instructor desires projects that involve interesting applications, are challenging enough for teams of students while not being too difficult, have a suitable time commitment, are new, are instructive, and cover appropriate concepts. The Shiflets coauthored Introduction to Computational Science: Modeling and Simulation for the Sciences, 2nd edition (Princeton U. Press, 2014), the only textbook of its kind designed specifically for an introductory course in the computational science and engineering curriculum. The textbook, which a variety of courses on the undergraduate and graduate level use, includes numerous such projects. Additional projects are now publically available on the textbook’s website (https://ics.wofford-ecs.org/additional-projects) for anyone to use; and instructors can obtain solutions to a selection of the assignments from the authors. The problems involve a number of important computational science concepts and approaches, such as system dynamics modeling, empirical modeling, random walks, cellular automaton simulations, sensitivity analysis, agent-based simulations, age- and stage-structured modeling, Markov chains, and matrix modeling of social networks. Applications include invasive species, rumor spreading, juvenile delinquency, fur patterns, condor populations, rice viruses, toxin-producing micro-organisms, coral bleaching, brown bears, neuron signals, and succession. The talk will discuss some of these applications and approaches and present representative models and simulations to solve the problems.
Angela Shiflet and George Shiflet
210 Computational and Data Science Education at Stony Brook University’s Institute for Advanced Computational Science [abstract]
Abstract: The Institute for Advanced Computational Science (IACS) is Stony Brook University’s flagship organization for teaching and promoting computational and data science inside and outside of campus. It is an interdisciplinary organization that brings together faculty and students from applied mathematics, statistics, physics, chemistry, marine and atmospheric sciences, engineering, ecology and evolution, sociology, linguistics, music, medicine, and many others. We currently offer a Certificate in Data & Computing for Scientists and Engineers and a NSF-sponsored training program (STRIDE: Science Training and Research to Inform DEcisions) for doctoral students. Masters-level and undergraduate programs are being developed. This poster overviews and summarizes the pedagogical strategies for computational science education at IACS and Stony Brook University. We focus on training domain experts who are able and skilled at using high-performance computational resources to generate, analyze, and interpret data to solve research problems. We stress interdisciplinary communication and work closely with the Alan Alda Center for Communicating Science to help our researchers bridge these gulfs. Other IACS initiatives, such as computational science “bootcamps” for medical researchers, primary school teachers, and high-school students will also be discussed.
Matthew Reuter and Robert Harrison
264 Foundations of Applied Mathematics [abstract]
Abstract: We are midway through the development of writing four textbooks and four open-content computer lab manuals with supporting materials for a new upper-division undergraduate curriculum in Applied and Computational Mathematics that will modernize the mathematics major and better integrate it with the broader STEM community. The new curriculum is being piloted at Brigham Young University as a new degree program. The new curriculum brings mathematical analysis, algorithm design, optimization, data science and mathematical modeling into the forefront of interdisciplinary study in the pure and applied sciences. Scientific computing is taught in the context of big data and high performance computing. The textbooks are being published by the Society of Industrial and Applied Mathematics (SIAM), and both the lab manuals and supporting materials will be made freely available online. The project creates a modern undergraduate curriculum which provides the foundation that students need to become world-class problem solvers and interdisciplinary innovators. This should increase student interest and participation in applied and computational mathematics, and expand the pipeline of young scholars in the mathematical sciences who are well equipped to face the challenges of the 21st Century and become leaders in the globally competitive STEM workforce.
Jeffrey Humpherys, Tyler Jarvis and Emily Evans
235 Developing Student Interest in Computation Through the Use of Modeling Tools [abstract]
Abstract: Over the past decade, a variety of free computational modeling tools have become available for use in secondary school and introductory college courses. These tools provide an excellent introduction to computation for students who have yet to develop skill at or interest in programming. Once exposed to these tools through modeling projects, students have reported that they understand the value of computation in solving problems, and also the limitations of the tools -- which highlights the need to delve further into computational techniques. In this session, an overview of several such tools will be provided, along with examples of modeling and simulation projects that have been used mathematics courses at the secondary and college level. The tools that have been used successfully with students at these levels include InsightMaker (web-based systems and agent modeling); VensimPLE (systems modeling); NetLogo (agent modeling); Gephi (network and graph analysis); WolfraAlpha (web-based symbolic computation); DataFlyer and Desmos (web-based graphing and data fitting).
Holly Hirst
518 Computing in science education with SageMath and Jupyter [abstract]
Abstract: We will present our experiences in teaching science courses with computational perspective. In 2011, when our efforts have started, the only available solution which would provide web based mathematical experimentation environment for students was SageMath notebook (sagenb). We have decided to provide at our faculty for all students a central installation of sagenb and to prepare teaching materials for most of courses. Now, the system is being displaced by a modern Jupyter notebook which provided SageMath kernel but also pure scientific Python ecosystem. In this talk we present benefits and technical challenges of creating such infrastructure both for universities as well as for schools.
Marcin Kostur

Workshop on Teaching Computational Science and Bridging the HPC Talent Gap with Computational Science Research Methods (WTCS) Session 2

Time and Date: 14:10 - 15:50 on 13th June 2017

Room: HG D 1.2

Chair: Angela B. Shiflet

526 Using Cognitive Computing for Learning Parallel Programming: An IBM Watson Solution [abstract]
Abstract: While modern parallel computing systems provide high performance resources, utilizing them to the highest extent requires advanced programming expertise. Programming for parallel computing systems is much more difficult than programming for sequential systems. OpenMP is an extension of C++ programming language that enables to express parallelism using compiler directives. While OpenMP alleviates parallel programming by reducing the lines of code that the programmer needs to write, deciding how and when to use these compiler directives is up to the programmer. Novice programmers may make mistakes that may lead to performance degradation or unexpected program behavior. Cognitive computing has shown impressive results in various domains, such as health or marketing. In this paper, we describe the use of IBM Watson cognitive system for education of novice parallel programmers. Using the dialogue service of the IBM Watson we have developed a solution that assists the programmer in avoiding common OpenMP mistakes. To evaluate our approach we have conducted a survey with a number of novice parallel programmers at the Linnaeus University, and obtained encouraging results with respect to usefulness of our approach.
Adrian Chozas, Suejb Memeti and Sabri Pllana
132 Building a Community of Practice to Prepare the HPC Workforce [abstract]
Abstract: It has been well documented for more than 30 years, that significantly more effort is needed to prepare the HPC workforce needed today and well into the future. The Blue Waters Virtual School of Computational Science (VSCSE) provides an innovative model for addressing this critical need. The VSCSE uses a Small Private Online Course (SPOC) approach to providing graduate level credit courses to students at multiple institutions. In this paper, we describe the rationale for this approach, a description of the implementation, findings from external evaluations, and lessons learned. The paper concludes with recommendations for future strategies to build on this work to address the workforce needs of our global society.
Katharine Cahill, Scott Lathrop and Steven Gordon
440 Unit testing and specs based grading in an introductory scientific parallel computing course [abstract]
Abstract: In this talk we discuss design considerations for an undergraduate introductory scientific computing course, why these considerations led to a specs-based grading scheme, and some techinical detail on how specs-based grading was accomplished using unit tests. The course is part of the Computational Science major at Rose-Hulman Institute of Technology. This major attracts a wide range of students, most of whom have a second major. As such, students have a wide range of background experiences, proficiencies, and potential uses for parallel computing. In this talk we discuss: 1. Selection of material and grading scheme to keep the course approachable to students with relatively weak background, keep most of the content relevant to most of the students, and provide a challenge to the students with a strong background. 2. How specs-based grading was implemented. One of the tradiational challenges with specs-based grading is in developing specifications that are clear to the students, maintain the integrity of the project, and are easily verifiable by the instructor. This is particularly difficult in a parallel computing course, where "write code that produces the correct answer" is not an acceptable specification, but rather "write code that produces the correct answer by using a reasonable algorithm". We present a unit testing scheme that allows both the instructor and the student to asses the efficiency and basic design of student code -- without having to actually read the student code. This led to a significant improvement in student understanding, quality of submitted code, and instructor satisfaction.
Joseph Eichholz
358 Bridging Gaps with Scientific Workflows: Experiences from an Interdisciplinary Project Course [abstract]
Abstract: At the Workshop on Teaching Computational Science at ICCS 2015, we presented an approach to use scientific workflows in computational science education. Concretely, we described how we used a process modelling and execution framework for scientific workflow projects in the scope of a computer science course for Master students with a background in natural sciences. We also reported on a variant of the course that served the converse purpose, namely to teach the basics of scientific workflows this time to Bachelor students of a Computer Science study program (who are in the process of acquiring solid programming and software development skills, but have hardly any background in other scientific disciplines). Furthermore, we envisaged to offer a course that brings both groups together, with project work carried out in interdisciplinary pairs consisting of a student of a natural science subject and a computer science partner - a constellation that many students are likely to find themselves in after graduation. Meanwhile, we have been able to actually implement this variant of the course. Taking on the roles of the “domain expert” and the “programmer”, respectively, the interdisciplinary pairs worked together on one problem - from different perspectives, but with the workflow model being the means to bridge the gap between their areas of expertise. The experiences with this interdisciplinary project course were very positive. The students designed and implemented larger and more complex scientific workflows than those in the previous years. In the course evaluation they reported that although in the beginning they found it difficult to follow their partner from the other domain, they were impressed how much that improved during the project work, and that they enjoyed and valued this experience. Encouraged by these outcomes, we plan to continue and extend the course concept in the future.
Anna-Lena Lamprecht

Workshop on Teaching Computational Science and Bridging the HPC Talent Gap with Computational Science Research Methods (WTCS) Session 3

Time and Date: 16:20 - 18:00 on 13th June 2017

Room: HG D 1.2

Chair: Angela B. Shiflet

260 Learning Outcomes based Evaluation of HPC Professional Training [abstract]
Abstract: Very often, when evaluating professional training courses and events the analysis is reduced to a set of statistics related to who attended, how many they were, would they come again. The more pertinent questions about the value and relevance of acquired skills and how they could be applied to future work by the attendees tend to be side-tracked. BSC is committed to provide an international high-level education and training program. As part of that commitment, we are conducting a study of the learning outcomes from our courses, and looking into the affect they have on the transfer of knowledge into improved work methodologies/ routines. Supercomputing Centres worldwide, such as BSC, face the challenge of supporting a growing base of HPC users with little or no HPC experience with mainly scientific background. In addition, HPC training centres feel the need to respond to the clearly observed convergence of Data Science and Computational Science research methods into Data and Compute Intensive Science methods by enriching their programs with the necessary course for the diverse audience of domain science researchers needing HPC skills to tackle societal, economic and scientific challenges. The goals of the training evaluation are to capture the impact of the training program and allow an inside in not only the personal progress of the attendees but as well provide understanding how to support the attendees in implementing the learned methodologies/tools in their work. The trainees should be able to bridge the gap between the training classroom and the work/studies after that and to develop the ability to recognise the context for direct implementation or re-design of a methodology/ tools solution. These skills are directly linked to the impact of training and should be perceived as a learning outcome. Usually the skills are developed by using appropriate teaching methods over time, which is possible in the context of a longer-term learning environment, e.g. university degree. The Kirkpatrick model and the related practices the company (http://www.kirkpatrickpartners.com/) suggest as a way to support the on-the-job implementation of training is to build an on-line continuation of a training event which creates a context similar to that of a longer courses and thus facilitate the motivation to implement new skills by changing an established routine. That is time and resource consuming and thus the challenge is to facilitate the needed support of on-the-job implementation with minimal cost impact for the HPC centres.
Nia Alexandrov and Maria-Ribera Sancho
77 Teaching High Performance Computing at a US Regional university: curriculum, resources, student projects. [abstract]
Abstract: In this talk, we focus on the challenges and opportunities in the development of a comprehensive upper undergraduate/first year graduate course in high performance scientific computing at a regional university in the United States. The details of this presentation are based on a new course given at Idaho State University during 2016/2017 academic year. In the first part of the presentation, we focus on the curriculum, discussing the four major parts of the course: serial code optimization; OpenMP, MPI and CUDA programming. In this part of the presentation, we focus on the time requirements and accessibility of the material to the motivated math, science, and engineering students. In the next part of the talk, we focus on resources, and discuss the existing supercomputer educational projects available at the national level if a regional University does not have adequate resources to support a class on HPC. We describe our experience accessing the supercomputer facilities in the United States through the support of national laboratories and federally supported projects at top US Universities. (Mostly, we focus on our collaboration with the Idaho National Laboratory and the National Center for Supercomputing at the University of Illinois at Urbana-Champaign.) In the final part of the presentation, we review the results of the students projects related to the parallel implementations of the well known Krylov-FFT solvers for large sparse algebraic systems appeared in different relevant applications.
Yury Gryazin
583 Data processing as a basic competence of engineering education [abstract]
Abstract: The need in data science specialists is growing very fast, nevertheless the gap in knowledge is mostly bridged with special study programs. Quite often data science skills are needed additional to or embedded in the main study subject. This is especially the case in engineering study programs. In this position paper we discuss several possibilities to fill this gap.
Andreas Pester and Thomas Klinger
542 Towards Data Science Literacy [abstract]
Abstract: Promoting data science represents an increasingly important facet of general education. This paper describes the design and implementation of a course targeted at a non-technical audience and centered on data science literacy, with a focus on collecting, processing, analyzing and using data. The objective is through general education to prime students at an early stage of their college education for the changes in the data-driven society and to provide them with skills to harness the power of data. Our experience and evaluation results indicate that it is realistic for a diverse population of undergraduate students to acquired data science literacy and practical skills through a general education course.
Christo Dichev and Darina Dicheva
431 A Way How to Impart Data Science Skills to Computer Science Students Exemplified by OBDA-Systems Development [abstract]
Abstract: Nowadays to explore and examine data from a variety of angles to tackle Big Data problems, to devise data-driven solutions to the most pressing challenges, it is necessary to build multidisciplinary students’ skills set for innovative methods not only for Masters in Data Science Programs but in traditional Computer Science Programs too. In the paper, we describe how teaching methods and tools, which are used to train students to develop Ontology-Based Data Access systems with natural language interface to relational databases, help Master’s Degree students in Computer Science to collaborate with Data Scientists in real-world interdisciplinary projects and prepare them for a data science career. We use ontology engineering in a combination with Natural Language Processing methods based on lexico-syntactic patterns, in particular, to extract needful data from structured, semi-structured and unstructured datasets in a uniform way to analyze real-world Russian social networks related to new building area.
Svetlana Chuprina, Igor Postanogov and Taisiya Kostareva