Nasz zespół wychodzi z założenia, że kodowania uczyć zawsze warto i trzeba, bo to nie tylko bardzo przydatna umiejętność na rynku pracy, ale generalnie umiejętność ta uczy myślenia i wytrwałości. W związku z tym przedstawiamy subiektywny przegląd ciekawych stron internetowych i aplikacji uczących kodowania.
Oczywiście takich aplikacji jest całe mnóstwo i prawie wszystkie wykorzystują mechanizmy grywalizacyjne, czyli np. zbieranie punktów lub odznak. Tutaj przedstawiamy kilka najciekawszych, bo tak naprawdę nie jest ważne jaką aplikację wykorzystujemy, ale ważny jest sposób myślenia. Kiedy nauczymy młodego człowieka myślenia przy kodowaniu albo można by powiedzieć kodowania myślenia, to nauczy się każdego języka programowania.
Programy dla dzieci
PixBlocks
Bardzo ciekawa aplikacja stworzona przez specjalistów z Uniwersytetu Adama Mickiewicza w Poznaniu. Aplikacja umożliwia naukę podstaw programowania osobom w każdym wieku. PixBlocks pozwala zarówno na naukę samodzielną, jaki i naukę w szkołach pod okiem nauczyciela (zgodnie z podstawą programową i wytycznymi MEN). Dzięki niej możemy uczyć się zarówno programowania wizualnego (co jest bardzo przydatne zwłaszcza w pierwszych etapach uczenia, tak żeby w ogóle zrozumieć, o co w programowaniu chodzi), jak i programowania tekstowego w prostym języku Python (co może przydać się do programowania np. takich fajnych mikrokomputerów jak Raspberry Pi). Aplikacja dostępna jest jak na razie na komputery z systemem Windows. Twórcy aplikacji realizują również bezpłatne szkolenia z wykorzystywania aplikacji.
Run Marco
Apka podobna do poprzedniej. Tutaj, za pomocą prostego kodu wydajemy polecania, a Marco je wykonuje. Jest polska wersja językowa.
Code Combat
W tej aplikacji możemy uczyć się dwóch konkretnych języków JavaScript (nie mylić z Java, co podkreślają autorzy aplikacji) lub Pythona, pokonując ogry i przechodząc kolejne poziomy podziemnego labiryntu, co jest bardzo wciągające. W przeciwieństwie do poprzednich aplikacji ta opiera się na konkretnych, wykorzystywanych w programowaniu językach.
Scratch
Obecnie jedna z najbardziej rozpowszechnionych aplikacji do nauki kodowania dla dzieci. Scratch to prosta aplikacja (a nawet język programowania) do kodowania wizualnego, czyli takiego, w którym z kolorowych bloków składamy algorytm. Można za jego pomocą tworzyć proste gry i animacje. Podobno największa liczba pobrań tego programu pochodzi właśnie z Polski, taką przynajmniej informację dostaliśmy w czasie konferencji Bezpieczeństwo Dzieci i Młodzieży w Internecie 2016.
Co bardzo fajne język Scratch pozwala na pisanie aplikacji pozwalających na sterowanie robotami Lego Mindstorms oraz urządzeniami z Arduino, co sprawia, że w tym języku nie tylko napiszemy program komputerowy, ale także zaprogramujemy robota.
Code Mokey (bezpłatna przez 14 dni)
Chyba jedna z prostszych aplikacji webowych przeznaczona dla edukacji wśród najmłodszych. Piszemy prosty kod, który „każe” małpie wykonywać proste czynności. Aplikacja zdecydowanie dla najmłodszych. Przy okazji uczymy się angielskiego, ponieważ nie ma polskiej wersji językowej, ale komunikaty są bardzo proste i zrozumiałe.
Programy dla młodzieży
Aplikacje dla młodzieży można polecać do samodzielnej nauki kodowania przez uczniów, ale można je również wykorzystywać w czasie lekcji. Dlaczego by nie poprosić uczniów, żeby napisali nam jakiś prosty program matematyczny, chemiczny lub fizyczny?
Hacked
To aplikacja przeznaczona jedynie na urządzenia mobilne. Wcielamy się w niej hakerów uczestniczących w jakiejś ważnej misji. W ramach tej misji przechodzimy coraz trudniejsze zadania mające w sobie coś z programowania, ale także z matematyki, ponieważ przechodząc zadania uczymy się na czym polega funkcja matematyczna.
Code Academy
To jedna z najbardziej popularnych platform do profesjonalnego uczenia się programowania. Możemy za jej pomocą poznać HTML & CSS, Python, JavaScript, Java, SQL, Bash/Shell, Ruby. Jak to w takich platformach bywa wraz z przechodzeniem do kolejnych poziomów trudność zadań wzrasta. Całość jest po angielsku, a niektóre kursy są płatne, ale te darmowe w zupełności wystarczą do opanowania podstaw.
Solo Learn
Solo Learn to również bezpłatna platforma z profesjonalnymi kursami uczącymi programowania od podstaw. Znajdziecie tam kursy do: C++, Java, Python, JavaScript, PHP, C#, Ruby, Swift, HTML, jQuery, CSS, SQL. Wszystko jest po angielsku, ale uczniowie bez problemu powinni sobie z tym poradzić.
Lego Mindstorms
Skoro wspomnieliśmy o Scratch to warto wspomnieć również o innym dziele jego twórcy, a mianowicie o zabawkach serii Lego Minstorms. Z zestawów klocków sami możemy konstruować własne roboty, a następnie je programować za pomocą aplikacji dołączonej do zestawu. Możemy używać również wielu aplikacji dostępnych na urządzenia mobilne.
W naszym sklepie znajdziecie bardzo ciekawą meotdę do nauki podstaw programowania: Algorytmy Współpracy. Metoda ta składa się z prostokątnych karteczek, które trzeba w odpowiedni sposób ułożyć, żeby nasz algorytm poprawnie działał, a przy okazji jest to bardzo ciekawa metoda do nauki umiejętności współpracy w zespole.
Koniecznie przeczytaj również:
– Jak uczyć mądrego i bezpiecznego korzystania z Internetu i komputerów? Internetowy Escape Room
– 5 pomysłów jak uczyć dzieci i młodzież programowania [do pobrania]
Znacie jakieś inne aplikacje i pomysły na edukacje w zakresie kodowania i programowania? Zapraszamy do podzielania się w komentarzach.
Opis książki:
Programowanie to nie tylko umiejętność pisania kodu oraz organizowania go w funkcje, procedury i moduły. Nawet najbardziej finezyjne języki i najnowocześniejsze paradygmaty programowania nie zapewnią sukcesu, jeśli projekt aplikacji jest nieprzemyślany, a jej logice brakuje... logiki. Z drugiej strony poświęcenie odrobiny czasu na stworzenie dobrego projektu sprawi, że praca nad pisaniem kodu będzie łatwiejsza, sama aplikacja będzie pracować lepiej i bardziej niezawodnie, a późniejsze modyfikacje i rozwój oprogramowania przysporzą mniej problemów.
Jeśli planujesz napisać swoją pierwszą aplikację, sięgnij po tę książkę. Aby zrozumieć zawartą w niej treść, nie trzeba znać żadnego języka programowania. Pokazano tu, jak działają programy i jak można z ich wykorzystaniem rozwiązywać konkretne zadania. Wiedza o zasadach projektowania jest przekazywana za pomocą pseudokodu i schematów blokowych. Omówiono zarówno podstawowe zagadnienia, takie jak typy danych, zmienne, funkcje, jak i nieco bardziej zaawansowane: programowanie obiektowe, tworzenie graficznych interfejsów użytkownika i pisanie programów sterowanych zdarzeniami. W tym wydaniu książki wprowadzono wiele poprawek i uzupełnień, dotyczących między innymi języków Java, Python i C++ oraz programowania aplikacji dla urządzeń mobilnych.
Dzięki tej książce dowiesz się:
jak działa komputer, czym są programy i do czego służą dane z jakich modułów i struktur składają się programy oraz jak działają funkcje w jaki sposób pracuje się na plikach oraz czym jest przetwarzanie tekstu
czym jest rekurencja i do czego można ją wykorzystać
czym się różni programowanie proceduralne od obiektowego
Bez dobrego projektu zawiedzie najlepszy kod!
O autorze
Tony Gaddis od ponad dwudziestu lat prowadzi kursy informatyczne, głównie w Haywood Community College. Jego talent dydaktyczny był niejednokrotnie doceniany i nagradzany. Gaddis otrzymał między innymi tytuł Nauczyciela Roku na North Carolina Community College oraz nagrodę Teaching Excellence przyznaną przez National Institute for Staff and Organizational Development. Jest autorem i współautorem bardzo cenionych książek dotyczących nauki języków C++, Java, Microsoft
Książka "Projektowanie oprogramowania dla zupełnie początkujących. Owoce programowania" - Tony Gaddis - oprawa twarda - Wydawnictwo Helion. Książka posiada 828 stron i została wydana w 2019 r. Cena 104.37 zł. Zapraszamy na zakupy! Zapewniamy szybką realizację zamówienia.
Kiedy masz wreszcie motywację, aby usiąść do komputera i coś poprogramować, stajesz przed kolejnym wyborem. Tym razem wybór dotyczy programu środowiska Python, w którym będziesz tworzyć kod. W tym artykule przedstawię Ci subiektywną listę najlepszych środowisk do tworzenia kodu w Pythonie.
Przedstawię Ci sposób rozumowania, jakim sam kieruję się podczas wybierania edytora tekstu / IDE, a sam korzystam z wielu środowisk :)
Na wstępie jednak chciałbym zaprosić Cię do polubienia mojego fanpage na Facebooku :)
Jakich środowisku używam?
Podczas pracy korzystam z środowisk:
PyCharm
VS Code
Sublime Text
Jupyter
VIM
IDLE
Testowałem również:
Notepad++
Brackets
Atom
Inne IDE:
Spyder
Thonny
Kryteria wyboru środowiska
Dobierając środowisko programistyczne do projektu kieruję się kilkoma kryteriami.
Głównym kryterium jest wielkość projektu. Do projektu Django, w którym trzeba kontrolować kilka plików wybiorę inne narzędzie, niż do prostego jednoplikowego skrytu.
Wybierając środowisko, biorę również pod uwagę zadanie, które mam w danej chwili do wykonania.
Jeżeli siadam do refaktoryzacji kodu to zdecydowanie wybieram programistyczne IDE, które w znacznie łatwiejszy sposób pomagają mi zapanować nad kodem.
Przejdźmy do omówienia środowisk :)
PyCharm
Najpopularniejsze IDE do Pythona stworzone przez firmę JetBrains.
PyCharm
Narzędzie dystrybuowane jest zarówno w wersji Community (darmowa wersja Open Source) jak i w wersji Professional (płatnej).
PyCharm jest najbardziej zaawansowanym IDE w Pythonie. Posiada wiele narzędzi do refaktoryzacji kodu, graficzny debugger, narzędzie do uruchamiania testów, podpowiedzi składni, kontrole typów.
IDE wspiera również gita, czyli najpopularniejsze narzędzie do kontroli wersji. Z poziomu PyCharma programista może również uruchamiać kod.
Za pomocą lintera podkreśla nam również błędy i niezgodności z PEP 8 oraz pozwala automatycznie sformatować kod.Płatna wersja PyCharma posiada również wsparcie dla web developmentu w Django i Flasku, profiler czy narzędzia bazodanowe.
PyCharm pozwala również na stosunkowo proste zarządzanie środowiskami wirtualnymi. Istnieje również wiele wtyczek i rozszerzeń, które potrafią bardzo ułatwić pracę z kodem.
PyCharm zdecydowanie można nazwać takim IDE “kombajnem”.
Kiedy warto używać PyCharma?
PyCharm zdecydowanie najlepiej nadaje się do dużych projektów, np. projektów w Django.
W łatwy i szybki sposób możemy refaktoryzować kod znajdujący się w wielu plikach, korzystać z podpowiedzi składni.
VS Code
Visual Studio Code to lekkie IDE stworzone przez Microsoft.
VS Code
Największą siłą narzędzia są rozszerzenia, które pozwalają dostosować IDE do praktycznie każdego języka.
W przypadku samego Pythona szczególnie polecam Ci rozszerzenia:
Python – główne rozszerzenie do pisania kodu w Pythonie.
Kite Python – narzędzie do podpowiadania składni i dokumentacji.
Razem z rozszerzeniami VS Code to narzędzie, które dobrze sprawdza się w refaktoryzacji, posiada podpowiedzi składni, narzędzie do debugowania oraz wbudowaną integrację z gitem.
Oczywiście IDE możemy dostosowywać pod siebie, dodając rozszerzenia ułatwiające np. pracę z Dockerem czy markdownem.
Kod Pythona możemy uruchamiać z poziomu IDE.
Kiedy warto używać VS Code?
Dla mnie szczególnie dobrze sprawdza się w przypadku średniej wielkości projektów programistycznych, oraz projektów, w których wykorzystuje się różne technologie i języki.
Jest to znacznie “lżejsze” IDE niż PyCharm, jednak bardzo często będzie zupełnie wystarczającym, szczególnie jeżeli nie dysponujemy płatną wersją PyCharma.
Sublime Text
Sublime Text to jeden z najpopularniejszych edytorów tekstu. Jest to znacznie mniej zaawansowane narzędzie niż PyCharm i VS Code.
Sublime Text
Jako że jest to jedynie edytor tekstu, a nie IDE jesteśmy pozbawieni narzędzi do refaktoryzacji kodu.
Możemy jednak korzystać z całkiem zaawansowanych narzędzi do edycji tekstu, jak na przykład kilku kursorów, pozwalającym nam zmieniać tekst w wielu miejscach.
Z punktu widzenia ważną funkcją edytora jest możliwość zamiany tabulatora na spacje.
Narzędzie możemy pobrać bezpłatnie, jednak w przypadku dłuższego używania będziemy proszeni o kupno licencji, jednak nawet wtedy z narzędzia da się korzystać.
Sublime pozwala na dopasowanie edytora pod siebie. Można również rozszerzyć go między innymi o automatyczne podkreślenia błędów składniowych, jednak sam nie korzystałem z tego rozwiązania.
Nawet tutaj kod Pythona możemy uruchamiać z poziomu programu :)
Kiedy warto używać Sublime Text?
U mnie Sublime najlepiej sprawdza się do prostych projektów niewielkich rozmiarów, szczególnie w przypadku szybkich skryptów, które nie wymagają długiego utrzymywania i rozszerzenia.
Drugim zastosowaniem jest po prostu szybka edycja jakiegoś fragmentu kodu w projekcie. Edytor włącza się bardzo szybko i zapamiętuje otwarte pliki, co w tym wypadku jest całkiem przydatne.
Jupyter
Jupyter to środowisko programistyczne przeznaczone szczególnie do pracy z danymi.
Na projekt Jupyter składają się takie narzędzia jak Jupyter Notebook i JupyterLab.
Jupyter Notebook to narzędzie służące do tworzenia i wykonywania kodu zebranego w bloki. Wynik wykonania bloku zostaje zapisany zaraz pod nim, co bardzo ułatwia pracę na przykład z wieloma wykresami.
Wygląd Jupyter Notebooka
Z tak stworzonego notebooka można w prosty sposób wygenerować atrakcyjny graficznie PDF czy plik HTML.
Jupyter Notebook obsługuje również Markdown.
JupyterLab jest środowiskiem, które pozwala zarządzać notebookami, plikami z kodem czy nawet plikami z danymi (np. w formacie CSV).
Środowisko po uruchomieniu tworzy lokalny serwer, do którego łączymy się za pomocą przeglądarki i z jej poziomu obsługujemy środowisko.
Kiedy warto używać Jupytera?
Jupyter to moim zdaniem zdecydowanie najlepsze środowisko do pracy z danymi, w szczególności jeżeli korzystamy z biblioteki pandas lub rysujemy dużo wykresów.
Notebooki idealnie sprawdzą się również jako raporty.
VIM
Przez jednych uwielbiany, przez drugich znienawidzony :) Z tego miejsca zachęcam Cię do przeczytania mojego wpisu “9 funkcji VIMa, które powinieneś znać”.
VIM
VIM to program szczególnie trudny w obsłudze na samym początku pracy z nim. Wszystkie operacje wykonywane są albo poprzez kliknięcie kombinacji klawiszy, albo wpisanie odpowiedniej komendy.
Niektóre operacje, nawet te często wykorzystywane, mogą być całkiem skomplikowane. Na przykład polecenie służące do zamiany tekstu “print” na “write” wygląda następująco:
1 : % s / print / write / g
Mimo wszystko, VIM jest bardzo zaawansowanym edytorem tekstu, które naprawdę pozwala na wiele jeżeli dobrze się go nauczymy.
Po semestrze pracy z VIMem na studiach potrafiłem osiągnąć bardzo wysokie tempo pracy z tym narzędziem i terminalem.
VIMa możemy również skonfigurować tak, aby podkreślał nam pythonową składnie, czy nawet wskazywał błędy stylistyczne. Więcej możesz przeczytać tutaj :)
Kiedy warto używać VIMa?
W VIMie trudno byłoby tworzyć duży projekt, jednak do prostych jednoplikowych projektów sprawdza się bardzo dobrze :)
Osobiście najczęściej korzystam z VIMa, kiedy zmieniam kod na zewnętrznym serwerze, na przykład na VPSie.
IDLE / konsola Pythona / iPython
IDLE to narzędzie wbudowane w Pythona w systemach Windows. Jednak mam tutaj na myśli samą konsolę REPL, która pozwala szybko wykonywać proste kawałki kodu.
W systemach Linux i Mac (na windowsie też działa) aby uruchomić konsolę wystarczy żeby w terminalu wykonamy polecenie python, python3 bądź python3.7, w zależności od sposobu instalacji.
Uruchomienie konsoli możesz poznać po znaku zachęty “>>>“.
Konsola REPL pozwala na wykonać kod i sprawdzić jego działanie.
Zapomniałeś nazwy wyjątku rzucanego przy wykonywaniu metody na zmiennej o wartości None? Sprawdź to!
1 2 3 4 5 >>> None . lower ( ) Traceback ( most recent call last ) : File "
Alternatywą jest tutaj iPython, który jest ulepszeniem zwykłej konsoli Pythona. iPython jest silnikiem, na którym działa Jupyter.
iPython
Kiedy warto używać konsoli Pythona?
Konsola najpierw sprawdza się do szybkiego sprawdzenia działania krótkiego fragmentu kodu czy metody. W niektórych przypadkach jest to dużo szybsze niż wyszukanie odpowiedniej informacji w dokumentacji.
Jeśli chcesz być na bieżąco z najnowszymi materiałami, polub nasz fanpage na Facebooku:
Podsumowanie
Jakie środowisko wybrać? To zależy tylko i wyłącznie od Ciebie :)
Przedstawiłem Ci tutaj środowiska, z których korzystam już dłuższy czas i z których jestem zadowolony. Wskazałem również kryteria, jakim kieruję się podczas wyboru środowiska do konkretnego zadania.
Jeżeli jesteś na początku swojej drogi to polecam Ci jak najszybciej wybrać jedno z środowisk i od razu zabrać się za naukę :) Dobrym wyborem na początek może być PyCharm lub VS Code, gdyż pomogą Ci wyłapać pewne błędy oraz niedoskonałości stylistyczne kodu.
Dzięki za dotrwanie do końca ;)
Pozdrawiam Cię serdecznie.
Kamil Kwapisz
PS. Pobrałeś już nowego ebooka “Ścieżki rozwoju w Pythonie“? Jeśli nie to kliknij na okładkę ;)
Leave a Comment