Education

Computational Musicology For Python Programmers - Episode 198

Summary

Music is a part of every culture around the world and throughout history. Musicology is the study of that music from a structural and sociological perspective. Traditionally this research has been done in a manual and painstaking manner, but the advent of the computer age has enabled an increase of many orders of magnitude in the scope and scale of analysis that we can perform. The music21 project is a Python library for computer aided musicology that is written and used by MIT professor Michael Scott Cuthbert. In this episode he explains how the project was started, how he is using it personally, professionally, and in his lectures, as well as how you can use it for your own exploration of musical analysis.

Announcements

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, scalable shared block storage, node balancers, and a 40 Gbit/s public network, all controlled by a brand new API you’ve got everything you need to scale up. Go to pythonpodcast.com/linode to get a $20 credit and launch a new server in under a minute. And don’t forget to thank them for their continued support of this show!
  • And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.__init__ listeners get 2 months free on any plan by going to pythonpodcast.com/clubhouse today and signing up for a trial.
  • Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected])
  • To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media.
  • Join the community in the new Zulip chat workspace at pythonpodcast.com/chat
  • Your host as usual is Tobias Macey and today I’m interviewing Michael Cuthbert about music21, a toolkit for computer aided musicology

Interview

  • Introductions
  • How did you get introduced to Python?
  • Can you start by explaining what computational musicology is?
  • What is music21 and what motivated you to create it?
    • What are some of the use cases that music21 supports, and what are some common requests that you purposefully don’t support?
  • How much knowledge of musical notation, structure, and theory is necessary to be able to work with music21?
  • Can you talk through a typical workflow for doing analysis of one or more pieces of existing music?
    • What are some of the common challenges that users encounter when working with it (either on the side of Python or musicology/musical theory)?
    • What about for doing exploration of new musical works?
  • As a professor at MIT, what are some of the ways that music21 has been incorporated into your classroom?
    • What have they enjoyed most about it?
  • How is music21 implemented, and how has its structure evolved since you first started it?
    • What have been the most challenging aspects of building and maintaining the music21 project and community?
  • What are some of the most interesting, unusual, or unexpected ways that you have seen music21 used?
    • What are some analyses that you have performed which yielded unexpected results?
  • What do you have planned for the future of music21?
  • Beyond computational analysis of musical theory, what are some of the other ways that you are using Python in your academic and professional pursuits?

Keep In Touch

Picks

Links

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Classic Computer Science For Pythonistas - Episode 197

Summary

Software development is a career that attracts people from all backgrounds, and Python in particular helps to make it an approachable occupation. Because of the variety of paths that can be taken it is becoming increasingly common for practitioners to bypass the traditional computer science education. In this episode David Kopec discusses some of the classic problems that he has found most useful to understand in his work as a professor and practitioner of software engineering. He shares his motivation for writing the book "Classic Computer Science Problems In Python", the practical approach that he took, and an overview of how the contents can be used in your day-to-day work.

Announcements

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, scalable shared block storage, node balancers, and a 40 Gbit/s public network, all controlled by a brand new API you’ve got everything you need to scale up. Go to pythonpodcast.com/linode to get a $20 credit and launch a new server in under a minute. And don’t forget to thank them for their continued support of this show!
  • And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.__init__ listeners get 2 months free on any plan by going to pythonpodcast.com/clubhouse today and signing up for a trial.
  • Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected])
  • To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media.
  • Join the community in the new Zulip chat workspace at pythonpodcast.com/chat
  • Your host as usual is Tobias Macey and today I’m interviewing David Kopec about his recent book "Classic Computer Science Problems In Python"

Interview

  • Introductions
  • How did you get introduced to Python?
  • Can you start by discussing your motivation for creating this book and the subject matter that it covers?
    • How do you define a "classic" computer science problem and what was your criteria for selecting the specific cases that you included in the book?
  • What are your favorite features of the Python language, and which of them did you learn as part of the process of writing the examples for this book?
  • Which classes of problems have you found to be most difficult for your readers and students to master?
    • Which do you consider to be most relevant/useful to professional software engineers?
  • I was pleasantly surprised to see introductory aspects of artificial intelligence included in the subject matter that you covered. How did you approach the challenge of making the underlying principles accessible to readers who don’t necessarily have a background in the related fields of mathematics?
  • What are some of the most interesting or unexpected changes that you had to make in the process of adapting your examples from Swift to Python in order to make them appropriately idiomatic?
  • By aiming for an intermediate audience you free yourself of the need to incorporate fundamental aspects of programming, but there can be a wide variety of experiences at that level of experience. How did you approach the challenge of making the text accessible while still being accurate and engaging?
  • What are some of the resources that you would recommend to readers who would like to continue learning about computer science after completing your book?

Keep In Touch

Book Discount And Giveaway

  • Use code podinit19 to get 40% off all Manning products

Picks

Links

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Helping Teacher's Bring Python Into The Classroom With Nicholas Tollervey - Episode 173

Summary

There are a number of resources available for teaching beginners to code in Python and many other languages, and numerous endeavors to introduce programming to educational environments. Sometimes those efforts yield success and others can simply lead to frustration on the part of the teacher and the student. In this episode Nicholas Tollervey discusses his work as a teacher and a programmer, his work on the micro:bit project and the PyCon UK education summit, as well as his thoughts on the place that Python holds in educational programs for teaching the next generation.

Preface

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 200Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute.
  • Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected])
  • To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media.
  • Join the community in the new Zulip chat workspace at podcastinit.com/chat
  • Your host as usual is Tobias Macey and today I’m interviewing Nicholas Tollervey about his efforts to improve the accessibility of Python for educators

Interview

  • Introductions
  • How did you get introduced to Python?
  • How has your experience as a teacher influenced your work as a software engineer?
  • What are some of the ways that practicing software engineers can be most effective in supporting the efforts teachers and students to become computationally literate?
    • What are your views on the reasons that computational literacy is important for students?
  • What are some of the most difficult barriers that need to be overcome for students to engage with Python?
    • How important is it, in your opinion, to expose students to text-based programming, as opposed to the block-based environment of tools such as Scratch?
    • At what age range do you think we should be trying to engage students with programming?
  • When the teacher’s day was introduced as part of the education summit for PyCon UK what was the initial reception from the educators who attended?
    • How has the format for the teacher’s portion of the conference changed in the subsequent years?
    • What have been some of the most useful or beneficial aspects for the teacher’s and how much engagement occurs between the conferences?
  • What was your involvement in the initiative that brought the BBC micro:bit to UK classrooms?
    • What kinds of feedback have you gotten from students who have had an opportunity to use them?
    • What are some of the most interesting or unexpected uses of the micro:bit that you have seen?

Keep In Touch

Picks

Links

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Learn Leap Fly: Using Python To Promote Global Literacy with Kjell Wooding - Episode 145

Summary

Learning how to read is one of the most important steps in empowering someone to build a successful future. In developing nations, access to teachers and classrooms is not universally available so the Global Learning XPRIZE serves to incentivize the creation of technology that provides children with the tools necessary to teach themselves literacy. Kjell Wooding helped create Learn Leap Fly in order to participate in the competition and used Python and Kivy to build a platform for children to develop their reading skills in a fun and engaging environment. In this episode he discusses his experience participating in the XPRIZE competition, how he and his team built what is now Kasuku Stories, and how Python and its ecosystem helped make it possible.

Preface

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable.
  • When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at podastinit.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters.
  • If you’re tired of cobbling together your deployment pipeline then it’s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to podcatinit.com/gocd. Professional support and enterprise plugins are available for added piece of mind.
  • Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected])
  • To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media.
  • Your host as usual is Tobias Macey and today I’m interviewing Kjell Wooding about Learn Leap Fly, a startup using Python on mobile devices to facilitate global learning

Interview

  • Introductions
  • How did you get introduced to Python?
  • Can you start by describing what Learn Leap Fly does and how the company got started?
  • What was your motivation for using Kivy as the primary technology for your mobile applications as opposed to the platform native toolkits or other multi-platform frameworks?
  • What are some of the pedagogical techniques that you have incorporated into the technological aspects of your mobile application and are there any that you were unable to translate to a purely technical implementation.
  • How do you measure the effectiveness of the work that you are doing?
  • How has the framework of the XPRIZE influenced the way in which you have approached the design and development of your work?
  • What have been some of the biggest challenges that you faced in the process of developing and deploying your submission for the XPRIZE?
  • What are some of the features that you have planned for future releases of your platform?

Keep In Touch

Picks

Links

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA