{"title":"PCP Notebooks: A Preparation Course for Python with a Focus on Signal Processing","authors":"Meinard Müller, Sebastian Rosenzweig","doi":"10.21105/jose.00148","DOIUrl":"https://doi.org/10.21105/jose.00148","url":null,"abstract":"Due to the rapid developments in machine learning and the growing importance of opensource software, Python has become the predominant computer programming language for research and education in many scientific fields. While many engineering students on the Master’s level have programming skills in different programming languages such as MATLAB, C/C++, or Java, they are often less experienced in using Python and the many associated software frameworks. The PCP notebooks contribute to closing this gap by offering open-source educational material for a Preparation Course for Python (PCP) while using signal processing as a motivating and tangible application for practicing the programming concepts. Building upon the open-access Jupyter notebook framework (Kluyver et al., 2016), the PCP notebooks consist of interactive documents that contain executable code, textbook-like explanations, mathematical formulas, plots, images, and sound examples. Assuming some general programming experience and basic knowledge in digital signal processing, the PCP notebooks are designed to serve several purposes. First of all, they introduce basic concepts of Python programming as required when participating in lab courses in a signal processing curriculum or when working with more advanced signalprocessing toolboxes. Furthermore, the notebooks recap central mathematical concepts needed in signal processing, including complex numbers, the exponential function, signals and sampling, and the discrete Fourier transform. Another goal of the course is to familiarize students with modern tools for software development and reproducible research. Providing interactive and well-structured material that may be used in a course or for self-study, we hope that the PCP notebooks make a valuable contribution in fostering education and research in multimedia engineering and beyond.","PeriodicalId":75094,"journal":{"name":"The Journal of open source education","volume":"1 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2022-01-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"67736321","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Zena Lapp, Kelly L Sovacool, Nick Lesniak, Dana King, Catherine Barnier, Matthew Flickinger, Jule Krüger, Courtney R Armour, Maya M Lapp, Jason Tallant, Rucheng Diao, Morgan Oneka, Sarah Tomkovich, Jacqueline Moltzau Anderson, Sarah K Lucas, Patrick D Schloss
{"title":"Developing and deploying an integrated workshop curriculum teaching computational skills for reproducible research.","authors":"Zena Lapp, Kelly L Sovacool, Nick Lesniak, Dana King, Catherine Barnier, Matthew Flickinger, Jule Krüger, Courtney R Armour, Maya M Lapp, Jason Tallant, Rucheng Diao, Morgan Oneka, Sarah Tomkovich, Jacqueline Moltzau Anderson, Sarah K Lucas, Patrick D Schloss","doi":"10.21105/jose.00144","DOIUrl":"https://doi.org/10.21105/jose.00144","url":null,"abstract":"<p><p>Inspired by well-established material and pedagogy provided by The Carpentries (Wilson, 2016), we developed a two-day workshop curriculum that teaches introductory R programming for managing, analyzing, plotting and reporting data using packages from the tidyverse (Wickham et al., 2019), the Unix shell, version control with git, and GitHub. While the official Software Carpentry curriculum is comprehensive, we found that it contains too much content for a two-day workshop. We also felt that the independent nature of the lessons left learners confused about how to integrate the newly acquired programming skills in their own work. Thus, we developed a new curriculum that aims to teach novices how to implement reproducible research principles in their own data analysis. The curriculum integrates live coding lessons with individual-level and group-based practice exercises, and also serves as a succinct resource that learners can reference both during and after the workshop. Moreover, it lowers the entry barrier for new instructors as they do not have to develop their own teaching materials or sift through extensive content. We developed this curriculum during a two-day sprint, successfully used it to host a two-day virtual workshop with almost 40 participants, and updated the material based on instructor and learner feedback. We hope that our new curriculum will prove useful to future instructors interested in teaching workshops with similar learning objectives.</p>","PeriodicalId":75094,"journal":{"name":"The Journal of open source education","volume":"5 47","pages":""},"PeriodicalIF":0.0,"publicationDate":"2022-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8872090/pdf/","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"9186209","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A narrative approach to building computational capacity for climate change impact assessment in professional master's students","authors":"Conor Anderson, Karen Smith","doi":"10.21105/jose.00100","DOIUrl":"https://doi.org/10.21105/jose.00100","url":null,"abstract":"With the growing recognition of the cascading consequences of climate change, there is an increasing demand for graduate education in climate change impact assessment (CCIA). To facilitate improved transparency and technical skill-building in CCIA, we have developed a new series of step-by-step, coherently narrated, open-source Python labs aimed at building professional master’s students’ computational capacity and confidence, while providing foundational knowledge in CCIA and the opportunity to engage with state-of-the-art methods and data. The labs are presented in an open-source (CC-BY-SA 4.0) lab manual entitled Climate Change Impact Assessment: A practical walk-through, featuring accessibly annotated code that can be used both for independent study, or during interactive live-coding lab sessions.","PeriodicalId":75094,"journal":{"name":"The Journal of open source education","volume":" ","pages":""},"PeriodicalIF":0.0,"publicationDate":"2021-12-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"47592567","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Marisa Lim, Abhijna Parigi, S. Canchi, J. Sánchez, Jeremy Walter, Amanda L Charbonneau, C. Brown
{"title":"Virtual training on virtual environments: an online open-source introduction to conda","authors":"Marisa Lim, Abhijna Parigi, S. Canchi, J. Sánchez, Jeremy Walter, Amanda L Charbonneau, C. Brown","doi":"10.21105/jose.00130","DOIUrl":"https://doi.org/10.21105/jose.00130","url":null,"abstract":"We present our lesson material and resources for teaching how to use conda (https: //conda.io), a tool that streamlines software installation and version management using isolated environments, while providing multiple methods for reproducing and sharing software set ups. This training material was developed for the NIH Common Fund Data Ecosystem (CFDE), whose primary goal is to teach biologists computational tools that help make their analysis workflows FAIR: Findable, Accessible, Interoperable, and Reusable (Wilkinson et al., 2016).","PeriodicalId":75094,"journal":{"name":"The Journal of open source education","volume":" ","pages":""},"PeriodicalIF":0.0,"publicationDate":"2021-12-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"44627507","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Take a moderndive into introductory linear regression with R","authors":"Albert Y. Kim, Chester Ismay, M. Kuhn","doi":"10.21105/JOSE.00115","DOIUrl":"https://doi.org/10.21105/JOSE.00115","url":null,"abstract":"We present the moderndive R package of datasets and functions for tidyverse-friendly introductory linear regression (Wickham, Averick, et al., 2019). These tools leverage the well-developed tidyverse and broom packages to facilitate 1) working with regression tables that include confidence intervals, 2) accessing regression outputs on an observation level (e.g. fitted/predicted values and residuals), 3) inspecting scalar summaries of regression fit (e.g. R, R adj , and mean squared error), and 4) visualizing parallel slopes regression models using ggplot2-like syntax (Robinson & Hayes, 2019; Wickham, Chang, et al., 2019). This R package is designed to supplement the book “Statistical Inference via Data Science: A ModernDive into R and the Tidyverse” (Ismay & Kim, 2019). Note that the book is also available online at https://moderndive.com and is referred to as “ModernDive” for short.","PeriodicalId":75094,"journal":{"name":"The Journal of open source education","volume":" ","pages":""},"PeriodicalIF":0.0,"publicationDate":"2021-07-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"45501894","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"mLEARn: An Implementation of Multi-layer Perceptron in C++","authors":"K. Ogbureke","doi":"10.21105/JOSE.00059","DOIUrl":"https://doi.org/10.21105/JOSE.00059","url":null,"abstract":"This paper presents mLEARn, an open-source implementation of multi-layer perceptron in C++. The techniques and algorithms implemented represent existing approaches in machine learning. mLEARn is written using simple C++ constructs. The aim of mLE ARn is to provide a simple and extendable machine learning platform for students in courses involving C++ and machine learning. The source code and documentation can be downloaded from https://github.com/kalu-o/mLEARn.","PeriodicalId":75094,"journal":{"name":"The Journal of open source education","volume":"1 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2021-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"43091690","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"An open source crash course on parameter estimation of computational models using a Bayesian optimization approach","authors":"Mojtaba Barzegari, L. Geris","doi":"10.21105/jose.00089","DOIUrl":"https://doi.org/10.21105/jose.00089","url":null,"abstract":"Parameter estimation is a crucial aspect of computational modeling projects, especially the ones that deal with ordinary differential equations (ODE) or partial differential equation (PDE) models. Well-known examples in this regard are models derived from a basic balance or conservation law, such as mass balance or heat transfer problems. For real-world applications, these equations contain some coefficients that cannot be obtained directly from published scientific materials or experimental studies (Dehghan, 2001). One of the best solutions to this challenge is constructing an inverse problem.","PeriodicalId":75094,"journal":{"name":"The Journal of open source education","volume":" ","pages":""},"PeriodicalIF":0.0,"publicationDate":"2021-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"48788898","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
M. Duda, Kelly L. Sovacool, Negar Farzaneh, V. Nguyen, Sarah E. Haynes, Hayley Falk, Katherine L. Furman, Logan A. Walker, Rucheng Diao, M. Oneka, Audrey C. Drotos, Alana Woloshin, Gabrielle A. Dotson, April Kriebel, Lucy Meng, Stephanie N. Thiede, Z. Lapp, B. Wolford
{"title":"Teaching Python for Data Science: Collaborative development of a modular & interactive curriculum","authors":"M. Duda, Kelly L. Sovacool, Negar Farzaneh, V. Nguyen, Sarah E. Haynes, Hayley Falk, Katherine L. Furman, Logan A. Walker, Rucheng Diao, M. Oneka, Audrey C. Drotos, Alana Woloshin, Gabrielle A. Dotson, April Kriebel, Lucy Meng, Stephanie N. Thiede, Z. Lapp, B. Wolford","doi":"10.1101/2021.06.17.448726","DOIUrl":"https://doi.org/10.1101/2021.06.17.448726","url":null,"abstract":"We are bioinformatics trainees at the University of Michigan who started a local chapter of Girls Who Code to provide a fun and supportive environment for high school women to learn the power of coding. Our goal was to cover basic coding topics and data science concepts through live coding and hands-on practice. However, we could not find a resource that exactly met our needs. Therefore, over the past three years, we have developed a curriculum and instructional format using Jupyter notebooks to effectively teach introductory Python for data science. This method, inspired by The Carpentries organization, uses bite-sized lessons followed by independent practice time to reinforce coding concepts, and culminates in a data science capstone project using real-world data. We believe our open curriculum is a valuable resource to the wider education community and hope that educators will use and improve our lessons, practice problems, and teaching best practices. Anyone can contribute to our educational materials on GitHub.","PeriodicalId":75094,"journal":{"name":"The Journal of open source education","volume":"67 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2021-06-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"83665679","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Z. Lapp, Kelly L. Sovacool, Nicholas A. Lesniak, Dana King, Catherine Barnier, M. Flickinger, Jule Krüger, Courtney R. Armour, Maya M. Lapp, J. Tallant, Rucheng Diao, M. Oneka, Sarah Tomkovich, Jacqueline Anderson, Sarah K. Lucas, P. Schloss
{"title":"Developing and deploying an integrated workshop curriculum teaching computational skills for reproducible research","authors":"Z. Lapp, Kelly L. Sovacool, Nicholas A. Lesniak, Dana King, Catherine Barnier, M. Flickinger, Jule Krüger, Courtney R. Armour, Maya M. Lapp, J. Tallant, Rucheng Diao, M. Oneka, Sarah Tomkovich, Jacqueline Anderson, Sarah K. Lucas, P. Schloss","doi":"10.1101/2021.06.15.448091","DOIUrl":"https://doi.org/10.1101/2021.06.15.448091","url":null,"abstract":"Inspired by well-established material and pedagogy provided by The Carpentries (Wilson 2016), we developed a two-day workshop curriculum that teaches introductory R programming for managing, analyzing, plotting and reporting data using packages from the tidyverse (Wickham et al. 2019), the Unix shell, version control with git, and GitHub. While the official Software Carpentry curriculum is comprehensive, we found that it contains too much content for a two-day workshop. We also felt that the independent nature of the lessons left learners confused about how to integrate the newly acquired programming skills in their own work. Thus, we developed a new curriculum that aims to teach novices how to implement reproducible research principles in their own data analysis. The curriculum integrates live coding lessons with individual-level and group-based practice exercises, and also serves as a succinct resource that learners can reference both during and after the workshop. Moreover, it lowers the entry barrier for new instructors as they do not have to develop their own teaching materials or sift through extensive content. We developed this curriculum during a two-day sprint, successfully used it to host a two-day virtual workshop with almost 40 participants, and updated the material based on instructor and learner feedback. We hope that our new curriculum will prove useful to future instructors interested in teaching workshops with similar learning objectives.","PeriodicalId":75094,"journal":{"name":"The Journal of open source education","volume":"14 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2021-06-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"80529257","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
B. M. ’t Hart, T. Achakulvisut, A. Akrami, Bradly Alicea, Ulrik R Beierholm, Gunnar Blohm, Kathryn Bonnen, John S Butler, Brandon Caie, You Cheng, H. Chow, Isaac David, Eric E. J. DeWitt, Jan Drugowitsch, Kshitij Dwivedi, P. Fiquet, Jeremy Forest, Byron Galbraith, Qingling Gu, Pankaj Gupta, Alexandre Hyafil, K. Kording, Arvind Kumar, Patrick Mineault, John D. Murray, Megan A. K. Peters, P. Schrater, C. Stringer, P. Wallisch, B. Wyble
{"title":"Neuromatch Academy: a 3-week, online summer school in computational neuroscience","authors":"B. M. ’t Hart, T. Achakulvisut, A. Akrami, Bradly Alicea, Ulrik R Beierholm, Gunnar Blohm, Kathryn Bonnen, John S Butler, Brandon Caie, You Cheng, H. Chow, Isaac David, Eric E. J. DeWitt, Jan Drugowitsch, Kshitij Dwivedi, P. Fiquet, Jeremy Forest, Byron Galbraith, Qingling Gu, Pankaj Gupta, Alexandre Hyafil, K. Kording, Arvind Kumar, Patrick Mineault, John D. Murray, Megan A. K. Peters, P. Schrater, C. Stringer, P. Wallisch, B. Wyble","doi":"10.31219/osf.io/9fp4v","DOIUrl":"https://doi.org/10.31219/osf.io/9fp4v","url":null,"abstract":"Neuromatch Academy (https://neuromatch.io/academy) was designed as an online summer school to cover the basics of computational neuroscience in three weeks. The materials cover dominant and emerging computational neuroscience tools, how they complement one another, and specifically focus on how they can help us to better understand how the brain functions. An original component of the materials is its focus on modeling choices, i.e. how do we choose the right approach, how do we build models, and how can we evaluate models to determine if they provide real (meaningful) insight. This meta-modeling component of the instructional materials asks what questions can be answered by different techniques, and how to apply them meaningfully to get insight about brain function.","PeriodicalId":75094,"journal":{"name":"The Journal of open source education","volume":"1 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2021-02-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"69636368","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}