11-latek chce się uczyć programować

0

Cześć. Mój 11-letni siostrzeniec zapytał mnie dzisiaj w jakim języku ma się uczyć programować bo w Internecie piszą różne rzeczy. Chłopak jest zdolny, wygrał 2 razy "Kangura", no matematyka super jak na ten wiek. Widzę, że ma zapał do komputerów itd. Od jakiego języka Waszym zdaniem powinien zacząć taki 11-letni dzieciak, żeby:

  1. nie przestraszył się programowania
  2. żeby nie stwierdził, że to nudne zajęcie
    Jakieś propozycje?
7

Jeśli chce startować w jakimś "normalnym" języku (a nie w jakiejś zabawce) to Python.

0

Ja tam zaczynałem swoją przygodę z Logo.
Z bardziej aktualnych rzeczy jest też Scratch chociaż zawsze pozostaje też Python ;)

2

Python + Rasberry Pi

Za:

  • proste programowanie
  • robotyka
  • sterowniki
0

A HTML+CSS zna już?

3

Język to kwestia drugorzędna, ważne, żeby pisać gry ew. inne aplikacje, które są jednocześnie ciekawe jak i ambitne - ale dla przeciętnego 11 latka pewnie łatwiej będzie się zainteresować tworzeniem gier niż tworzeniem aplikacji obsługującą konta bankowe. Z grami każdy może się utożsamić jakoś. Natomiast większość "przykładów' programowania rodem z książek to albo abstrakcyjne rzeczy nie mające większego sensu (np. "klasa Pies, która ma metodę dajGłos"), albo rzeczy rodem z enterprise typu "wyobraź sobie, że Jaś ma konto bankowe i chce przelać pieniądze". Takie rzeczy to może być kompletna abstrakcja dla 11 latka.

Ponadto gry to prawdziwa szkoła programowania. Inne działki programowania czerpią z gamedevu garściami.

0

Powiedz mu, żeby nie pierydolił tylko bawił się póki może, a może zacząć w pierwszej liceum na jedno wyjdzie :)

0

Chodziło mi z tym HTML zasadniczo o dwie rzeczy:

  1. HTML jest chyba prostszy do nauki niż programowanie, a i tak trzeba się czasami zastanowić jak coś poustawiać, żeby wyglądało tak jak ma wyglądać, poza tym zawsze wyświetla jakieś wyjście, więc nie zniechęci się, że pisze, pisze i nic nie wychodzi. I zasadniczo sądzę, że HTMLa powinno się uczyć przed programowaniem (chyba, że mówimy o programowaniu w logo).
  2. Naturalnym rozwinięciem HTML byłoby PHP lub JS, wtedy do znanego sobie już świata znaczników dochodzi jeszcze programowanie i liczba możliwości wzrasta geometrycznie, bez potrzeby nauki warstwy prezentacyjnej. Będzie prosto, ładnie i kolorowo, czyli dokładnie to czego szukasz...

Jeżeli zaś efektem programowania ma być powstanie programu, to chyba faktycznie python (czyli jedyny język, w którym można popełnić błąd na etapie kopiuj-wklej).

Ale programowanie, to przede wszystkim myślenie i rozwiązywanie problemów, więc nie możesz się przy wyborze języka kierować tylko tym co ludzie w TVN (emocje, emocje, jak tu jeszcze trochę podnieść emocje?). Jeżeli jego przeznaczeniem jest programować, to będzie dla niego wystarczająco interesujące realizowanie zagadnień i rozwiązywanie problemów, które sam przed sobą postawi.

0

Patrząc na to z perspektywy własnego dzieciństwa chciałbym na dzień dobry zacząć zabawę z: microsoft robotics developer studio dlaczego? Już wyjaśniam:

  1. Zasadniczo można sobie ściągnąć dowolny model robota (nawet głupi odkurzacz typu iRobot).
  2. Przy podstawowym "programowaniu" ruchu robota nawet nie trzeba znać składni języka, a wystarczy jedynie podstawowa znajomość angielskiego i logiczne myślenie.
  3. Efekt pracy można zobaczyć w 3D
  4. Jeśli w domu jest jakiś robot/sprzęt odpowiadający bibliotece z MRDS to po testach można wgrać nowy soft do np takiego odkurzacza i pokazać dzieciakowi fizyczne aspekty jego pracy.
  5. Przy bardziej zaawansowanych "mechanizmach" samemu będzie musiał zacząć uczyć się C# żeby chociaż if'a napisać.

Na studiach mieliśmy zajęcia z MRDS i "bakcyla" złapały nawet osoby, które nigdy "Hello world" nie napisały.

Aczkolwiek to tylko moja subiektywna ocena

2

Nie wiem, jakim człowiekiem jest ten Twój siostrzeniec, więc ciężko jest dobrać coś odpowiedniego dla jego "profilu", ale takie bardziej uniwersalne rzeczy jakie mi przychodzą do głowy, to:

  1. Python;
  2. Unity;
  3. Arduino;
  4. "WebMasterka".
0

Nie znam tych książek, ale może warto się zainteresować?

http://helion.pl/ksiazki/zabawa-w-programowanie-jezyk-c-dla-nastolatkow-michal-wiszniewski,zaprcn.htm
http://ksiegarnia.pwn.pl/produkt/295033/python-dla-dzieci.html
http://ksiegarnia.pwn.pl/produkt/299107/arduino-dla-dzieci.html

Chociaż dla chłopaka, który wygrał kangura, pewnie można i kupić "dorosłe" książki. Tylko żeby się nie zniechęcił, jak coś będzie za trudne.

0

Kup mu Lipskiego i "Kombinatorykę dla Programistów" po tygodniu uzna że jednak zostanie piekarzem :P

0

Generalnie, trzeba pojąć ogólną zasadę działania aplikacji. Ja miałem styczność z programowaniem w wieku chyba 12 lat i zaczynałem od Turbo Pascal 7.0, później przeszedłem na QuickBasic tylko dlatego, że po zmianie komputera na lepszy, programy pisane w Turbo Pascalu nie działały (błąd dzielenia przez zero, nie byłem wtedy świadomy, że wystarczyło wgrać odpowiedni patch, aby rozwiązać ten problem), wtedy był Windows 98.

Obydwa kompilatory działają pod DosBox, ale oczywiście można zastąpić je kompilatorami FreePascal i FreeBasic, obydwa darmowe, obecnie rozwijane i mają przystępną dokumentację z listą wszystkich instrukcji włącznie (pierwowzory też ją miały). Oba kompilatory pozwalają tworzyć aplikacje konsolowe i graficzne w tym sensie, że konsola tekstowa zamienia się w planszę pełnoekranową, ale jest zachowana zasada działania aplikacji konsolowej. Pomimo ograniczeń języków Pascal i Basic i ograniczeń wynikających z zasady działania aplikacji konsolowych można zrealizować dużo pomysłów. Jednak trzeba się wystrzegać etykiet i przeskoków do miejsc oznaczonych etykietami, ponieważ współcześnie tego się od dawna nie praktykuje. Późniejsze przejście do C/C++, C# nie będzie większym problemem, bo ogólna zasada działania jest ta sama. Fakt, że szczytem możliwości graficznych jest 640x480 w 16 kolorach lub 320x200 w 256 kolorach na początku aż tak bardzo nie przeszkadza.

Aplikacje okienkowe działają na zupełnie innej zasadzie niż konsolowe i ich tworzenie wydaje się być ciężkie na początek. Ale jak się pojmie ogólną zasadę tworzenia i zrozumie zasadę tworzenia aplikacji okienkowej (działa tak, jakby w nieskończonej pętli oczekującej na zdarzenia i oprogramowuje się wyłącznie procedury obsługi tych zdarzeń).

0

Ja zaczynałem od języków skryptowych w grach komputerowych : Warcraft 3 oraz Unreal Engine 3. lat miałem 13.

0

TurboPascal lub Assembler.

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