Все зависит от типа программирования.
Но в целом подойдут компы среднего диапазона. Что то типа corei5 Ram 16, HDD по вкусу, графика можно использовать встроенную.
Некоторые типы программирования требуют специфичную начинку. Ну например для нейронок хорошо бы иметь неплохо видеоускоритель. Опять же в учебных задачах вряд ли вам понадобиться сильная вычислительная мощность.
Про переферию: мышка клавиатура любая,можно шикануть и подобрать чтонибудь удобное.Монитор в принципе тоже, но желательно побольше диагональ, ибо чем больше монитор, тем больше информации отображается тем комфортнее работать.
Софт: Операционная система, лучше Linux, Ubuntu например, много разработки ведется на Linux машинах. Да и честно некоторые моменты с средой разработки легче сделать в Linux чем в WIndows. Стандартный набор офисных программ например на Libre office, И собственно среда разработки, тут зависит от языка программирования. Еще желательно поставить Insomnia , для генерации Http запросов, и какойнибудь atom как текстовый редактор.