Nie pamiętam programowania 5 minut po nauce? [Zamknięte]


13

Uczę się Java i znalazłem świetnego nauczyciela. Wszystko wyjaśnia doskonale. Rozumiem to wszystko . Mój problem polega na tym, że po zapoznaniu się z krótką sekcją, na przykład „Zagnieżdżone instrukcje” lub „Wiele metod i instancji”, mogę napisać wszystko świetnie, ale w 5 minut po przejściu do nowej sekcji (kiedy jestem wygodne z ostatnią sekcją) Zapomniałem kodu, aby wpisać ostatnią sekcję. Wszelkie wskazówki lub techniki, których używacie do zapamiętywania kodu ????


13
Nie tylko rezerwuj. Programowanie wymaga projektów i konkretnych problemów do rozwiązania, aby utknąć w twoim mózgu.
Merlyn Morgan-Graham

8
Ćwicz praktykę.

Muszę wracać do rzeczy, które cały czas pisałem. Zapada się w momencie, gdy nie wydaje się już tak druzgocący

3
Oznacza to, że twoja wiedza jest powierzchowna. Tak naprawdę tego się nie nauczyłeś.
BlackJack

2
Staraj się zrozumieć, a nie tylko zapamiętać odpowiedzi.
Jeff Grigg

Odpowiedzi:


23

Jeśli po prostu piszesz to, co pokazuje nauczyciel, wiedza trafi do jednego ucha, a do drugiego. Weź przykłady, które podaje, i zmień je trochę, pobaw się. Jeśli to tylko ćwiczenia, to nie będzie miało znaczenia. Dokonując nawet prostej zmiany, na przykład „Chcę wyświetlić liczby posortowane w odwrotnej kolejności” lub coś takiego, zmusza cię do zrozumienia przykładu zamiast po prostu jego skopiowania. Następnie weź to po zajęciach i spróbuj zrobić z nim więcej, rozszerz go, włącz w coś innego. Przekonasz się, że twoje zrozumienie idzie w górę, a gdy zrozumienie idzie w górę, nie musisz tyle pamiętać.


4
+1 „gdy zrozumienie rośnie, nie musisz tyle pamiętać”
Mike Dunlavey,

jest to dosłowne przeciwieństwo wyników metodologii Blooma uczenia się, co jest niepokojące, ponieważ jest to również typowe rozumienie uczenia się w kręgach programistycznych.
bharal

5

Najlepszym sposobem nauczenia się kodowania jest pisanie kodu. Mam powiedzenie „Im więcej kodu piszę, tym lepiej koduję”. Wymyśl małą próbkę, która Twoim zdaniem będzie dla Ciebie pomocna, i napisz ją. Wróć do strony http://www.stackoverflow.com, jeśli masz konkretne pytania, i przejdź do codereview.stackoverflow.com, jeśli chcesz, aby inni spojrzeli na Twój kod i wyrazili opinię.

Przeczytaj także. Dużo. Oto lista, od której zaczniesz: /programming/1711/what-is-the-single-most-influential-book-every-programmer-should-read


A tym bardziej wydaje się, że w Yodę przemieni cię
Binary Worrier

5

Nie stresuj się Mówisz o „efemerycznym” . Te rzeczy (składnia, dziwactwa językowe itp.) Staną się naturalne dzięki praktyce i ciągle się zmieniają.

Najważniejsze jest to, że uczysz się programować . Najważniejsze pojęcia będą trwać przez całą karierę i będą ćwiczyć umiejętności rozwiązywania problemów, a nie pamięć. IDE, Google, StackOverflow i praktyka mogą pomóc ci przejść przez resztę.


1
@BlackJack Jeśli przyjrzysz się uważnie któregokolwiek z moich pism, zauważysz absolutnie zerową spójność. To tak, jakby moje palce nie mogły się zdecydować. Chociaż od HTML nie wyświetla podwójne spacje Chyba nie trzeba uważnie patrzeć ... :)
Nicole

2

To jak ubrania w szafie.

Bez czegoś do powieszenia upadną na podłogę.

To, czego potrzebujesz, aby zawiesić koncepcje programowania, to jeden lub więcej problemów, które próbujesz rozwiązać.

Sam wpisywanie rzeczy bez problemu, który próbujesz rozwiązać, jest jak wrzucanie ubrań do szafy i oczekiwanie, że same się powiesą.


1

Musisz po prostu zacząć tworzyć rzeczy, a po kilku czynnościach dowiesz się, jak to zrobić w przyszłych projektach. Ważne jest, abyś robił to wiele razy :)!



0

W zależności od stylu uczenia się, ważne może być zrozumienie motywacji związanej z używaniem określonych konstrukcji w programach. Wiele książek o programowaniu jest napisanych tak, aby budować te koncepcje na siebie rozdział po rozdziale. Spróbuj przejrzeć o jeden rozdział do przodu podczas wykonywania ćwiczeń dla poprzedniego.

W ten sposób możesz powiedzieć: „OK, ifw tym przypadku sensowne jest użycie instrukcji, ale wiem, że w innym scenariuszu bardziej efektywne jest użycie switchinstrukcji”. W ten sposób pojęcia są powiązane w twoim umyśle i zawsze możesz na chwilę sprawdzić, czy pojawiły się jakieś szczegóły dotyczące składni (a te z pewnością wkrótce staną się drugą naturą).

Pomysł Kylbena na rozbudowę siebie poprzez nieznaczną modyfikację każdego zadania jest również świetnym sposobem na dotrzymywanie kroku innym. Możesz również wymyślić projekty „capstone” dla każdej pary rozdziałów i rzucić sobie wyzwanie, aby zbudować coś ze wszystkiego, co do tej pory wiesz.


0

Nie mogłem się bardziej zgodzić z tym, co mówili tu inni ludzie, programowania uczy się poprzez działanie. Im więcej kodujesz, tym więcej się uczysz. Powiedziawszy, że wiele innych rzeczy jest ważnych, aby nauczyć się poprawnie kodować, na przykład nigdy nie zapomnij czytać, patrząc na to, jak uczą się inni ludzie, czytaj o nowych narzędziach i technologiach i codziennie przeglądaj w Q&A, takich jak programmers.com.

Jeśli chodzi o zapamiętywanie tego, czego się nauczyłeś, kiedy skończysz pisać trochę kodu, wyjaśnij sobie po cichu, co właściwie zrobiłeś lub wytłumacz innym programistom. Dzięki temu stwierdzam, że pamiętam o wiele jaśniej i daje mi to możliwość refleksji nad tym, co zrobiłem. Spróbuj także rzucić sobie wyzwanie, wymyślając alternatywne sposoby napisania właśnie napisanego kodu, lepiej lub gorzej. Zastanów się nad rozwiązanym problemem i zastanów się, jak trzeba zmienić kod, jeśli problem, który miał rozwiązać, zmieni się nieznacznie.


0

Nie używaj inteligencji ani autouzupełniania podczas nauki (jeśli używasz ...). Spróbuj wpisać każdą składnię na własną rękę i popraw ją samodzielnie na podstawie wyników kompilatora. Nie rób tego również, gdy jesteś ze swoim nauczycielem. Ćwicz, gdy jesteś w domu ...


0

Sposób na naukę polega na ćwiczeniu; pisać kod; denerwować się i frustrować, zapominając błędnie wpisując jedną zmienną: D

Podnieś problem i spróbuj go rozwiązać; wkrótce będziesz pisać kod, nie martwiąc się o składnię.


0

Może pisanie oprogramowania nie jest dla ciebie.

Kiedy miałem 13 lat, pisałem w AppleBasic i Pascal. Programowanie miało dla mnie idealny sens.

W przypadku inżynierów elektryków jest odwrotnie. W jedno ucho i na drugie. Nigdy nie nauczyłem się wiele na zajęciach EE i szybko zdałem sobie sprawę, że nigdy nie byłem w tym dobry.

Dlatego jestem teraz inżynierem oprogramowania zamiast inżynierem elektrykiem.


0

Chodzi o praktykę. Najlepszym sposobem na naukę programowania jest budowanie projektu obok siebie i ulepszanie go za każdym razem, gdy uczysz się czegoś nowego.


0

Moja rada jest taka, że ​​znajdujesz mały, ale konkretny projekt. Jeśli chcesz ćwiczyć stwierdzenia, dobrym pomysłem może być wykonanie quizu klasyfikacyjnego: program prosi użytkownika o wybranie zwierzęcia z danej listy, a następnie zadaje pytania typu „Czy to ssak?”, „Czy to ptak? ”i próbuje zgadnąć, co wybrał użytkownik. Jednym ze sposobów realizacji tego jest użycie wielu zagnieżdżonych instrukcji if.

Następnie musisz przejść przez projekt od określenia zachowania programu, po kodowanie, testowanie i debugowanie. Za każdym razem, gdy nie pamiętasz składni lub semantyki, wracasz do książki, czytasz notatki, próbujesz zrozumieć błędy kompilatora. Kiedy skończysz i Twój program działa zgodnie z oczekiwaniami, jestem całkiem pewien, że nauczyłeś się instrukcji if (i kilku innych rzeczy).

To przynajmniej jedyna metoda, która naprawdę działa, gdy chcę nauczyć się nowego języka programowania. Na przykład od dwóch lat staram się uczyć Haskella, ale samo czytanie książki i pisanie małych fragmentów kodu to za mało: ciągle zapominam. Potem miałem możliwość napisania małego narzędzia (w Haskell) w mojej firmie i naprawdę wiele się nauczyłem.


0

Spróbuj wyjaśnić, czego się właśnie nauczyłeś, nie ma znaczenia dla kogo (może to być słynna gumowa kaczka), bądź poważny i cierpliwy i nie pomijaj rzeczy „oczywistych”, ale zwróć uwagę na szczegóły . Dowiesz się, że nadal masz luki i że musisz wrócić do rzeczy, które Twoim zdaniem zrozumiałeś.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.