Nauka programowania - trudność

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.

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)

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?

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.

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++.

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

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;-)

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

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++)

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.