Programming for Lovers banner image. Gopher Courtesy: Renee French
Gopher Courtesy: Renee French

About the Course

Programming for Lovers (P4❤️) is a free online course teaching programming via fun scientific applications.

In a trial run of the course in fall 2019, we enrolled 2,800 learners, and I gave $2,500 to charitable causes in education and outreach that are organized by Carnegie Mellon University’s School of Computer Science, where I serve as a professor in the Computational Biology Department.

I want P4❤️ to be a refuge for learners who want to become strong programmers but have found existing introductory materials lacking in rigor and fun.  I detail the themes of P4❤️ in my  manifesto, but the central theme of the course is that it combines the rigor of my own programming courses at Carnegie Mellon with fun applications, from predicting an election from polling data to simulating gravity, and building the evolutionary Tree of Life for coronaviruses.

Each chapter of P4❤️ covers a fundamental programming concept like Monte Carlo simulation, top-down design, or parallel programming, without delving into the details of how these concepts are implemented by a specific language. This allows students to understand the critical details without getting bogged down in learning the details of the language.  Only after the programming topic has been discussed do I then demonstrate, in a recorded code-along, how a specific language implements these ideas. The course currently uses Go as its primary language, but I plan to add more languages in the future.

You can check out our course intro video below and get started learning today at