Nauka programowania-problemy z oswojeniem tematu

0

Witam
Jestem w technikum klasy programistycznej i mam pytania co do nauki programowania np. Php(aktualnie to bierzemy). Jak mogę nauczyć się programowania, robienia zadań? Wiem że pytanie jest oklepane, lecz jednak obecnie znajduje się trochę pod ścianą i chciałbym się z kimś tym podzielić, tym bardziej, że chciałbym usłyszeć co na ten temat sądzą osoby związane z programowaniem. Czy polecacie jakiejś książki/poradniki/kursy/strony ? Jak mam do zrobienia zadanie, nawet dość łatwe to nie potrafię zrozumieć jak zacząć, łączyć informacje więc szukam gotowców w internecie z myślą że znajdę odpowiedź co jest głupie. Siedzę godzinami żeby szukać ale i tak tego nie znajduje. Nauczyciel na lekcjach pokazuje i omawia funkcje, data i czas itd ale w zadaniach które zadaje są nie potrzebne, omawiany temat różni się od tematu zadania. Wiem że powinien siedzieć i robić zadania na stronach żeby pogłębiać wiedzę ale w moim przypadku wracam ze szkoły w późnych godzinach i odrabiam na kolejny dzień lekcje a co za tym idzie że nagle jest piątek a zadanie muszę oddać do niedzieli i się stresuje ze nie zrobię.

3
  1. Ścieżka programowania to szukanie i grzebanie własnoręcznie. A już w warunkach (jakby) studiów, we mnie jest zgoda, że zadanie nie pokrywa sie 100% z ostatnio podawanymi grupami funkcji *)
  2. Pewnie znalezienie sobie tematu ciekawego, wg włąsnym inspiracji. Nie porywania sie z motyką na słońce, ale jednak podnoszącego ciśnienie ?

*) nauczycielem infy nie byłem, nie jestem i pewnie nie będę, zamknęli by mnie za morderstwo (@_13th_Dragon świadkiem), ale u mnie też byś dostał rozbieżne zadanie w stosunku do ostatniej lekcji
.

5

Nie szukaj rozwiązań konkretnych zadań tylko próbuj coś samemu zrobić, przeglądaj dostępne funkcje (jak się kiedyś uczyłem php to sobie tak po prostu przeglądałem dokumentację w wolnych chwilach czy dokumentację sąsiednich alfabetycznie funkcji do tej której szukałem).
W google raczej szukaj rozwiązań na proste problemy na najniższym poziomie a nie jak napisać cały program, bo inaczej nauczysz się tylko rozwiązania konkretnego problemu i tak jak piszesz - nie poradzisz sobie z innymi bo nigdy nie wyuczysz się myślenia nad dojściem samemu do rozwiązania problemu. Jak chcesz się naprawdę czegoś nauczyć to musisz trochę wychodzić poza program. Jak już będziesz znał podstawy to możliwe rozwiązania same nasuną się do głowy - być może nie będą to na początku optymalne rozwiązania ale zawsze własne. Im więcej poznasz rozwiązań tym więcej analogicznych problemów będziesz umiał rozwiązać. Warunkiem jest że będziesz te rozwiązania rozumiał a nie tylko pamiętał.
Pytanie z innej beczki - jak dobrze władałbyś językiem, czy to angielskim czy nawet polskim gdybyś używał tylko słów poznanych w szkole?

1

Zarejestruj się na SPOJ i zacznij od zadań łatwych.
np zadanie NWD:

<?php
	$fw=fopen('php://stdout','w');
	$fh=fopen('php://stdin','r');
	list($test)=fscanf($fh,"%d");
	while($test--)
	{
	    list($a,$b)=fscanf($fh,"%d%d");
	    while($b) list($a,$b)=[$b,$a%$b];
	    fprintf($fw,"%d\n",$a);
	}
	fclose($fh);
	fclose($fw);
?>

Masz tu wszystko co potrzebujesz na start.
Masz automatycznego sędziego który stwierdza czy wykonano poprawnie czy też nie.
Masz porównanie z innymi szybkości wykonania.
Czego jeszcze chcieć?

1

No oczywiście, że nauczyciel nie zada ci tego samego zadania, które pokazywał na lekcji. To by nie miało sensu, bo chodzi o to, żeby myśleć samodzielnie. Być może powinieneś zastanowić się jaka jest część wspólna tych zadań? Prawdopodobnie jest całkiem spora. Prawdopodobnie większość składników potrzebnych do rozwiązania problemu masz.
Z mojego doświadczenia, nie wiem czy istnieje inny sposób niż kopiowanie podobnych rozwiązań (np. ze stack overflow, choć w czasach gdy ja się uczyłem, nie było tak łatwo) i próba zmieniania ich tak, żeby zadziałało; a następnie próba zrozumienia co się podziało. :D

1
elwis napisał(a):

Z mojego doświadczenia, nie wiem czy istnieje inny sposób niż kopiowanie podobnych rozwiązań (np. ze stack overflow, choć w czasach gdy ja się uczyłem, nie było tak łatwo) i próba zmieniania ich tak, żeby zadziałało; a następnie próba zrozumienia co się podziało. :D

Do kopiowania z netu trzeba wiecej umieć, niż do pisania własnoręcznie.

Popieram myśl szukania punktowych wskazówek (i czytania ich ktytycznie. Dlaczego kod się pojaiwa na SO? Dlatego że jest z nim jakis problem, różnej narury, od kodowania, po postawienie założeń zawierajych XY problem i otwierających z biodra niewłaściwe drzwi) - ale nie gotowców

0

To samo zauważyłem u mnie w szkole 20 lat temu na matematyce. Obecnie zaczynam prace na intensywnym programem nauczania programowania gdzie materiał będzie coraz bardziej rozbudowywany nieustannie wdrażając kolejne ćwiczenia praktyczne. Jak się ogarnie całość i jak to jest połączone i jasno widzi do czego są potrzebne poszczególne części składowe to myślę że super fajnie to można zaprojektować. Temat rzeka.

2

@infinityhost:

Obawiam się, a nawet jestem pewien, że nauczanie z twoich rąk tak się bedzie miało do szkoły, jak "szkoła wyznaniowa" do "szkoły"

(przeróbka starego o demokracji i demokracji socjalistycznej, coś tam o krześle było)

4
  1. Jak masz problemy z zrozumieniem, proponuje abyś dał znać nauczycielowi niech powtórzy czy coś.
  2. Spytaj się nauczyciela jakie dodatkowe materiały CI poleci? (może ma coś gotowego co przerabiacie)
  3. Ja jestem starej daty lubię książki, to też pierwszą rzeczą jaką robie to kupuje książkę/ebook do np: danego języka PHP i czytam. We wszystkich książkach dla początkujących jest od podstaw pokazane co musisz zrobić żeby uruchomić program etc. Jak na dłoni.

Z drugiej strony zastanawia mnie po co ten kierunek? Ja jak szedłem na studia sam uczyłem się o wiele wcześniej w domu (wiedziałem co mnie kręci i się dobrze w tym czuje) A poszedłeś do technikum z kierunkiem programowanie bo ?

0
ZrobieDobrze napisał(a):

Popieram myśl szukania punktowych wskazówek (i czytania ich ktytycznie. Dlaczego kod się pojaiwa na SO? Dlatego że jest z nim jakis problem, różnej narury, od kodowania, po postawienie założeń zawierajych XY problem i otwierających z biodra niewłaściwe drzwi) - ale nie gotowców

Cóż, generalnie podpisałbym się pod tym co piszesz. To brzmi logicznie. Tylko, że nie takie jest moje doświadczenie. Pod koniec lat 90ch, kiedy zaczynałem, nie mogłem sobie pozwolić na taki luksus, bo wszystko co miałem to jakieś kawałki kodu z czasopisma. Żadnej teorii, niczego. Teraz (prawie 20 lat później), w pracy jestem załamany, bo koledzy w pracy są zafiksowani na jakichś rozważaniach teoretycznych, nie mają pojęcia do czego zmierzają, a ja myślę głównie o rozwiązywaniu problemów.
Oczywiście to może być kwestia temperamentu, sposobu myślenia, itd. Raczej nie lat spędzonych w zawodzie. Natomiast może mieć to wiele wspólnego z tym, że kiedy zaczynałem, robiłem to z czystej ciekawości, nie miałem z tyłu głowy przekonania, że będę robił to zawodowo.Trzeba by zapytać bardziej doświadczonych forumowiczów.
W sumie, @Koks Koks , jaki masz zmysł dominujący (wzrokowiec, słuchowiec, kinestetyk)?. Myślę, że to może być bardzo istotne. Ja jestem kinestetykiem i to barzo mi utrudniało uczenie się w szkole.

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