Jak się uczyć i nie zdemotywować?

0

Cześć, jestem kompletnie nowy jeśli chodzi o programowanie i przychodze do was z pytaniem.
Aktualnie moja nauka wygląda tak.
Zakupiłem Sololearn i staram się codziennie coś w niego klikać. W pewnych sytuacjach stoje na jakimś temacie i nie jestem go w stanie w 100% zrozumieć co powoduje we mnie wielka frustracje ze nadal jestem tak daleko z tematem, presją są znajomi studenci którzy w sumie to mnie demotywują tym ze mi to wolno idzie.
Myślicie ze lepiej uczyć się w praktyce? Jeśli mam jakieś zadanie z sololearna to szukać rozwiązań na jakichś stronkach? Czy uważać to za oszustwo i starać się robić wszystko z głowy?
Zacząłem robić projekt servera gry który w większości jest oparty na c++, większości nie rozumiem ale moją taktyką jest googlowanie.
Dajcie jakieś rady dla początkującego :x
Zeby zacząć muszę to podstawę mieć wbitą dokładnie na blachę?

13

Najlepiej nie zaczynac od C++

1

Jednym idzie wolniej, drugim szybciej. Są pewnie tematy które złapiesz od razu, a nad innymi się pomęczysz, a jak ktoś Cię demotywuje głupim gadaniem to niech ciągnie kiszkę, nie zwracaj na niego uwagi. Googlowanie według mnie jest ok, bo po co wymyslać koło po raz drugi, chodzi o to żeby zrozumieć to rozwiązanie z neta a nie bezmyślnie przeklejać. Podstawy musisz umieć, reszta zależy od Ciebie - masz zajawkę to sobie kmiń sam grubsze algorytmy albo konkretne rozwiązania po kolei, a jak masz bardzo duży projekt do zrobienia a nie chcesz stracić całego życia to szukaj gotowych rozwiązań.

0
stivens napisał(a):

Najlepiej nie zaczynac od C++

Dlaczego?

3
ktokolwiek23 napisał(a):

presją są znajomi studenci którzy w sumie to mnie demotywują tym ze mi to wolno idzie.

Studia to gra złudzeń.

Jakbyś podrążył głębiej, to mogłoby się okazać, że ci studenci wcale nie są tacy hop do przodu, a tylko ci się wydaje, że są lepsi.

Ew. mogą mieć nawet lepsze wyniki, ale dlatego, że mają np. lepszą taktykę (tutaj możliwe, że mniej perfekcjonistyczni, więc idą mocniej nie przejmując się, że nie rozumieją). Tylko, że też trzeba wziąć pod uwagę, że szybsze robienie ćwiczeń na jakiejś tam stronie czy lepsze wyniki na studiach to nie jest to samo, co bycie lepszym w programowaniu.

Jeszcze możliwe, że mają lepszy background (co robili przed studiami) albo więcej czasu spędzają na nauce.

Albo po prostu są lepsi i tyle. Tyle, że tu gra rolę jeszcze motywacja i determinacja. To, że ktoś jest lepszy na studiach, nie oznacza, że będzie lepszy kilka lat po studiach.

większości nie rozumiem ale moją taktyką jest googlowanie.

Witamy w życiu.

Na wyższym etapie po prostu wiesz, gdzie szukać. Ew. nie potrzebujesz już googlować, bo zinternalizowałeś wiedzę.

W pewnych sytuacjach stoje na jakimś temacie i nie jestem go w stanie w 100% zrozumieć co powoduje we mnie wielka frustracje ze nadal jestem tak daleko z tematem

Jak nie rozumiesz, to przesuń się na drugą stronę opozycji teoria-praktyka.

Jeśli czytasz coś w teorii i nie rozumiesz, to postaraj się samemu to napisać (albo zobaczyć konkretny przykład konkretnego kodu, który działa).

I odwrotnie - jeśli masz konkretny kod, którego działania nie rozumiesz, to możesz spróbować rozbić to na części i poczytać coś o każdej funkcji czy koncepcji, żeby zrozumieć to teoretycznie "dlaczego ten kod robi to, co robi".

100% zrozumieć

Toż to eksperci z danego tematu nie osiągają 100% zrozumienia. Zawsze coś pozostanie zagadką czy wątpliwością albo czymś, co się przyjmuje na wiarę. Na pewnym etapie w życiu trzeba zaakceptować, że się robi coś, czego się nie rozumie do końca. A czasem najlepsze, co możesz zrobić, to odłożyć temat (np. jak robisz te zadania, to możesz skipnąć to zadanie i przejść do kolejnego łatwiejszego czy coś).

2
ktokolwiek23 napisał(a):

Zacząłem robić projekt servera gry który w większości jest oparty na c++, większości nie rozumiem ale moją taktyką jest googlowanie.

Najwyraźniej nie jesteś jeszcze na poziomie by pisać serwery do gier. Na początku to trzeba się przedrzeć przez podstawy pokroju sprawdzania, czy napis jest palindromem czy gra w kółko i krzyżyk w konsoli.

0
LukeJL napisał(a):
ktokolwiek23 napisał(a):

presją są znajomi studenci którzy w sumie to mnie demotywują tym ze mi to wolno idzie.

Studia to gra złudzeń.

Jakbyś podrążył głębiej, to mogłoby się okazać, że ci studenci wcale nie są tacy hop do przodu, a tylko ci się wydaje, że są lepsi.

Ew. mogą mieć nawet lepsze wyniki, ale dlatego, że mają np. lepszą taktykę (tutaj możliwe, że mniej perfekcjonistyczni, więc idą mocniej nie przejmując się, że nie rozumieją). Tylko, że też trzeba wziąć pod uwagę, że szybsze robienie ćwiczeń na jakiejś tam stronie czy lepsze wyniki na studiach to nie jest to samo, co bycie lepszym w programowaniu.

Jeszcze możliwe, że mają lepszy background (co robili przed studiami) albo więcej czasu spędzają na nauce.

Albo po prostu są lepsi i tyle. Tyle, że tu gra rolę jeszcze motywacja i determinacja. To, że ktoś jest lepszy na studiach, nie oznacza, że będzie lepszy kilka lat po studiach.

większości nie rozumiem ale moją taktyką jest googlowanie.

Witamy w życiu.

Na wyższym etapie po prostu wiesz, gdzie szukać. Ew. nie potrzebujesz już googlować, bo zinternalizowałeś wiedzę.

W pewnych sytuacjach stoje na jakimś temacie i nie jestem go w stanie w 100% zrozumieć co powoduje we mnie wielka frustracje ze nadal jestem tak daleko z tematem

Jak nie rozumiesz, to przesuń się na drugą stronę opozycji teoria-praktyka.

Jeśli czytasz coś w teorii i nie rozumiesz, to postaraj się samemu to napisać (albo zobaczyć konkretny przykład konkretnego kodu, który działa).

I odwrotnie - jeśli masz konkretny kod, którego działania nie rozumiesz, to możesz spróbować rozbić to na części i poczytać coś o każdej funkcji czy koncepcji, żeby zrozumieć to teoretycznie "dlaczego ten kod robi to, co robi".

100% zrozumieć

Toż to eksperci z danego tematu nie osiągają 100% zrozumienia. Zawsze coś pozostanie zagadką czy wątpliwością albo czymś, co się przyjmuje na wiarę. Na pewnym etapie w życiu trzeba zaakceptować, że się robi coś, czego się nie rozumie do końca. A czasem najlepsze, co możesz zrobić, to odłożyć temat (np. jak robisz te zadania, to możesz skipnąć to zadanie i przejść do kolejnego łatwiejszego czy coś).

bardzo dziękuje za tak treściwą wypowiedź :)

4
ktokolwiek23 napisał(a):
stivens napisał(a):

Najlepiej nie zaczynac od C++

Dlaczego?

Bo to jeden z gorszych jezykow dla poczatkujacych. Trudny, z rozdmuchana skladnia i recznym zarzadzaniem pamiecia, rzeczami dorzucanymi do niego przez dziesiat lat - czasami bez ladu i skladu, z archaizmami odziedziczonymi po C albo zwyczajnie wstecznie kompatybilnymi z wymyslami z lat 80. A w praktyce wiekszosc programistow i tak nie bedzie mialo nic wspolnego z domena, w ktorej zyje C++. A nawet jesli bedzie mialo to zarzadzania pamiecia mozna sie juz nauczyc jak sie zna podstawy.

Nie zaczyna sie nauki matematyki od calek

0
stivens napisał(a):
ktokolwiek23 napisał(a):
stivens napisał(a):

Najlepiej nie zaczynac od C++

Dlaczego?

Bo to jeden z gorszych jezykow dla poczatkujacych. Trudny, z rozdmuchana skladnia i recznym zarzadzaniem pamiecia, rzeczami dorzucanymi do niego przez dziesiat lat - czasami bez ladu i skladu, z archaizmami odziedziczonymi po C albo zwyczajnie wstecznie kompatybilnymi z wymyslami z lat 80. A w praktyce wiekszosc programistow i tak nie bedzie mialo nic wspolnego z domena, w ktorej zyje C++.

Z racji iż jestem mocno początkującym spróbuje jeszcze pythona. Bardzo dziękuje za opinie :)

2

My się wydaje, ze dopóki jesteś systematyczny to będzie ok, nie przejmuj się za bardzo innymi. Wraz z doświadczeniem nauczysz się lepiej ogarniać tematy. Poza tym tak jest ze wszystkim. Trochę dam przykład nie z programowania ale.

Np. ja przeczytałem 5 Książek do materiałoznawstwa, aby pogłębić wiedzę w tym kierunku. Przy pierwszej wszystko wyadało mi się zagmatwane i odniosłem wrażenie, że nieomal nic nie wyciągnąłem z tej książki ( fakt byłą kapkę niskich lotów ).
Potem czytałem już bardziej zaawansowaną literaturę, miałem też już jakąś wiedzę praktyczną i nie dość, że lepiej mi wchodziło to więcej rozumiałem. "Kropki się łączyły"
Także czasami wystarczy, ze zapamiętasz, ze o tutaj jest coś nie halo ale nie ogarniam co i przyjdzie czas, że się skrystalizuje w głowie.
Oczywiście powtarzam, trzeba systematycznie pracować.

1

Kompletnie nudne rzeczy robisz to zawsze się wypalisz.

C++ to tylko język, ale przydatny.
Żeby się nie wypalić powinieneś robić coś ciekawego to co ci podpowiada wyobraźnia.

Ciekawe miejsca to kernel windowsa i linuksa, umiesz manipulować syscallami? ukryć swój proces albo plik żeby żadna aplikacja w systemie tego nie znalazła.
Dobrać się do dowolnego pakietu wysyłanego z każdej aplikacji i np. je przefiltrować.

Ukraść samochód, otworzyć okno, przechwycić i wstrzyknąć kod immobilizera.

Zcrackować każdy program i każdy zrozumieć, każdy ma się podporządkować.

Ciekawe jest umieć znaleźć to o czym się myśli, przykładowo klikam coś myszką i chcę widzieć od razu kod tej funkcjonalności, która za to odpowiada.
Zwykle jest tego trochę, ale warunki logiczne można takie ustalić, że tylko ta funkcja programu, która to robi się znajdzie nic innego i wtedy się zaczyna tango bo jeśli znajdziesz taki kod w kernelu lub innej aplikacji to masz jej adres możesz hooknąć, zrzutować na wskaźnik na funkcję i wywołać robisz co chcesz zabawa rośnie im więcej jej doświadczysz, większa wiedza więcej pomysłów, więcej zabawy.

0

Nie da się przeskoczyć takich nudnych podstaw chociażby z samej składni języka, ale jak już przez to przebrniesz, to zacznij pisać rzeczy, które cię interesują. Sam język to już drugorzędną sprawa. Jeśli znajdziesz działkę, projekt (najlepiej nie porywać się od razu na coś dużego i skomplikowanego, na początek to może być nawet mały wycinek czegoś większego) z jakimś sensownym tutorialem, to ucz się z nim, od razu będziesz wiedział, do czego to dąży i będzie łatwiej o motywację przy widocznych efektach

0

Chyba najlepszą i najskuteczniejszą metodą pokonania chwilowego zdemotywowania jest po prostu pasjonować się danym tematem.
W tym przypadku działką IT pod tytułem "programowanie". Dlaczego? Ponieważ po chwilowej możliwej demotywacji i tak zwykle pasja i chęć bycia jeszcze lepszym bierze górę nad demotywacją.

A motywacje typu:

  • "bo łatwa i duża kasa" (nie narobię się a i tak będę ustawiony do końca życia)
  • "a bo rodzice kazali zająć się kumputerami" (projekcja oczekiwań rodziców na swoje dzieci)
  • "a bo byłem po ogólniaku i nie miałem zawodu więc poszedłem na studia IT" (nic mnie nie interesuje i nic nie umiem ale może odnajdę się w IT)
  • "kumpel poszedł na butkamp i teraz zarabia kokosy" (zazdrość)

to chyba najkrótsza droga do szybkiej i często nawracającej demotywacji.

Z porad udzielonych do tej pory proponuję przyjrzeć się temu co napisał: @TheWypierdzisty i pomyśleć nad tym w kontekście, który opisałem tutaj w tym poście.

:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1