PCP Notebooks: A Preparation Course for Python with a Focus on Signal Processing

Meinard Müller, Sebastian Rosenzweig
{"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":null,"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.0000,"publicationDate":"2022-01-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"The Journal of open source education","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.21105/jose.00148","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

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.
PCP笔记本:专注于信号处理的Python准备课程
由于机器学习的快速发展和开源软件的日益重要,Python已经成为许多科学领域研究和教育的主要计算机编程语言。虽然许多硕士水平的工程专业学生拥有不同编程语言的编程技能,如MATLAB、C/ c++或Java,但他们在使用Python和许多相关软件框架方面的经验往往较少。PCP笔记本通过提供Python准备课程(PCP)的开源教育材料,同时使用信号处理作为实践编程概念的激励和切实的应用程序,从而缩小了这一差距。基于开放访问的Jupyter笔记本框架(Kluyver等人,2016),PCP笔记本由交互式文档组成,其中包含可执行代码、类似教科书的解释、数学公式、图表、图像和声音示例。假设在数字信号处理方面有一些一般的编程经验和基本知识,PCP笔记本被设计用于几个目的。首先,在参与信号处理课程的实验课程或使用更高级的信号处理工具箱时,他们会根据需要介绍Python编程的基本概念。此外,笔记本概述了信号处理中需要的核心数学概念,包括复数、指数函数、信号和采样以及离散傅里叶变换。本课程的另一个目标是让学生熟悉软件开发和可重复研究的现代工具。提供可用于课程或自学的交互式和结构良好的材料,我们希望PCP笔记本在促进多媒体工程及其他领域的教育和研究方面做出有价值的贡献。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信