Macie dziwne dylematy. Przecież nic nie przeszkadza temu, żeby jednocześnie chodzić na kurs, a w domu uczyć się jednocześnie z książek, z Udemy i pisząc samodzielne programy oraz radząc się na forach w konkretnych problemach.
No, może zasoby (pieniądze + czas) są zwykle ograniczone i człowiek nie dałby rady korzystać ze wszystkiego naraz, ale tak ogólnie, to nic nie stoi na przeszkodzie, żeby się uczyć z różnych źródeł (zresztą pokażcie mi źródło nauki programowania, które jest wystarczające do bycia "jedynym źródłem nauki". Nie ma czegoś takiego, że pójdziesz na kurs i nauczą cię wszystkiego. Tak samo jak nie ma pracy, która daje absolutne doświadczenie*, ani nie jest prawdą, że wystarczy klepać projekty i wszystko się zrozumie bez żadnej teorii czy nauczyciela).
Ludzie tworzą sobie sztuczne podziały. Aż dziwne, że w dobie internetu ludzie jeszcze stawiaja grubą kreskę między różnymi sposobami nauki, zamiast korzystać z wielu różnych sposobów, które są na wyciągnięcie ręki. Przecież dzisiaj siadasz przed komputerem i masz dostęp do każdego źródła wiedzy, i to nie tylko cyfrowego - możesz się zapisać na do stacjonarny bootcamp albo zamówić papierową książkę przez neta, jeśli cyfrowe rzeczy ci nie starczają. Ba, nawet na studia możesz się zapisać. Możesz też w każdej chwili sprawdzić coś w necie, cokolwiek byłoby niejasne, zwykle można znaleźć choćby artykuł na ten temat).
Natomiast tak postawione pytanie "kurs czy nauka w domu" zakłada, że pójście na kurs = brak nauki w domu. Takie podejście nie wróży sukcesu.
* nazwijmy, że "absolutne doświadczenie" byłoby wtedy, jeśli umiałbyś rozwiązać każdy problem i zaimplementować rozwiązanie w maks kilka minut, niezależnie od jego skomplikowania. Coś jak "200 lat doświadczenia"
Oprócz siadaj i się ucz.
Ale to jest najlepsza rada. Nie poświęcisz czasu, to się nie naumiesz.