Для полноценного программирования нужно иметь компьютер, доступ в интернет, тренированную логику и знания математики.
Первое, настроиться.
Второе, нужно определить, какой язык программирования будете учить. Для этого можно прочитать несколько статей или посоветоваться с кем-нибудь опытным.
Сейчас приведу несколько сайтов (а их всего много), которые содержат в себе много информации, собранной в блоки.
1.Informatics. Есть много материалов. Для тех, кто вообще не знает что-либо, и тех, кто уже чему-то научился. Начинать — отсюда. Оформление не очень, но концепт сайта клёвый.
2.Foxford. После знакомства с простейшими задачами можно начинать работать вместе с группой на курсах. Они недорогие, плюс к тому, стоят той цены. Одни из самых лучший преподавателей СНГ. Некоторый материал или вебинары бесплатны, так что при отсутствии наличности тоже можно посетить для поиска теории..
3.Hexlet. Сайт с сотнями уроков и видео-занятий. Некоторые лайвхаки, советы и многое другое.
4.Codecacademy. Сайт предоставляет обширный материал для изучения. Можно приступить сразу же после informatics.
5.Code School. Курсы долгосрочные, платные, но гарантированно сделают из зелёного кодера эксперта в своём деле. В общем, это уже после перечисленных ранее.
6.Usaco. Английский сайт с олимпиадными задачами. Скажу сразу, задачи сложные, так что сразу приступать не советую.
7.GeekBrains. Подборка лучший курсов и вебинаров. Для тех, кто уже хочет реально этим заниматься.