Цитирую свой ответ в соседнем вопросе:
"Если вы у вас совсем нет опыта в программировании, то лучше начать с чего-то, что поможет изучить базовые вещи для любого направления.
Если книга, то могу порекомендовать Glenn Brookshear "Computer Science - An Overview". Книга представляет собой базовый курс по Computer Science, писал о ней подробнее здесь.
Если вы любите более интерактивные методы обучения, то советую курс CS50. Курс знакомит с основами программирования и основными концепциями Computer Science.
Портал Javarush перевел его на русский язык. Записи можно найти на их канале.
После изучения этой книги или курса вы сами сможете понять, что вам нравится и найти необходимые материалы для изучения."