нужно обучать снизу вверх - сначала как работает єлектричество, потом как работают логические єлементы, потом транзисторы, потом уровень процессора и команд, организация памяти, потом уже можно начинать переменные, типы данных изучать и т.д.
Мне понравилось в этом плане как у нас обучение было.
Вначале шли алгоритмы в абстрактном плане - машина Тюринга, проблема останова и т.д. Параллельно с ними - базовые алгоритмы и структуры данных на паскале.
Потом архитектура ЭВМ + асм под х86, потом уже си + курс ОСей на примере unix систем.
Дальше уже кресты и т.п.