Nauka programowania - trudność


(daradara) #1

Witam.

Pozwolę sobie na mały wstęp. Jestem na 1 roku na politechnice. Uczyli nas niby programowania od 0 w C++. Ja wcześniej nie miałem w żadnym stopniu styczności z tym i jest to dla mnie bardzo ciężkie mimo, że jestem ścisłowcem. Gdzieś czytałem, że znajomość angielskiego jest w tym przydatna. Mi raczej się w niczym nie przydała.

W grupie na studiach 2/3 osób wcześniej programowała i dobrze sobie z tym radzą, pozostała część nie miala z tym styczności i tylko 1 osobie udało się zaliczyć laboratoria. Trochę się martwię tym, że tego nie rozumiem, więc chciałbym poszukać pocieszenia/informacji. Proszę o wyrozumiałość.

  1. Czy najlepszą metodą uczenia się programowania jest tylko i wyłącznie praktyka? Czytałem trochę 2 książki na ten temat, ale jakoś niewiele z tego wyniosłem. Kupiłem też tutorial, który mi pomógł trochę, ale nie załatwił problemu.

  2. Czy zawsze początki tego bywają takie ciężkie? Wydawało mi się, że jestem kumatym człowiekiem w tych kwestiach, ale jak rozumiałem większość na wykładzie, to jak dostawałem zadanie na kolokwium, to musiałem dłużej pomyśleć jak je wykonać i na następne nie miałem już czasu.


(adao1003) #2

Obejrzyj se to: http://www.youtube.com/user/MinDControl ... ABF088F7E8 taki fajny kurs porgramowanie. Jestem w 2 gim i się z tego nauczyłem programować (przyjamiwj podstawy czyli to co tam jest)


(Fanboj O) #3

Czasem w życiu trzeba sobie odpowiedzieć na kilka zasadniczych pytań:

1-Czy kierunek na którym studiujesz to programowanie/informatyka lub coś podobnego?

2-Programowałeś coś kiedykolwiek, choćby w TurboPascalu albo innym języku?

3-Czy na prawdę uważasz, że sam fakt studiowania na Politechnice, nauczy cię rzeczy, do których nie masz powołania?


(Frankfurterium) #4

Początki to nie tylko składnia i specyfika języka, ale i nauka nowego sposobu myślenia - jak za pomocą dostępnych narzędzi i wiedzy osiągnąć określony cel/rozwiązanie problemu.

Z własnego doświadczenia - wiedza potrzebna do zaliczenia przedmiotu nie zawsze jest tożsama z umiejętnością programowania. Mój wykładowca C++ sprawił, że wyrwany z łóżka w środku nocy mogłem działać na wskaźnikach i wskazywać w gotowym kodzie, w których liniach zmieniają się które wartości. Tyle że kiedy miałem napisać coś własnego i bardziej rozbudowanego... było ciężko.

IMO najpierw powtarzaj przykłady z książek. Po nabraniu jako-takiej sprawy czytaj tylko, co ma robić program, pisz to na własny sposób i na końcu porównuj sposób twój i książkowy.


(adam9870) #5

Czytanie przed komputerem, kiedy czytasz sobie i praktykujesz. Przynajmniej dla mnie (właśnie, może dla Ciebie inna metoda jest dobra?), fakt - chyba nie C++.


(nnick) #6

Po prostu trzeba samemu eksperymentować, wyznaczać sobie coraz ambitniejsze projekty do zrealizowania. Na Twoim poziomie znajomości C++ polecam Symfonię C++ Grębosza - dobrze napisana książka, które nie tylko uczy suchej praktyki, ale też pokazuje co z tym można zrobić.

A jak już ogarniesz jeden język programowania tak że będziesz w stanie robić rozbudowane projekty (wykorzystanie zewnętrznych bibliotek, GUI itp) to już będziesz na etapie w którym ogarnięcie innego języka zajmie Ci kilkanaście, kilkadziesiąt dni.

A znajomość angielskiego - na poziomie podstawowym faktycznie zbędna, ale spróbuj napisać coś bardziej skomplikowanego bez czytania chociażby dokumentacji MSDN, która oczywiście jest po angielsku


(ra-v) #7

Wg mnie tak, ale żeby zaliczać przedmioty trzeba umieć teorię.

Nigdy nie jest łatwo, ani na początku ani potem. Zawsze znajdzie się coś nowego. Co do zdawania też tak czasem mam - tzw bad day;-)


(system) #8

Wiesz tutaj musisz ćwiczyć, ćwiczyć i jeszcze raz ćwiczyć zazwyczaj na początku jest ciężko, jednak później naprawdę można się wyrobić. Jest taka strona, jak http://www.spoj.pl/

Możesz pobrać zadania w *.pdf'ie i pisać programy.

Pozdrawiam


(Johny) #9

Praktyka,możesz nawet analizować proste programy,najważniejsze jest zrozumienie składni samego języka w którym piszesz programy,książka ma tylko cię naprowadzić i nie denerwuj się jak coś nie wychodzi,np. zaczynasz od prostego hello world i dopisujesz do niego pobranie np twojego imienia z klawiatury i wyświetlenie go,potem bawisz się zmiennymi ,petlą for,while,czy piszecie programy,które mają coś wyświetlać,narysować na ekranie ?

Warunki w stylu jeśli wpiszesz 18 z klawiatury to system ma wyświetlić że masz 18 lat (if,switch,case w C,C++)


(pain3hp) #10

Uważam, że Twoim problemem jest przeniesienie się w pewien poziom abstrakcji jakim jest programowanie. Polecam program "Laboratorium Informatyki Eli", który pozwala konstruować schematy blokowe. Jestem pewny, że jeżeli przerobisz w nim podstawowe matematyczne algorytmy, polski klasyk programowania: sortowanie bąbelkowe, przez wybór, przez wstawianie, NWD, liczba MAX, liczba MIN, silnia, ciąg fibonacciego. To da Ci duży postęp w zrozumieniu co tak na prawdę dzieje się w kodzie. I jest to uniwersalna droga rozwoju gdyż w większości o ile nie we wszystkich językach algorytmy blokowe zamienisz na kod. Powodzenia, mi to pomogło ale wybór należy do Ciebie.