Kako vježbati?

Kako vježbati? WHO preporučuje barem 150 minuta tjedno aerobne aktivnosti (kao što su džogiranje, plivanje, bicikl) te vježbe jačanja mišića barem dvaput tjedno. Ali ovdje nije riječ o tom vježbanju, nego o natjecateljskom programiranju ili matematici. Na ovom sam blogu već pisao o raznim aspektima vježbanja, a sada to želim nekako sistematizirati.

Ovo pitanje tek rijetki shvaćaju dovoljno ozbiljno; čini mi se da većina pretpostavlja da je odgovor samo rješavaj zadatke ili nešto slično. Ali to je dobar odgovor samo ako:

  1. imamo dovoljno motivacije da redovito radimo;
  2. rješavamo i zadatke koji su dovoljno teški/izazovni, ne samo one koje znamo bez muke riješiti;
  3. imamo izvore novih znanja koji nam omogućuju napredak.

Bez prve točke nedostaje nam kvantiteta, bez druge točke kvaliteta treninga, a bez treće mentorski aspekt. Dobar trening sadrži sve tri komponente. Evo nekih prijedloga…

  1. Za prvu točku potrebna je disciplina. O njoj sam pisao u ovom postu. Ukratko, ako još ne radimo dovoljno redovito, za izgradnju navike dovoljno je svaki dan riješiti jedan lagani zadatak.
  2. Za drugu točku (izazov) potrebno je rješavati zadatke koji su otprilike toliko teški da uspijemo 50% puta, plus minus. Tako se postiže idealna razina motivacije:
    ChallengeMožete za sebe pronaći odgovarajuću razinu na Codeforcesu (npr. 2. zadatak na Div1) ili na HONI-ju (npr. 5. zadatak) i onda rješavati samo zadatke te težine. Jako je važno da neriješene zadatke upsolvate, tj. riješite nakon što pročitate opis algoritma (editorijal) ili pitate nekoga da vam objasni rješenje.
  3. Za treću točku postavlja se pitanje kako naučiti nove stvari. Tu su razna predavanja, knjige, web tutorijali, videi i tako dalje. Važan je i dobar mentor koji će vam, između ostaloga, ukazati na manjkavosti u vašim rješenjima i način na koji se nešto može bolje (vidi post code review).

Rečenica “pitajte nekoga da vam objasni rješenje” zaslužuje dodatni komentar. Nekima je lako pitati, ali sigurno ima onih koji misle da nemaju koga pitati, ili možda imaju, ali se boje da to možda nije pristojno, ne žele gnjaviti ljude, nisu s njima dovoljno dobri i slično. Možda i ne žele ispasti bedaci koji ne znaju riješiti zadatak ili im neka “sitnica” nije jasna. Odgovor je sljedeći. Malo zdrave “bahatosti” u smislu zapitkivanja i traženja pomoći je izvrsna životna kvaliteta. Dakle, bez ikakve zadrške, slobodno zapitkujte svoje poznanike ili čak nepoznanike, natjecatelje koji su malo stariji od vas, na messengeru, mailu ili gdje god. Ako vam je to bed, imajte na umu sljedeće. Osoba koju pitate najčešće neće misliti da je gnjavite, nego će vaše pitanje doživjeti kao kompliment svom znanju i iskustvu. Zamislite da vas netko traži takvu pomoć (kao što kad-tad i hoće), zar to nije lijep osjećaj? Nadalje, pitanjem ćete ostaviti dobar dojam zainteresirane i pristupačne osobe. To nije uvijek intuitivno onome tko se “usuđuje” pitati, ali je zbilja tako. Na primjer, reakcija nastavnika na studenta koji na predavanju postavi pitanje nije “šta ovaj sad hoće” ili “je li ovaj glup”, nego “napokon se netko ovdje ne boji komunicirati!” Ako onaj koga pitate ne želi ili ne može pomoći, najčešće će pristojno reći da nema vremena (ili će pristojno ignorirati) i sve štima. Medalje hrvatske informatike izviru upravo iz sustava u kojemu stariji natjecatelji pomažu mlađima. Neki su gnjavili mene, ja sam svojedobno gnjavio Žužića i Sluganovića, prije toga je Žužić gnjavio Kalinovčića, a danas novi klinci gnjave nove face. Ljudi koji ne žele nikoga gnjaviti gnjavež su sami sebi.

Komentiraj

Popunite niže tražene podatke ili kliknite na neku od ikona za prijavu:

WordPress.com Logo

Ovaj komentar pišete koristeći vaš WordPress.com račun. Odjava /  Izmijeni )

Google photo

Ovaj komentar pišete koristeći vaš Google račun. Odjava /  Izmijeni )

Twitter picture

Ovaj komentar pišete koristeći vaš Twitter račun. Odjava /  Izmijeni )

Facebook slika

Ovaj komentar pišete koristeći vaš Facebook račun. Odjava /  Izmijeni )

Spajanje na %s