Programming for Lovers (P4❤️) is a free online course teaching programming via fun scientific applications.
In a trial run of Programming for Lovers 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. I revamped the course and recently republished it to a permanent home at https://programmingforlovers.com.
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.
I have created several online education projects at scale, but I my dream is for Programming for Lovers to be the most successful of them all.
You can check out our course intro video below and get started learning today at programmingforlovers.com.