Для "взаимодействия" надо знать как подключить USB-кабель. Для программирования - основы С. Для изготовления реальных устройств, особенно уровня выше "помигать светодиодом" или "вывести на экранчик температуру с датчика", весьма желательно знание паяльника и электроники на уровне хотя бы советского радиокружка.
Если серьезно, то не представляю как научиться программированию по ардуино. А вот имея знания именно по программированию их можно успешно применить в устройствах на ардуино, что позволит создать реально интересные и сложные вещи, а не компиляцию из типовых скетчей. Как пример сложной задачи - генератор синуса по принципу DDS чисто на ардуино, без дополнительных специализированных микросхем ;)