Примерно полгода назад встал вопрос об обучении одного молодого человека основам программирования. Было использовано несколько книжек, но в итоге лучше всего зашла вот такая: "Python 3. Самое необходимое".
Обращаю внимание - нет обучения программированию без каких-то реальных проектов. Не тестовых/учебных, а таких, которыми обучаемый будет пользоваться сам. Я, например, заставил человека написать маленькую, примитивную домашнюю бухгалтерию и пользоваться ей же.
Вообще, начинать следует либо с Python, либо с С (книжка Керниган и Ритчи в помощь). Сразу же окунаться в Java/С++ - безумие. Хотя бы базовые понятия знать нужно. А их даст как раз Python/С.
Начинать с c++ не слишком сложно? Может с питона лучше, я уже на codecombat немного понял в питоне