Сам программист и имею некоторый опыт преподавания программирования, как школьникам, так и студентам.
Начинать с изучения алгоритмов архитектур, баз данных и прочего категорически не советую!
Убьете в себе всякое желание развиваться в этом направлении. Лучшая мотивация для человека продолжать что то начатое, это когда он видит как что то, только что созданное им, пускай и почти бесполезное, но (!)Работает.
Начните с какой нибудь книжки изучения языка (C, Java, C#)для начинающих. Для начала освойте основные конструкции языка: Типы данных, Ввод, Вывод, Условия, Циклы, Функции/Методы.
Потом переходите на решение простых задач:
— Вывести все числа от 0 до 10
— Вывести все четные числа
— Вывести таблицу умножения
— Красиво отформатировать выводимую таблицу умножения
— Вывести треугольник паскаля (тоже можно с форматированием)
Далее стоит уже порешать простейшие алгоритмические задачи, которые потихоньку заставят вас обратиться к книжкам этой тематики:
— Найти решение уравнения заданного коэффициентами, методом деления отрезка пополам.
— Позволить пользователю ввести набор чисел и вывести их в сортированном виде.
— Прочитать файл и вывести все встречающиеся в нем слова (уникальный список слов)
… тут уже начинает кончаться фантазия потому что я еще не пил свой утренний кофе, но если вам потребуется я с удовольствием добавлю список.
После того как эти азы вам будут уже известны вы и сами найдете себе задачу по плечу. И вам будет гораздо интереснее читать те книжки которые вам тут советуют. И не важно какую платформу и язык вы выберете потом, важно сначала научиться программировать.