The University of Edinburgh
Code Yourself! An Introduction to Programming
Skills you'll gain: Algorithms, Computer Programming, Leadership and Management, Computer Program, Journalism, Software, Other Programming Languages, Programming Principles, Software Engineering, Language, Entrepreneurship, Problem Solving, Theoretical Computer Science, Research and Design