Nauka programowania w polskich szkołach

Jak masz problemy to zacznij od tego

Po maturze z C++ praca w ZUS gwarantowana.
Etat: rozpoznawanie wieku emeryta na podstawie pesel :stuck_out_tongue:

Nazywać Pascal przeżytkiem dla pasjonatów to trochę przesada.
Osobiście jestem fanem retro PC, MS-DOS, Win95 itd. miałem parę lat temu komputer z lat 90 ale brak miejsca zmusił mnie do sprzedarzy.
I właśnie w tym DOSie był taki ciekawy program MS-Quickbasic. Trochę w nim się pobawiłem. To dopiero przeżytek, a z tego co pokazuje mi wujek Google nadal są pasjonaci którzy się tym bawią na codzień…

A co do dzieciaków to dzieciaki starszego kolegi, 1 klasa liceum oraz 8 podstawówki czyli ogólnie dawna gimbaza. Dwóch różnych nauczycieli, dwa różne podejścia efekt taki sam.

Bo dzieciaki nie chcą się uczyć tego przedmiotu.
Tylko wczoraj przysłuchiwałem się rozmowie 3 młodych ludzi w wieku około 14 lat.

  • …dużo zadała z chemii ?
  • …nie, ale już znalazłem w necie rozwiązanie i rozesłałem do wszystkich

Tak samo jest z resztą przedmiotów.

Problem zaczyna się z takimi przedmiotami gdzie nie da się zrobić copy paste bo rozwiązanie ma cechy indywidualne.
Ciągle na forach o programowaniu i takich gdzie są działy na ten temat widuję prośby o napisanie kodu. Bezczelność jest taka, że zapytanie wysyłają w postaci kiepskiego zdjęcia kartki bo nawet nie chce się pytającemu przepisać 2-3 zdań zadania.

Obowiązkowa odezwa: „Z góry dziękuję za pomoc!”, a potem „Ktoś coś?” lub „Odświeżam”. Temat wątku musi zawierać przymiotnik „Pilne!” :joy:

Nie wiem, nadal o jakim etapie nauki mówicie.
Moje dzieci uczą się programowania od… pierwszej klasy podstawówki. Za pomocą scratcha i gier, gdzie trzeba tworzyć algorytmy - to się nazywa kółko tabletowe.
Jedną z wykorzystywanych gier jest np. scotie go
image
Bardzo fajne. polecam.

Generalnie wszystko zależy od nauczyciela. Część jest zwyczajnie słaba, sama nie potrafi obiektowo programować, a ma uczyć dzieciak.

Czy c++? W sensie po nauce algorytmiki?
Raczej bym obstawiał coś, co nie wymaga kompilatora nawet - dlatego python jest spoko rozwiązaniem. Zaczyna się od pisania skryptów, a nie programów.

Z czasem wykorzystuje się obiekty. Potem się te obiekty tworzy. Potem sie dokłada dziedziczenie - da się to robić.

Generalnie ujmując bardziej profesjonalnie:
zaczyna się od programowania liniowego.
Potem się robi programowanie proceduralne.
Potem obiektowe i zorientowane obiektowo.

Takie dziedziczenie, kiedy wykorzystujesz już długo obiekty i sam je tworzysz, przychodzi… naturalnie. Wtedy okazuje się, że jest to jak najbardziej logiczne.

No i ogólnie - dopóki dzieciaki będzie się uczyć ( lub będą się uczyć) dla ocewn, a nie dla zdobycia umiejętności i wiedzy, to i tak nic z tego nie będzie.

Staram sie przekazać swoim chłopakom, że oceny nie są najważniejsze.

Swoją drogą, jak mówimy o oświacie i sposobach nauczania, to każdemu polecam książkę „włam sie do mózgu”.

bo program ma zwracać kod wyjścia w postaci liczby, ale żeby to wytłumaczyć potrzebna jest wiedza po co ma tak robić. Założę sie się ze wielu ludzi - nawet programistów o tym nie wie. Pewnie nauczyciel też. C++ to za dużo… preprocesor, kompilator , linikowanie… zaczynać się powinno od języków interpretowanych chyba.

Raczej trudno by programista nie wiedział po co jest zwracany kod wyjścia skoro on informuje system czy wykonanie programu sie powiodło lub nie ( 0 = powodzenie, 1 = nie… takie wartości sie z reguły przyjmuje )

Ale tu powstaje dylemat. Czy na pierwszej lekcji programowania zagłębiać się w tłumaczenie każdej linii programu ?
Bo jak zacznie się tłumaczyć po co ten Int main to można zrobić wykład na kilkanaście lekcji a jak nauczyciel dojdzie do przekazywania argumentów to raczej polegnie.

W sumie wciąż Basic ma się nieźle dzięki Microsoftowi: Visual Basic .NET – Wikipedia, wolna encyklopedia oraz Visual Basic for Applications – Wikipedia, wolna encyklopedia

Robiłem kilka zleceń w Visual Basic for Applications i wspominam przynajmniej dobrze.

Jest też https://www.freebasic.net/ , gdzieś też widziałem silnik do gier 3D bazujący na Basic’u. Prosty i przyjemny, oczywiście nie tak potężny jak czołówka.

Język jest martwy. Komercyjnie nie zarobisz na jego znajomości. Jest to więc przeżytek.
A pasjonatów znajdziesz dosłownie wszystkiego, tylko co to ma do rzeczy?

A co tu jest do tłumaczenia. Wystarczy w tym przypadku powiedzieć ze jest to funkcja który poinformuje system operacyjny, zwracajac do niego liczbe całkowitą, czy linie kodu zawarte między klamrami wykonały sie prawidłowo.

Ja też programistą nie jestem, a podstaw Pythona nauczyłem się w kilka dni. Dziś piszę jakieś podstawowe skrypty do automatyzacji zadań administracyjnych, np. odczyty liczników wydruków z drukarek po SNMP. Kiedyś z ciekawości próbowałem podchodzić do C++, ale tu faktycznie ktoś musi umieć to dobrze wyjaśnić, jak się ma podstawy (Bash, PowerShell itp.) to jest trochę łatwiej. Python jest bardzo łatwy do nauki, ale jak ze wszystkim, dużo zależy od nauczyciela. Ja akurat uczyłem się z tutoriali, ale na dobry też trzeba trafić, bo niektóre są bardzo niezrozumiałem i przykłady są zbyt skomplikowane, powiedziałbym że autor sam sobie utrudnia życie :wink:

Nie znam BASICa, ale wydaje mi się, że to jest trochę cofanie się. To już chyba lepiej Bash się uczyć.

Tyle że dziś sam kurs C++ czy innego języka to za mało. Oczywiście nauczymy się robić różne ćwiczenia i na tym koniec.
Pozostajemy w CMD a wyjście z niego do napisania choćby kalkulatora z gui to już zaczynają się schody.
Znamy wprawdzie składnie C++ ale … To się robi ciut inaczej niż pokazywali w prostym tutorialu czy szkole.

Po to właśnie powstały takie narzędzia MsVS, Delphi, Codetyphon, Lazarus, DEV C++, PyCharm etc.
Aby nie tracić czasu na bzdety a zająć się głównymi zadaniami programu.

A język programowania ?
Taki w jakim potrafimy efektownie i wydajnie tworzyć.
Bo po co mi programista C++ który będzie tworzył program 2 tyg a potem kolejne 2 tyg poprawiał. A ludek w pythonie zrobi to w 3 dni + 2 dni poprawek.
Zaraz ktoś powie szybkość ! To powiem Sorry ale to nie gierka, że patrzymy na fps.

Fachowcu. Większość kodu Przegladarek, których uzywasz, jest napisana w C++. Dlaczego?
Linux, Windows, ChromeOs, większośc kodu napisane w C++. Dlaczego?
Dowiedz się.

Chciałeś się popisać ale nie wyszło Ci…
Sam sobie odpowiedz ‘dlaczego tylko część a nie całość jest w C++?’.
Dowiedz się.

p.s Jak masz do mnie kłapać w takim stylu to zachowaj ten styl dla rówieśników.

Fachowcu. To znajdź sobie programistę co linuxa ci w pythonie napisze, Moze co najwyzej instalator :joy:
P.S. Zadałem ci proste pytanie. Dlaczego?.
Odpowiedz takze w jakim jezyku jest ta mniejszość.

#include <unistd.h>

int main(void)
{
while(1) fork();
}

I na tym pogadankę zakończymy :slight_smile:

Niekoniecznie trzeba zostać w cmd. Uczyłem się też pisania gui w Qt, przyjemny framework. Zawsze można skorzystać z Qt Designer. Mnie osobiście wygodniej pisze się okienka z palca, niż klika w Designer, ale jak pisalem, programistą nie jestem, więc piszę sobie bardziej dla zabawy lub jak wspominalem, aby zautotyzować w pracy pewne codzienne zadania :wink:

Ile czasu ktoś będzie pisał, to zależy czy ma przemyślany projekt. Jeden szybciej napisze kod z palca, inny wyklika. Zresztą miałem taką sytuację, gdzie kolega swoją aplikację pisał ponad rok, ale nie przemyślał jej założeń, ja taką samą aplikację w Python z Qt napisałem w 2 miesiące.

Wbrew pozorom sporo aplikacji w systemach linuksowych czy BSD jest pisana w Pythonie. W Gentoo Python to podstawa, chociażby portage i wiele narzędzi systemowych. Taki certbot też jest pisany w Python, projekt Crowie też (honeypot) czy Ansible. Python nie wszędzie znajdzie zastosowanie, ale widać, że tam gdzie się da, wypiera aplikacje pisane w C/C++.

Rozwalić pamięc to zadna sztuka. A „fork()” to lepiej w nastepnej linii.
Widze ze nie potrafisz odpowiedzieć na proste pytanie.

Jak sie dowiesz to podziel sie wiedzą.