Nauka programowania od czego zacząć?

tak napisałeś, jak by ta ciągła nauka była czymś okropnym... przynajmniej na starość będzie Ci mózg lepiej funkcjonował, to zaleta.

Jeste wiele zawodów gdzie poziom stresu jest znacznie wyższy.

no tu to przesadzasz. Owszem być może pytacz chce zbyt agresywnie podejść do 8 letniej córki i odnoszę wrażenie, że to bardziej jego chęci niż córki, ale w ogólności, jeżeli się mylę i córka przejawia silne zainteresowanie, cóż czemu nie - choć może z tymi książkami to trochę przesadził.

Ja osobiście żałuje, ze całe życie (tech. studia praca), obracam się w środowisku prawie wyłącznie męskim. To wypacza każdego lecz niestety w tej dziedzinie jest mało kobiet wiec fajnie jak

8 latka za 15-20 lat może dołączy do grona.

zależy gdzie i po co stosowana.

Pozdrawiam D.

Reply to
Darek
Loading thread data ...

Na początek kup jej Lego Mindstrom:

formatting link
Z tego co pamiętam z czasów kiedy bawiłem się tym razem z dziećmi ;-) to całkiem sprytnie można tam było projektować niebanalne algorytmy (do sterowania modelami, które można zbudować). I dzieciak od razu widział rezultat swojej pracy.

Do języków programowania (ewentualnie) dojdziecie jak będzie potrafiła mniej więcej pseudo-formalnie opisać to, co che zrobić.

Piotrek

Reply to
Piotrek

Na początek kup jej Lego Mindstorm:

formatting link
Z tego co pamiętam z czasów kiedy bawiłem się tym razem z dziećmi ;-) to całkiem sprytnie można tam było projektować niebanalne algorytmy (do sterowania modelami, które można zbudować). I dzieciak od razu widział rezultat swojej pracy.

Do języków programowania (ewentualnie) dojdziecie jak będzie potrafiła mniej więcej pseudo-formalnie opisać to, co che zrobić.

Piotrek

Reply to
Piotrek

W dniu 16.09.2011 15:52, Lelek@ pisze:

No, zwłaszcza w językach interpretowanych. Zmienna to jest sposób/miejsce przechowania pewnej wartości. W assemblerze może to być np: mov 0,[esp+4]

Imo robisz wielką krzywdę ucząc właśnie w oparciu o sprzęt a nie o abstrakcję. (Przecież sprzęt powstał właśnie po to aby realizować pewien abstrakcyjny model.) Będzie potem problem z ogarnięciem bardziej złożonych zależności z powodu skupiania się na nieistotnych szczegółach (długo sam się z tego leczyłem - moim pierwszym językiem programowania (nie licząc skryptów bat) był assembler, w okolicy 4 klasy podstawówki. Uczyłem się go w oparciu o jakieś opisy i dużo własnych prób i błędów.)

Reply to
Michoo

tylko powiedz mi, jaki obecnie jest sens uczenia dziecka np 10 letniego podstaw asemblera?

Programistą, jeżeli się wogóle stanie, to będzie nie wcześniej niż za 10-15 lat. Myslisz, ze po za jakimiś wyszukanymi, super wydajnymi zadaniami, ktoś jeszcze będzie pisał w asemblerze? Zobacz teraz, ilu ludzi juz od tego odchodzi ponieważ szkoda czasu gdy kości są stosunkowo tanie.

Ok, asembler pozwala poznać lepiej sprzet, maszynowy pewnie jeszcze lepiej i co z tego wynika. Myślę, że dziecko właśnie należy uczyć stytemowego myślenia i algorytmiki a nie babrania się w bitach, ponieważ biorac pod uwage rozwój techniki i perspektywy, to nie ma najmniejszego sensu.

Pzdr d.

Reply to
Darek

W dniu 16.09.2011 20:26, Darek pisze:

Popieram... asembler zostawmy inżynierom, bo jego podstawy (co najmniej!) powinien znać każdy inżynier programujący blisko sprzętu (a nie Ci, co piszą w .net ;)). Na pewno zaczynanie od asemblera nie jest dobrą drogą, do zarażania dziecka "bakcylem"... Warto pokazać temat o fajnej strony, jak się dziecko z wiekiem zacznie wciągać, to samo sięgnie po teorię i podstawy, albo pójdzie na stosowne studia... . Ja do dziś pamiętam, jak byłem w podstawówce i się kogoś w domu zapytałem co to jest "procesor", a w odpowiedzi usłyszałem, że no wykonuje różne operacje, potrafi np dodać dwie liczby.. No i potem "projektowałem" własny procesor na bramkach... I zrobiłem - sumator ;)... Ale co z tego, że nie wiedziałem, że to sumator a nie procesor... grunt, że się zaraziłem i mnie to wciągneło!! Jakby mi ktoś wtedy pokazał listę instrukcji procesora, to raczej bym mnie to nie zainteresowało ;)...

Reply to
Konop

W dniu 2011-09-16 09:08, Zbyszek pisze:

Ostatnio w grupie programistów dyskutowaliśmy o tym i wniosek był taki, że obecnie nie ma niczego co by się do tego nadawało.

Wnioski do jakiś doszliśmy były takie, że po pierwsze powinien to być interpreter działający w immediate mode - czyli piszesz komendę, naciskasz enter i ona się od razu wykonuje.

Do tego prosta składnia i wykrywanie błędów składniowych na etapie wprowadzania kodu.

Ja zaczynałem naukę programowania mniej więcej w wieku 8 lat w Atari BASIC. Język był o tyle dobry i intuicyjny, że nauczyłem się programowania sam, mając tylko komputer i instrukcję do niego po niemiecku (nie znając nikogo kto znał niemiecki) w której było trochę prostych przykładów w BASICu.

Tak dla dziecka z obecnie dostępnych języków to można spróbować Logo, albo emulator Atari i Atari BASIC :)

Reply to
Tomasz Pyra

własnie o to chodzi, że inzynierowie dbając o własny czas w większości przypadków wybierają język wyższego poziomu. Oczywiście zależy jeszcze to od przeznaczenia projektu. jeżeli coś ma być masowo produkowane setki tysięcy, miliony sztuk wtedy się optymalizuje koszt, produkcje pod kątem ceny i każda pierdoła ma znaczenie. jeżeli wykonujesz projekt np. miernika, który wyprodukujesz w liczbie 10-40-100 sztuk, to koszt procesora ma znacznie mniejsze znaczenie i ważniejszy jest czas wykonania projektu a co za tym idzie jego koszt.

Oczywiście nie mówię o specyficznych procedurach wyciskających nawet z ARMów ostatnie poty, wtedy i tak się rozbijesz o asemblera, ale w ilu zastosowaniach jest to potrzebne?

no powinien a przynajmniej wskazane.

IMHO jest to jedna z najgorszych możliwych dróg. Uważam, że jest do droga do zniechęcenia...

Jak dziecko ma zrozumieć architekture procesora, nie mówię o ogólnej ideii, filozofii, ale właśnie o "flakach"? Inaczej asembler będzie czarną magią nawet jeżeli ktoś się nauczy stosować pewne instrukcje.

Żeby posługiwać się asemblerem trzeba wiedzieć co się robi oczywiście w językach wyższego poziomu, również trzeba wiedzieć co się robi, ale to jest na innych poziomach abstrakcji, strawniejsze, naturalniejsze dla człowieka więc i tym bardziej dla dziecka.

Można pojsc krok dalej i probować nauki języka maszynowego, to już zbliża nas zupełnie do samej maszyny i do bitów, tylko po cholere, komu to potrzebne?

Ja miałem jednego idotę na studiach, który wymusił na nas zaprogramowanie urządzenia w języku maszynowy i to było stosunkowo niedawno. Tylko po co? Marnowanie ludzkiego czasu i zasobów ludzkich na takie kretyńskie zabawy. Marnowanie pieniędzy publicznych z których uczelnia się utrzymuje...

Pzdr D.

Reply to
Darek

W dniu 2011-09-16 21:06, Tomasz Pyra pisze:

OIDP to też coś podobnego miała Amiga: Amos. Można by spróbować na emulatorze lub kupić choćby poczciwą "pięćsetkę" za grosze.

Reply to
Adam
[...]

Panowie, bądźcie poważni - gryzakiem mojego syna był co prawda Spectrum ale programowania uczył się już na PeCecie i w Pascalu a potem dość wcześnie w C. BASICa nogą nawet nie tknął. Mimo tego, że ja pierwsze poważne pieniądze dostałem za program w BASICu właśnie.

Wy macie jakieś swoje miłe wspomnienia i wydaje się Wam, że po 20 latach nadal można zaczynać w tej dziedzinie jak Wy zaczynaliście...

Reply to
RoMan Mandziejewicz

W dniu 2011-09-16 23:12, RoMan Mandziejewicz pisze:

Być może jeżeli ma się siły fachowe w postaci jakiś starszych braci czy rodziców które środowisko przygotują, skonfigurują, napiszą "hello world" i na każdym etapie pomogą, to to się nawet uda.

U mnie był taki problem, że sam nie wiedziałem nic i nie znałem nikogo kto by wiedział cokolwiek, a jedynym źródłem wiedzy była instrukcja do komputera napisana w języku w którym nie znałem ani słowa :) I takie odkrycia jak to żeby na końcu linii naciskać return, to już musiałem dojść do tego metodą prób i błędów.

Dlatego może nie wyobrażam sobie ośmiolatka zostawionego samego sobie który organizuje sobie środowisko programistyczne i wszystko wymyśla, ale faktycznie jeżeli jest w domu ktoś kumaty, to sytuacja jest zupełnie inna.

Zaczynać spokojnie można na 2-3 roku studiów.

W wieku 8 lat raczej nie chodzi o przygotowanie do "dziedziny", a po prostu zabawę.

Zresztą dzisiejszy BASIC to nie jest to co Atari BASIC. Dlatego proponowałbym Logo, które z racji interaktywności i ogólnej atrakcyjności może być na początek całkiem fajny.

Reply to
Tomasz Pyra

W dniu 16.09.2011 21:41, Darek pisze:

Ale ja nie każę nikomu pisać w asemblerze, tylko go znać ;)... czasem po prostu wypada dodać jakąś "wstawkę", albo zrozumieć to, co wypluł kompilator. I po to się to przydaje znacznie częściej, niż żeby pisać w tym cały soft dla urządzenia...

Reply to
Konop

Użytkownik J.F napisał:

Bywa gorzej - pani każe założyć blog i z tego rozlicza ... Formatowanie tekstu jest przydatne choćby w pracy. Potem całkiem poważni ludzie tekst w tabelce worda formatują przy pomocy spacji a nie przeznaczonych do tego poleceń. Ewentualnie nauczycielka ma pretensję do operatora, że dostarczając internet, nie zapewnił jej uruchomienia modemu. Biedna musiała prosić o pomoc w zainstalowaniu bodaj tepsowskiej neostrady. Nie żeby były problemy z działaniem, konieczność zgłaszania na infolinię. "Nauczycielka" informatyki prosiła o pomoc w zwykłym, klasycznym podłączeniu i uruchomieniu, do czego są łopatologiczne instrukcje obrazkowe. Absolwenci takich lekcji nie mają pojęcia o używaniu windowsa, np. jak nie załapać wirusa, bezpiecznie korzystać z internetu, po co czyścić cache, defragmentować dysk itp. drobiazgi. Nie potrafią świadomie wybierać konfiguracji komputera przy jego zakupie. Potem słyszę, że winda nie przeinstalowana przez pół roku, to już nie jest do użytku... Maciek

Reply to
Maciek

Dziś, po przeczytaniu artykułu w Focusie znalazłem:

formatting link
dwóch godzin sie tym bawię - rewelka. Trochę brakuje mi funkcji i obiektowości (w sensie tworzenia własnych i dziedziczenia klas), ale za to są zdarzenia. Na pewno dobre jako wstęp dla dzieciaka do programowania.

Reply to
bratsiostry

Mnie właśnie to najbardziej wkurza! Że jak się uczy Worda, to byle-jak, bez np. wbicia w głowę nawyku używania stylów. Potem słyszę od absolwentów kierunków humanistycznych, że robili pracę magisterską, potem robili jakieś poprawki i musieli cały spis treści poprawiać, bo im się strony poprzesuwały... bo oczywiście robili go "ręcznie"... Druga rzecz, to fakt, że dzisiaj w ogóle nie uczy się o bezpieczeństwie w internecie. Nie pokazuje się, jak zabezpieczać się przed kradzieżą hasła, jak rozprzestrzeniają się wirusy itp. Nie tłumaczy się konieczności robienia kopii zapasowych (do dziś nie wiem, czy śmiać się czy płakać, jak przypomnę sobie apel w radiu od pewnej kobiety, która zostawiła w aucie laptop, złodzieje ukradli komputer, a ona straciła kilka lat pracy nad swoją pracą doktorską...). itp... Moim zdaniem tego typu materiał powinien być prezentowany na lekcjach informatyki. A jak jest - każdy wie ;)...

Reply to
Konop

W dniu 16.09.2011 20:26, Darek pisze:

No właśnie nijak nie widzę sensu. Wręcz uważam, że to, że zacząłem od assemblera nauczyło mnie sporo o wnętrznościach komputera (co programiście nie jest potrzebne), ale mniej więcej do ostatniej klasy gimnazjum całkowicie skrzywiło moje spojrzenie na "jakość" kodu - ważne było, żeby oszczędzać kilka cykli nawet gdy nie działa w skrajnych przypadkach a nie czytelny i "bezpieczny" kod.

Reply to
Michoo

W dniu 17.09.2011 01:46, Konop pisze:

Zauważ, że teraz coraz częściej pisze się programy w C#/javie/pythonie. Tam znajomość assemblera jest zbędna.

Poza tym wymagasz, aby programista piszący np jakiś fragment linuxa w C znał assemblera i potrafił ocenić kod wynikowy na każdej z fafnastu architektur?

Reply to
Michoo

A ja widzę. To ćwiczy mózg i abstrakcyjne myślenie. Przejść z wpisu w rejestrze jest dużo łatwiej do pojęcia zmiennej niż zrozumieć komuś piszącemu w delphi czy javie co to jest ta zmienna. Oni nigdy tego nie zrozumieją, szczególnie, że w jabie nie ma unsigned co okropnie komplikuje programowanie.

Reply to
rennes

Dnia Sat, 17 Sep 2011 15:55:20 +0200, Lelek@ napisał(a):

A ja nie widze. Uzasadnienie zbedne - wystarczy pomyslec o innych galeziach.

Reply to
Jacek

Dnia Fri, 16 Sep 2011 15:52:37 +0200, Lelek@ napisał(a):

Nie dziwie sie. Zboczen jest wiele.

Reply to
Jacek

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.