The document comprises slides from a keynote address by Bertrand Meyer on the distinctions and educational challenges in teaching programming and software engineering, presented at the ICSE conference in 2010. It provides insight into definitions, teaching strategies, curriculum design, and the importance of both concepts and skills in programming education. Additionally, it addresses lessons learned from experiences in this domain and highlights various challenges encountered in software engineering education.