Где практиковаться в низкоуровневом программировании и что изучать?
 Научиться писать на чистом Си по Кернигану и Ритчи Прочитать Код. Тайный язык информатики Пройти Build a Modern Computer from First Principles: Fro... Очень классный курс. С нуля строишь строишь процессор и память из элементарных гейтов, создаёшь ассемблер под сознанное железо, поверх создаёшь язык высокого уровня и простейшую оськуHack The Kernel  Написать свои локи, шедулер, менеджмент памяти. Сложно, ибо предполагается что студенты пишут это в парах и задавая вопросы преподам на занятиях. Но почитать код учебной оси мне показалось очень полезным, особенно сразу после Nand to Tetris.  Постажироваться в samsung/intel/etc  Осознать, что в этой области нужно потратить годы, чтобы начать по настоящему вывозить
Разбавить всё чтением всяких книг по железу и осям. Тут конкретного ничего конкретного не буду советовать. Вот сюда ещё загляните https://github.com/ossu/computer-science
если надо программировать микроконтроллкры то можно и на js (искра.js)
это удобнее чем на С
я знаю js и хочу заняться робототехникой и умным домом
мне вполне хватит искры.js
но если работать в индустрии то надо программировать на С и С++
новичку лучше начать с простого и удобного
потом при желании перейти на С и С++ не сложно