10-latek chce się uczyć programowania - proszę o porady

10-latek chce się uczyć programowania - proszę o porady
H7
  • Rejestracja:około 4 lata
  • Ostatnio:około 4 lata
  • Postów:1
0

Cześć!

Postanowiłem zarejestrować się na forum bo nie mam doświadczenia w edukowaniu dzieci. Mój 10-letni siostrzeniec chce się uczyć programować bo "chce robić gry" :)

Może zacznę od mojego doświadczenia:

  • w latach 80. nauczyłem się języka Basic na komputer BBC Acorn Master 128 (+ trochę liznąłem assemblera)
  • potem był Amos (taki rozbudowany Basic) na Amigę 500 (+ trochę assemblera) (zrobiłem 3 komercyjne gry)
  • w szkole informatycznej uczyłem się Turbo Pascala i C++
  • od mniej więcej 2000 roku na dobre utknąłem w PHP+Mysql+Javascript (masa projektów, w tym 2 gry browserowe)
    To tyle o mnie, więcej doświadczenia nie mam.

Nie wiem od czego zacząć uczyć to dziecko bo:

  • objaśniam mu html i, choć wykazuje wielki entuzjazm, to do końca nie ogarnia, że jak otwarł jakiegoś taga to musi go zamknąć.
  • uczę go podstaw PHP (zmienne liczbowe i tekstowe, pętla for, działania na zmiennych)
    Chłopak jest za mały, nie chwyta tego, mówi mi, że rozumie, ale tak naprawdę to potrafi tylko zmodyfikować przykład, który mu napisałem.
    Nie zna podstaw komputera, czym jest serwer, ftp, typy i rodzaje plików w Windows, składnia języka programowania itp.

Mam kilka pomysłów, ale nie wiem co robić dalej:

  • mogę zainstalować mu emulator BBC i uczyć go prostego Basica (ja tak zaczynałem), to jest spoko system dla początkujących bo Basic jest rozbudowany, ma łatwy dostęp do trybu graficznego, nie to co Basic na C64, ale... Basic na ośmiobitowce do niczego mu się w przyszłości nie przyda...
  • kontynuować to html+php? To mu się akurat przyda do tworzenia stron, ale czy to nie jest zbyt skomplikowane dla dziecka?
  • zainteresować się w czym robi się apki na Androida i pójść w tym kierunku? Sam bym na tym skorzystał, bo umiejętność tworzenia aplikacji mobilnych by mi się przydała
  • uczyć go silników do tworzenia gier - Unity itp????
  • olać powyższe i robić z nim gierki pseudoflashowe w Scratch?

Doradźcie programiści proszę!
Może ktoś ma doświadczenie z dziećmi.

Pozdrawiam i Wesołych Świąt
Adam (wujek 10-letniego Janka)

Manna5
uczyć go silników do tworzenia gier - Unity itp???? Unity ma za skomplikowany interfejs.
RequiredNickname
Powiedz mu, że za późno podjął decyzję, teraz już nic z niego nie będzie :)
cpp_beginer
Nie lepiej dać chłopaki żyć i się rozwijak tak jak na 10 latka przystało?
WhiteLightning
  • Rejestracja:prawie 14 lat
  • Ostatnio:5 dni
  • Postów:3168
4

Od czegos podstawowego gdzie szybko widac efekt: Scratch, cos jak grafika zolwia w Logo, jakas gra z pseudoprogramowaniem (np. Colobot kiedys) itp.

SC
SC
  • Rejestracja:około 4 lata
  • Ostatnio:około 4 lata
  • Postów:1
5

Zdecydowanie Scratch 3.0 (https://scratch.mit.edu/). Jest do tego swietna ksiazka: https://nostarch.com/superscratch3 oraz zestaw kart do nauki: https://nostarch.com/scratchcards3. Jest tez polskie tlumaczenie: https://helion.pl/ksiazki/scratch-komiksowa-przygoda-z-programowaniem-wydanie-ii-the-lead-project,scrak2.htm#format/d

Zaleta Scratcha jest to, ze efekty masz od razu, a napisanie prostej gry w Scratchu, to raptem kilka minut "klepania" i masz efekty:

cerrato
Moderator Kariera
  • Rejestracja:około 7 lat
  • Ostatnio:około 19 godzin
  • Lokalizacja:Poznań
  • Postów:8759
8

Na pewno nie próbuj dzieciakowi, który jeszcze za wiele nie ogarnia wciskać pisania na androida, bo to jest coś dość skomplikowanego i bardzo kiepsko to widzę. Efektów bym się nie spodziewał, za to młody szybko się może zniechęcić.


edytowany 1x, ostatnio: cerrato
99xmarcin
  • Rejestracja:prawie 5 lat
  • Ostatnio:4 miesiące
  • Postów:2420
4

A może po prostu 10 lat to jeszcze za wcześnie? Poczekaj z 3 lata i wróć z tematem. A do tego czasu lego technic i przyjaciele...


Holy sh*t, with every month serenityos.org gets better & better...
katakrowa
Bez jaj 13 latki potrafią już pisać poważne programy...
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
1

@homix73:

BBC Acorn Master 128

Też taki miałem! Aż się kręci łezka w oku. A kilka miesięcy temu pojawił się nawet na CTFie! https://ctftime.org/writeup/20857 (w 132 znakach wyświetlić na ekranie QRCode).

Wracając do temu: jw, Colobot, Scratch, może Lego Mindstorms?


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
WeiXiao
jak już w kontekście ctfów, to brawo, udało się wam chyba 1 raz wyprzedzić DS ;)
Shalom
Już od dawna nie wam :P Niestety mój aktualny team jest 5p pod DS :(
SC
Lego Mindstorms to slepa uliczka :( Zbyt duzy koszt wejscia. Trzeba sie niezle narobic, zeby zrobic prosta rzecz.
PerlMonk
  • Rejestracja:około 6 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Warszawa 🐪
  • Postów:1719
10

@Manna5: ty chyba jesteś w podobnym wieku, co wspomniana w wątku osoba. Podpowiesz coś o swoich pierwszych krokach w programowaniu? My, jako starsi, mamy trochę inną perspektywę.


Nie sztuka uciec gdy w dupie sztuciec. 🐪🐪🐪
Akihito
@WeiXiao: no @Manna5 wspomnial ze jest mlodziutki jesli nie jest to bait :p
Korges
  • Rejestracja:prawie 5 lat
  • Ostatnio:około godziny
  • Postów:552
5

Wydaje mi się że nauka programowania to ostatnia rzecz jaką powinien robić 10 latek. Chcesz żeby wyrósł na niewychodzącego z piwnicy nerda? Lepiej niech się języków obcych uczy, najlepiej dwóch. Przyda mu to się zawsze, a na programowanie jeszcze przyjdzie czas.

Miang
dokładnie. należy mu zabronić nauki programowania, potraktuje to jak owoc zakazany....
Silv
Mam odmienne zdanie co do programowania, ale popieram naukę języków obcych (oczywiście nie za dużo naraz).
S9
No tak, lepiej niech gra w Fife albo ogląda jakieś pierdoły na YT. Ale przecież jak pokodzi zamiast postrzelać w CSie to będzie nerdem.
PerlMonk
Nauczy się programować to będzie siedział na forum w święta jak @Korges zamiast spędzać je z rodziną. ;)
Manna5
  • Rejestracja:prawie 6 lat
  • Ostatnio:około 5 godzin
  • Lokalizacja:Kraków
  • Postów:637
4

@PerlMonk, Najpierw Baltie, ale ze względu na małe możliwości szybko przeszedłem na Pascala, który też nie okazał się dobrym wyborem, bo nie umiałem wtedy (miałem 8 lat) ogarnąć pascalowych bloków kodu, i musiałem wszystko robić nawet bez ifów - choć przy Pascalu zostałem dużo dłużej niż przy Baltiem. Przełom nastąpił, gdy w wieku 9 lat odkryłem Batcha. Jego składnia była bardzo prosta, do tego pozwalał na łatwe wykonywanie operacji na plikach (czego nie było w Baltiem i czego nie potrafiłem zrobić w Pascalu), nic nie trzeba było doinstalowywać, programy w nim napisane działały na każdym komputerze (nie zetknąłem się jeszcze wtedy z Linuxem) - mogłem chwalić się swoimi dziełami w szkole, gdy pani się odwróciła. Ogólnie polecam Batcha (najlepiej zacząć od komend echo, set, goto, może choice, jak choice to też if errorlevel a nawet if "x"=="y", obowiązkowo procentowe odwołania do zmiennych, cls, color i operacje na plikach - for i przekierowania odłożyć na później). Jeśli zapragnie interfejsu graficznego, najprostszą opcją będzie HTML w parze z prostym JSem. Wracając do historii, potem odkryłem C (zafascynowała mnie możliwość generowania plików EXE, które były wtedy dla mnie synonimem profesjonalnego programowania) i tak już zostało.


edytowany 1x, ostatnio: Manna5
PerlMonk
Podziwiam Twój zapał :) . Jak już jest tyle chęci do nauki to wystarczy, żeby szkoła i rodzice nie przeszkadzali za bardzo a coś z tego wyjdzie.
kzkzg
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 5 godzin
  • Postów:924
1

@Manna5: co ten dzieciak nabroił że chcesz go javascriptem karać? :/


Keep calm and blame frontend.
Tell your cat I said pspsps.
Manna5
Trzeba jakoś odebrać te dane z interfejsu HTML, a jeśli chodzi o PHP - instalacja serwera może być za trudna no i nie będzie można łatwo przenieść na komputery kolegów. No i gry na backendzie nie zrobi.
PerlMonk
  • Rejestracja:około 6 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Warszawa 🐪
  • Postów:1719
3
kzkzg napisał(a):

@Manna5: co ten dzieciak nabroił że chcesz go javascriptem karać? :/

To, że toś umie JS nie znaczy, że zaraz będzie pisał w nim padający śnieg ;) .
Zamiast PHP poleciłbym Perla i książki ze zwierzętami od O'Reilly. Sam uczyłem się stąd
https://helion.pl/ksiazki/perl-wprowadzenie-wydanie-iv-randal-l-schwartz-tom-phoenix-brian-d-foy,perlw2.htm#format/d
perlw2.jpg
W książce są podane fajne i proste przykłady operacji na plikach i tekście. Można napisać sobie plik w notatniku i w tym samym notatniku obejrzeć wynik działania Perla. Ponieważ Perl używa wywołań systemowych jak bash, można się spodziewać zachowania takiego samego jak w przypadku poleceń typu exec, więc obsługa systemu przy okazji wejdzie do głowy.
Podobnie przyjazny pod tym względem jest Javasrcipt - można zrobić sobie prosty plik HTML i JSem grzebać: dodawać, usuwać i edytować elementy strony, rysować itp.


Nie sztuka uciec gdy w dupie sztuciec. 🐪🐪🐪
Zobacz pozostałe 6 komentarzy
PerlMonk
@Silv: https://perldoc.perl.org/perlrun#PERLIO - można uruchomić skrypty Perla tak, żeby nie było problemów.
KHX
Te książki są bardzo fajne, miałem kilka ebookow z tej serii i fajnie się uczy, też polecam.
Silv
@PerlMonk: dziękuję. :) Pytanie mi się nasuwa, po co (teoretycznie) – lepiej chyba zmienić edytor?
PerlMonk
@Silv: Sprawa jest bardziej złożona, niż wybór edytora. Pracowałem w miejscach, w których było sporo serwerów z różnymi procesorami i systemami. Takie opcje czasem się przydają.
KHX
  • Rejestracja:około 5 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:według VPN
  • Postów:194
3

Scratha odradzam, bo później może być dziwnie jak się przyjdzie do prawdziwego języka. Silniki gier za trudne, tak jak pisanie na androida. Najbardziej polecałbym Pythona, bo ma prosta składnie między innymi.


Sic Parvis Magna
Wiesz co się liczy? Szacunek ludzi piwnicy.
D46 0_o
Fakt trudno jest po używaniu scratcha przyzwyczaić się do innych języków ale dla nowych akurat najlepszy jest scratch. Najpierw najlepiej podstaw uczyć się w scratchu.
KHX
Czasami w nim są błędy bardziej programu, można nawet pokazać mu VB, czy batcha, proste, a pisane prawie.
Marcin Badtke
  • Rejestracja:ponad 4 lata
  • Ostatnio:prawie 4 lata
  • Postów:21
6

Podziwiam Twojego siostrzeńca. Dziecko, które samo chce się uczyć jest warte swojej wagi w złocie ;-)

Wg mnie, i tak też edukuję moje dzieci, najbardziej wartościowe jest nauczenie dzieci uczenia się. Przede wszystkim zadbanie aby lubiły się uczyć. System polskiej oświaty i nauczyciele wkładają dużo wysiłku aby w dzieciach pęd do wiedzy zabić. Tobie proponuję abyś go w dziecku pielęgnował. Kolejnym krokiem jest nauczenia dziecka zdobywania wiedzy na własną rękę. Niech sam szuka. Pokaż mu jak. Jak używać google, YT, IG, FB. Jak korzystać z forum z quora. Niech nie boi się zdawać pytania publicznie. Niech drąży temat. Niech wnika. Niech dyskutuje jeśli ma odmienne zdanie. Niech potrafi go bronić argumentami. Niech potrafi przyjąć krytykę i odmowę. Naucz go samodyscypliny, wyznaczania celów i ustalania priorytetów. Dzielenia dużych celów na małe kroki.

Tak wyposażony nauczy się wszystkiego i spełni swoje marzenia :-)

Trzymam kciuki.


Zobacz pozostałe 2 komentarze
Silv
@KHX: i ja bym tobie przyznał rację, gdybym nie miał wyobraźni, do jak różnych decyzji w oparciu o te same kryteria ludzie są zdolni.
KHX
No niestety, niektórzy nie mają wyrozumiałości, ale z rodzicem, chyba nie zraziłby się.
Silv
Tzn. miałem na myśli, że jak komuś powiemy, żeby nie pobierać "nieoficjalnych" programów, to stwierdzenie jest prostym kryterium; ale żeby słuchacz zrozumiał je tak samo, jak my, to musimy opisać wszystkie nasze doświadczenia dotyczące tego, które programy można uznać za "oficjalne"… Chodzi mi o to, że informacji dookoła (nie tylko w internecie!) jest na tyle dużo, że bardzo trudno jest nauczyć kogoś, co należy robić, bez pokazania mu tych wszystkich doświadczeń, które nas ukształtowały.
KHX
Masz dużo racji, najlepiej też nauczyć nie pobierania zbędnych rzeczy, na początek programowania wystarczy kompilator, później będzie trochę jazdy, o ile wkroczy, bo narzędzia do baz danych, specjalne wtyczki itd. Ja na początku zaleciłbym ogólnie kontrolowanie cały czas, no i tak jak pisałeś, dobrze wytłumaczyć na bazie swoich przeżyć, ale też nigdy nie ma się 100% pewności, czy nawet się nie zapomni po prostu dziecku sprawdzenia tego, czy tamtego. Akurat nauka na własnych błędach w tym przypadku odpada, bo strata może być dość duża, a przyjemność z programowania przepaść
Miang
jak na początek to interpreter lepszy
TheLearner
  • Rejestracja:ponad 5 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Krypton
  • Postów:298
3
Marcin Badtke napisał(a):

nauczyciele wkładają dużo wysiłku aby w dzieciach pęd do wiedzy zabić.

Nauczyciel jest wykonawcą programu nauczaniu. Nie jest jego winą, że program nauczania jest durny. Łatwo jest krytykować nauczycieli jak się nie pracowało w tym zawodzie parę lat.

Zawodu już nie wykonuję, ale nie przypominam sobie, żebyśmy siedzieli godzinami na naradach jak na siłę zabić w dzieciakach pęd do wiedzy.


edytowany 2x, ostatnio: TheLearner
Marcin Badtke
Nie chciałem urazić - przepraszam. Może przesadna generalizacja. Przyznaję - moje obserwacje dotyczą jedynie jednej szkoły podstawowej. Faktycznie nauczyciele młodego pokolenia mają lepsze podejście niż ci 50+. Niemniej nie zgadzam się z Tobą. To od nauczyciela zależą metody nauczania i od nauczyciela zależy podejście do ucznia. A program jest ustalany przez przełożonych nauczycieli. Nie widzę specjalnie protestów nauczycieli, że program jest nieodpowiedni.
KHX
Są tacy, którzy tak robią. Nie wszyscy, ale jest dużo. Sam miałem takich w życiu kilku, w wiejskiej szkole. Nie polecam nikomu, ale oni uważają się za Bogów.
TheLearner
TheLearner
Spokojnie, urazony się nie czuje. Wszystko w ramach wymiany zdań. Temat rzeka, w duży off top trzeba było by wejść. Metodyka faktycznie zależy od nauczyciela, ale program to inna bajka. Protesty ze strony nauczycieli są i to bardzo duże, jednak jak się nie obraca w tym środowisku to się tego nie widzi. A że istnieją też jakieś patologię (jak wszędzie) jestem swiadomy. Ja znam pracę nauczyciela z innej strony. Widziałem jak pedagodzy jeżdżą po domach patologicznej młodzieży wyciągać z bagna pijanych rodziców. Widziałem jak uczą 15 letnie dzieciaki jak obsługiwać pralkę.....
PerlMonk
  • Rejestracja:około 6 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Warszawa 🐪
  • Postów:1719
3
TheLearner napisał(a):
Marcin Badtke napisał(a):

nauczyciele wkładają dużo wysiłku aby w dzieciach pęd do wiedzy zabić.

Nauczyciel jest wykonawcą programu nauczaniu. Nie jest jego winą, że program nauczania jest durny. Łatwo jest krytykować nauczycieli jak się nie pracowało w tym zawodzie parę lat.

Zawodu już nie wykonuję, ale nie przypominam sobie, żebyśmy siedzieli godzinami na naradach jak na siłę zabić w dzieciakach pęd do wiedzy.

Może Marcin wyraził się zbyt stanowczo, jednak poruszył pewien ważny problem: sposób przekazywania wiedzy. U jednego nauczyciela PO chodziliśmy do parku, pokazywał nam różne rzeczy itp. Inni nauczyciel tego samego przedmiotu to kopiuj- wklej. Wszystkie jego zajęcia polegały na dyktowaniu materiału do zeszytu przez całą lekcję. Efekt? Więcej pamiętam u tego pierwszego. Nauczyciele mają niewiele do powiedzenia w kwestii materiału, ale za to mogą próbować czynić ten materiał lepiej utrwalonym.


Nie sztuka uciec gdy w dupie sztuciec. 🐪🐪🐪
Marcin Badtke
W samo sedno. Dzięki :-)
somekind
U jednego nauczyciela PO chodziliśmy do parku, pokazywał nam różne rzeczy - no jeśli chodziłeś do parku z facetem, który pokazywał Ci różne rzeczy, to wyjaśnia dużą część treści Twoich komentarzy.
PerlMonk
@somekind: Brawo, prosiaczku. Jak na swój wiek jesteś bardzo spostrzegawczy :]
gk1982
  • Rejestracja:ponad 13 lat
  • Ostatnio:5 dni
  • Lokalizacja:Łódź
  • Postów:541
3

Moim marzeniem było zostać programistą niestety słabe zdolności mi to uniemożliwiają. Postanowiłem uczyć programowania mojego 8 letniego syna. Pierwsza lekcja w styczniu 2021 to uświadomienie mu że są inne systemy liczbowe. Druga to potęgowanie dwójki i jest już lepszy ode mnie.


Don't give up learning JavaScript!
It is enjoyable to make things visible which are invisible.
Każdy programista przybywający z innego miasta jest fachowcem.
Anyone who stops learning is old, whether at twenty or eighty.
Anyone who keeps learning stays young.
The greatest thing in life is to keep your mind young.
edytowany 1x, ostatnio: gk1982
PerlMonk
Poczekaj aż zacznie przekręcać słowo scrum jak zobaczy co to jest :]
gk1982
Hmm scrum w scratchu ?
PerlMonk
Nie nooo, jak starszy będzie. :D
FI
filemonczyk
tylko nie cisnij go zbyt mocno zebys nie byl jak ci ojcowie co na treningu pilki noznej spinaja sie jak na finalach LM :P
gk1982
za kare do scratcha
FI
FI
  • Rejestracja:około 10 lat
  • Ostatnio:prawie 4 lata
  • Postów:471
1
vpiotr
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
4

Ja bym polecił frontendowy JS. A właściwie JS + konsola lub canvas.
Bez bibliotek, po prostu samo kodowanie w tym co daje przeglądarka.
HTML-a można bardzo ograniczyć.
Mam na myśli coś takiego: https://dev.to/foqc/mandelbrot-set-in-js-480o
Można kodować w Notatniku / VS Code / Geany / cokolwiek innego.
A przebudowanie aplikacji ograniczyć do naciśnięcia F5.

edytowany 1x, ostatnio: vpiotr
Satanistyczny Awatar
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 2 godziny
  • Postów:695
2
0xmarcin napisał(a):

A może po prostu 10 lat to jeszcze za wcześnie? Poczekaj z 3 lata i wróć z tematem. A do tego czasu lego technic i przyjaciele...

Ja swoje pierwsze programy pisałem kilka miesięcy przed dziesiątymi urodzinami. :P Zaczynałem w Turbo Pascalu.
Bawiłem się też wtedy Q-BASIC i LOGO.

edytowany 1x, ostatnio: Satanistyczny Awatar
PerlMonk
To strasznie późno, żeby zaczynać programowanie. Nigdy nie zostaniesz programistą 30k ;)
ToTomki
  • Rejestracja:około 7 lat
  • Ostatnio:około 16 godzin
  • Postów:1318
1

Ja mając z 11 lat uczyłem się tworząc w Ruby skrypty do RPG Makera (np. zmiana warunków pogodowych, system walki itd.). Może to też jest jakaś opcja.

TR
  • Rejestracja:ponad 7 lat
  • Ostatnio:30 dni
  • Lokalizacja:700m n.p.m.
  • Postów:677
4

W wieku 10 lat, mózg jeszcze dość szybko wszytko chłonie i łatwo wyrabia nawyki.

Dlatego, moim zdaniem błędem jest zaczynanie od języków wysokopoziomowych.

Na sam początek, na pierwszy dzień najlepszy byłby kod maszynowy i zaznajomienie z budową komputera, potem assembler, potem C / C++ i dopiero dalej takie języki jak Java, Rust, etc.

Jeżeli dzieciak będzie potrafił programować niskopoziomowo, znajdzie się w prawdziwej elicie programistów.


DRY > SOLID (nie bierz tego zbyt poważnie)
edytowany 3x, ostatnio: TomRZ
vpiotr
Maszynowy? Każesz mu pisać w hexa? Trolling?
TR
To nie żaden trolling, można chociażby pokazać jak zrobić operacje mnożenia czy dodawania w kodzie maszynowym - nie chodzi mi o to żeby na to poświęcać kilka dni. Jeden dzień wystarczy. Potem trochę assemblera, a potem już więcej C/C++
vpiotr
https://pl.wikipedia.org/wiki/J%C4%99zyk_maszynowy - patrz druga kolumna na screenshocie.
FI
FI
  • Rejestracja:około 10 lat
  • Ostatnio:prawie 4 lata
  • Postów:471
1

zastanawialem sie, jak szybko zmieni sie to w klasyczny dick contest :D

ps. moja propozycja wydaje sie najlepsza

edytowany 1x, ostatnio: filemonczyk
PerlMonk
Chyba już tak jest ;)
PerlMonk
  • Rejestracja:około 6 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Warszawa 🐪
  • Postów:1719
2

Zgadzam się z tym, że asembler może mieć charakter edukacyjny. Dobrym ćwiczeniem jest napisanie prostego programu w C i wygenerowanie na jego podstawie kodu asemblera. Nie każdy z resztą wie, że kompilator tłumaczy kod C/C++ na asembler (tak w dużym skrócie) i dopiero z tego generuje program. Można zobaczyć jak poszczególne flagi kompilatora wpływają na program. Randall Hyde w książce "Profesjonalne programowanie. Część 2. Myśl niskopoziomowo, pisz wysokopoziomowo" pokazwał takie przykłady.
Sam z takiej zabawy zapamiętałem, że literały są trzymane w innym miejscu w pamięci, niż dane z innych źródeł (np. wczytane z dysku podczas działania programu). Nie dziwi wtedy tablica wartości funkcji sinus itp. wpisana na sztywno do programu :)


Nie sztuka uciec gdy w dupie sztuciec. 🐪🐪🐪
Spearhead
  • Rejestracja:prawie 6 lat
  • Ostatnio:około 8 godzin
  • Postów:1002
5

Mój 10-letni siostrzeniec chce się uczyć programować bo "chce robić gry" :)

OP ostatni raz był widziany 13 dni temu, więc pewno już tego nie przeczyta, ale się wyłamię i powiem, że zamiast zaprzęgać młodego od dzieciństwa do kieratu i wyścigu szczurów, niech da mu odetchnąć i spędzić przyjemne dzieciństwo. Jakby powiedział, że chce zostać strażakiem, to kupiłbyś mu gaśnicę?

Póki co, najlepiej po prostu śledzić jego postępy w nauce matematyki szkolnej i ewentualnie jeżeli jest wystarczająco zdolny, podsuwać mu z wyprzedzeniem materiał z wyższych roczników. A nad programowaniem zastanowić się jak będzie miał przynajmniej te 13/14 lat.

A przede wszystkim, niech się wybiega na boisku, czy pójdzie na jakieś zajęcia sportowe (karate, pływanie, cokolwiek), bo tego właśnie najbardziej brakuje współczesnym dzieciom. Rośnie cała generacja nieruchawych klusek, przylepionych wiecznie do ekranu, uzależnionych od małego migotaniem pikseli. A o tym jak tragicznie to wpływa na zdolności zapamiętywania i długotrwały koncentracji piszą już całe książki. Jak to jest, że latem, na idealnej pogodzie, sobie sam idę na Orlik pobiegać i porobić okrążeń i sprintów (i coś pokopać przy okazji) i świeci on pustkami, nie zaszczyci go w tym czasie żaden młody człowiek (co najwyżej gdzieś późno amatorzy papierosów się zbierają, co znać po niedopałkach). Kiedyś to było nie do pomyślenia ażeby boisko stało odłogiem. Czasem wyciągnę młodego kuzyna (który mieszka dosłownie naprzeciw, po drugiej stronie drogi) i po 20 minutach ma dość. Ale przed konsolą, TV czy smartfonem to potrafiłby siedzieć godzinami. I, rzecz jasna, on też mówi, że "zostanie informatykiem", choć dantejskie sceny u wujostwa się dzieją, gdy go usiłują zagnać do zadań z ułamków.

Żeby nie było, ja też spędziłem przed ekranem kawał dzieciństwa. A że nikt mnie do sportu i ruchu nie garnął to właśnie żałuję mocno, bo przez to wiele lat byłem tym popychadłem bez formy i dopiero jako dorosły mozolnie zbudowałem kondycję fizyczną. Łatwiej by mi było jakbym zaczął wcześniej.

Zobacz pozostały 1 komentarz
TR
Moją pasją od 7-mego roku życia było programowanie, a nie kopanie balonu z jełopami na boisku. Większość z nich teraz pracuje fizycznie i ma problemy ze zdrowiem od picia wódy i palenia petów, bo tak wychowywało boisko.
Spearhead
@TomRZ: chyba nie będziesz dyskutował, że aktywność ruchowa jest istotna w rozwoju dziecka, a siedzący tryb życia programistów szkodzi zdrowiu? I chyba nie twierdzisz, że sport prowadzi do alkoholu i nałogów, więc należy go unikać?
gk1982
temu op to bardziej zależało na klikniecie w linki niż czytanie naszych opini
TheLearner
TheLearner
To 'środowisko' boiskowe faktycznie różne było, ale to się głównie tyczy (z nieznanych mi powodów) piłki nożnej. Sport na niej się nie kończy.
gk1982
mikrouszkodzenia mózgu przez odbijanie piłki główką też nie jest zbyt dobre na późniejszą koncentracje i zdolności umysłowe
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
2

@Spearhead:

Jakby powiedział, że chce zostać strażakiem, to kupiłbyś mu gaśnicę?

No nie wiem. Jak dziecko lubi pilkę nożną to się je zapisuje do drużyny. Jak lubi malować to na zajecia plastyczne. Jak grać/śpiewać to do szkoły muzycznej itd ;)

Rośnie cała generacja nieruchawych klusek, przylepionych wiecznie do ekranu, uzależnionych od małego migotaniem pikseli. A o tym jak tragicznie to wpływa na zdolności zapamiętywania i długotrwały koncentracji piszą już całe książki

Prawda, ale to chyba nijak sie ma do opisanej sytuacji. To jest taki sam problem jak z TV 20-30 lat temu. Problem jest jeśli ktoś siedzi przed ekranem i zajmuje się jakąś niezbyt wymagającą rozrywką czy szybkimi zmianami kontekstu. Nijak się to ma do celowego działania jakim jest programowanie. Powiedziałbym że wręcz przeciwnie - programowanie rozwija zdolności intelektualne, koncentracje i zapamiętywanie.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
Spearhead
  • Rejestracja:prawie 6 lat
  • Ostatnio:około 8 godzin
  • Postów:1002
2

No nie wiem. Jak dziecko lubi pilkę nożną to się je zapisuje do drużyny. Jak lubi malować to na zajecia plastyczne. Jak grać/śpiewać to do szkoły muzycznej itd ;)

@Shalom programowanie to jednak trochę wyższy poziom abstrakcji i poziomu trudności niż kopanie piłki, śpiewanie czy bazgranie po kartce. Te trzy rzeczy już w jakimś stopniu i 6-latki są w stanie ogarniać. Dlatego pisałem, żeby jednak zaczekać do tych 13/14 lat, co najwyżej popatrzeć, czy można mu podsunąć matematykę z wyższej klasy.

Poza tym, podejrzewam, że wcale tak naprawdę nie interesuje się programowaniem, tylko lubi (jak każdy dzieciak) grać i zapytał wujka, skąd się gry biorą. Przecież sam OP pisze

Chłopak jest za mały, nie chwyta tego, mówi mi, że rozumie, ale tak naprawdę to potrafi tylko zmodyfikować przykład, który mu napisałem.

Polecanie mu całych ścieżek rozwoju, z assemblerem włącznie, to jakieś wariactwo.

O, inna rzecz. Niech się przykłada do angielskiego. To będzie niezbędne w informatyce, mocno przydatne w życiu nawet jak trafi gdzie indziej, a w tym wieku umysł właśnie jest bardzo chłonny na jego naukę - bardziej niż na abstrakcyjno-logiczne rzeczy pokroju programowania, czy bardziej zaawansowanej matematyki, do których mózg musi jednak bardziej dojrzeć,

Notabene, w tym wieku mniej więcej razem z siostrą czytywaliśmy klasyk My New Hobby English i do dziś pamiętam to "Peter is in America now" z pierwszej lekcji. Siostra poszła potem na filologię.

edytowany 1x, ostatnio: Spearhead
Miang
  • Rejestracja:prawie 7 lat
  • Ostatnio:około godziny
  • Postów:1659
1

jak dzieciak jest w porządku to bym mu po prostu pokazała szafkę z książkami i niech se przegląda i wybiera co go zainteresuje


dzisiaj programiści uwielbiają przepisywać kod z jednego języka do drugiego, tylko po to by z projektem nadal stać w miejscu ale na nowej technologii
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
4

programowanie to jednak trochę wyższy poziom abstrakcji i poziomu trudności niż kopanie piłki, śpiewanie czy bazgranie po kartce. Te trzy rzeczy już w jakimś stopniu i 6-latki są w stanie ogarniać

Scratch? Lego? Jest wiele około-programistycznych rzeczy dla dzieci. Moi znajomi prowadzą zajęcia z robotyki/programowania dla dzieci i idzie im ok (jeśli kogos interesuje co tam oferują to https://robostudio.pl/ ) Nie trzeba przecież kogoś uczyć od razu asemblera, tak samo jak nie trzeba od razu grać w orkiestrze albo kopać piłki w ekstraklasie ;)


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
TheLearner
TheLearner
Znajoma wysyła dzieciaki na takie zajęcia. Fajna sprawa.
D46 0_o
  • Rejestracja:około 4 lata
  • Ostatnio:12 miesięcy
  • Postów:19
1

Ostatnio odkryłem aplikacje mimo.
W mimo można nauczyć się JavaScript oraz python.
Jest tam wszystko bardzo bobrze wytłumaczalne jak co działa.

cerrato
Dasz jakiś link?
gk1982
  • Rejestracja:ponad 13 lat
  • Ostatnio:5 dni
  • Lokalizacja:Łódź
  • Postów:541
5

Jak na razie mój syn został testerem prostych gierek w js (kółko i krzyżych, zgadnij liczbę od 1-100), które dla niego pisze. Tłumaczyłem też zmienne i działania na nich ale się sam pogubiłem.


Don't give up learning JavaScript!
It is enjoyable to make things visible which are invisible.
Każdy programista przybywający z innego miasta jest fachowcem.
Anyone who stops learning is old, whether at twenty or eighty.
Anyone who keeps learning stays young.
The greatest thing in life is to keep your mind young.
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)