Algorytmika i programowanie

Programowanie w Pythonie z Klubem Młodego Programisty – poziom średnio zaawansowany

Szkoła ponadpodstawowa, Nauczyciele

W dzisiejszych czasach programowanie to umiejętność, która może dać nam wiele możliwości. Python jest jednym z wiodących języków programowania. Według corocznych ankiet prowadzonych przez serwis Stack Overflow od kilku lat utrzymuje się w ścisłej czołówce najbardziej pożądanych języków wśród programistów. Kontynuuj naukę Pythona z Klubem Młodego Programisty.

Czego się nauczysz

  • zapoznanie z językiem programowania Python, sposobem jego uruchamiania
  • zapoznanie ze środowiskiem PyCharm Community – IDE (Integrated Development Environment) dla Pythona
  • poznanie zaawansowanych struktur danych na przykładzie listy, słowników: list i dict
  • doskonalenie umiejętności programistycznych: definiowanie metod w programowaniu obiektowym; tworzenie interfejsów graficznych, bazując na module PySimpleGUI; poznawanie sposobów tworzenia rekurencyjnych funkcji na przykładzie ciągu Fibonacciego
  • wykorzystywanie potencjału bibliotek standardowych języka Python na przykładzie hashlib
  • wykorzystanie biblioteki matplotlib do tworzenia wykresów

Program kursu

  • Podstawy – skąd pobrać i jak zainstalować PyCharm Community w Linux/Windows
    • Instalacja w systemie Windows 10 ze strony JetBrains
    • Instalacja w systemie Ubuntu 20.04 za pomocą aplikacji Ubuntu Store
  • Listy – obliczanie ciągu Fibonacciego
    • Metoda iteracyjna
    • Metoda rekurencyjna
  • Szyfr Cezara i kod Morse'a – jak utajnić korespondencję, słowniki w Pythonie
    • string jako kolekcja elementów string
    • Kody ASCII i obliczanie szyfru Cezara przestawieniowo
    • Alfabet Morse'a i kodowanie znaków za pomocą odwołań do kluczy słownika
  • Programowanie obiektowe – wprowadzenie do tworzenia klas
    • Sposoby definiowania klas i obiektów w języku Python
    • Konstruktor __init__ i destruktor __del__
    • Właściwości klas, obiektów
    • Metody, definiowanie i wykonywanie
  • Szyfrowanie metodą przestawieniową – GADERY-POLUKI i inne harcerskie szyfry z wykorzystaniem programowania obiektowego
    • Definicja klasy z odpowiednimi właściwościami i metodami
    • Przykład szyfrowania z wykorzystaniem takiej klasy
  • Wykorzystanie modułów standardowych do weryfikacji poprawności przesyłanych informacji
    • Definicja klasy z odpowiednimi właściwościami i metodami
    • Przykład wpisania wiadomości i weryfikacji z wykorzystaniem takiej klasy
  • Wykorzystanie modułów zewnętrznych do budowania aplikacji okienkowych: PySimpleGUI – przykład użycia kodu z lekcji 5 oraz 6 do zbudowania pełnej aplikacji
    • Budowa aplikacji desktopowej z wykorzystaniem PySimpleGUI
    • Importowanie wcześniej zbudowanego kodu do wykorzystania w aplikacji
  • Wykorzystanie modułów zewnętrznych – Matplotlib – obliczanie funkcji, rysowanie wykresów
    • Rozwiązywanie układu równań metodą wyznaczników (0145)
    • Wyznaczanie miejsca zerowego funkcji ciągłej metodą bisekcji (0210)
  • Wykorzystanie modułów zewnętrznych – Matplotlib – wizualizacja danych na przykładzie ruchów Browna
    • Obliczanie kolejnych współrzędnych losowych dla punktu
    • Wyznaczanie na wykresie drogi przebytej w czasie oraz zaznaczanie punktów początkowych i końcowych
  • Analiza danych wczytywanych z plików tekstowych
    • Weryfikacja liczb zaprzyjaźnionych
    • Poszukiwania liczb bliźniaczych
    • Obliczanie najdłuższego spójnego ciągu rosnącego w zbiorze danych

Opis kursu

Celem kursu jest wprowadzenie młodych ludzi w bardziej złożone zagadnienia programowania w języku Python, który wykorzystują zarówno światowe korporacje, jak i adepci kodowania. Python to język programowania ogólnego przeznaczenia, którego składnia jest zbliżona do naturalnego języka. Często używa się go jako języka skryptowego (gdzie wykonywany program występuje w wersji źródłowej) i uruchamia na serwerach. Python jest dostępny na wiele systemów operacyjnych, wykorzystuje się go m.in. w urządzeniach gromadzących i przetwarzających dane, jak np. inteligentny budynek czy stacje pogodowe.

Młodzież w szkole ponadpodstawowej oczekuje atrakcyjnych, jednak zgodnych z podstawą programową treści. W kursie uczymy kodowania w języku Python, za pomocą którego tworzymy aplikację desktopową, a także moduł do tworzenia wykresów. Omawiamy m.in. szyfr Cezara oraz modelowanie, które realizują treści szczegółowe podstawy programowej z informatyki. W kursie dostępne są również treści z poziomu rozszerzonego, takie jak np. symulacja ruchów Browna oraz obliczanie najdłuższego spójnego ciągu rosnącego w zbiorze danych.

Cechy języka Python:

  • składnia maksymalnie zbliżona do języka naturalnego;
  • dynamiczne typowanie zmiennych – pozwala szybko tworzyć programy;
  • język dostępny dla: Windows, Linux, MacOS i wielu innych systemów operacyjnych;
  • OpenSource – bezpłatny, dostępny dla każdego;
  • język skryptowy, interpretowany – ten sam kod działa w 95% na wszystkich systemach operacyjnych identycznie;
  • dostępne są dla niego rozszerzenia w postaci modułów.

Wybierając język do nauki programowania, należy kierować się wiekiem i możliwościami rozwojowymi ucznia. Kurs „Programowanie w Pythonie z Klubem Młodego Programisty – poziom średnio zaawansowany” przeznaczony jest zarówno do indywidualnej nauki w domu, jak i do realizacji w formie lekcji. Materiał można wykorzystać w ramach zajęć z informatyki w klasach 1–5 szkoły ponadpodstawowej (z uczniami w wieku 15–19 lat), do udziału w nich zachęcamy też uczestników kursu „Programowanie w Pythonie z Klubem Młodego Programisty – poziom podstawowy”.

Uwaga! Jeśli szukasz kursu dla młodszego dziecka lub dopiero zaczynasz przygodę z kodowaniem, zajrzyj do kursów z serii „Programowanie w Scratch z Klubem Młodego Programisty” dostępnych w zakładce Algorytmika i Programowanie. Na platformie OSE IT Szkoła dostępny jest także kurs Pythona dla młodszych uczniów „Programowanie w Pythonie z Klubem Młodego Programisty – poziom podstawowy”, będący wprowadzeniem do tego materiału.

Kurs rozpoczynamy od instalacji środowiska IDE PyCharm w Linux lub Windows. Chcesz się dowiedzieć, jak zainstalować Pythona? Niezbędne informacje na ten temat znajdziesz w kursie „Programowanie w Pythonie z Klubem Młodego Programisty – poziom podstawowy”. Dzięki zawartym tam materiałom nauczysz się też pisać proste skrypty/programy w środowisku IDLE.

W kursie „Programowanie w Pythonie z Klubem Młodego Programisty – poziom średnio zaawansowany” skupimy się natomiast na projektach, które mogą być inspiracją dla różnych działań programistycznych. Wprowadzimy programowanie obiektowe, nie omawiając już przy tym tych konstrukcji, które pojawiły się w podstawowej części kursu. Wykorzystamy różne biblioteki/moduły dostępne dla wszystkich na licencjach open source, aby szybko budować aplikacje: desktopowe (a więc okienkowe, działające w systemie operacyjnym komputera stacjonarnego) oraz w technologii web (działające jako strony internetowe).

W tym kursie nie tłumaczymy kolejny raz podstaw składni języka, która została przedstawiona w modułach 1–5 kursu podstawowego, ale rozszerzamy zawarte tam informacje. We wszystkich materiałach korzystamy z różnych konstrukcji programistycznych (pętle, bloki kodu, definicje funkcji itd.) i zasad języka Python, o których mówimy w materiale przeznaczonym dla uczniów szkoły podstawowej. Jeśli odbiorcy tego kursu nie mieli wcześniej doświadczenia z programowaniem w Pythonie, zachęcamy do rozpoczęcia nauki od kursu podstawowego. Bez znajomości podstaw, które są tam omawiane, zrozumienie zagadnień prezentowanych w kursie rozszerzonym będzie trudne.

Kurs składa się z dziesięciu 40-minutowych modułów. Każdy z nich poszerza zdobyte wcześniej umiejętności, jest kontynuacją i rozwinięciem poprzednich treści. Filmy, które stanowią główne materiały dydaktyczne, można podczas kursu w dowolnym momencie stopować i odtwarzać, a także wielokrotnie wracać do trudniejszych lub ciekawszych treści.

Kurs prowadzony jest przez trenera z wieloletnim doświadczeniem w pracy zarówno z młodzieżą, jak i nauczycielami. Materiał uzupełniony został o poradnik metodyczny dla nauczycieli i rodziców. Na zakończenie można rozwiązać test sprawdzający wiedzę, którego zaliczenie uprawnia do pobrania imiennego certyfikatu.

 

Kody źródłowe

Dla uczestników kursu przygotowaliśmy repozytorium w serwisie GitHub, które zawiera wszystkie kody źródłowe używane w naszych lekcjach.

 

Klub Młodego Programisty

Kluby Młodego Programisty, czyli punkty warsztatowe z nauką programowania działające pod patronatem Ministerstwa Cyfryzacji (obecnie KPRM) i Państwowego Instytutu Badawczego NASK, powstały w październiku 2018 r. i były zlokalizowane w 16 miastach w Polsce. W maju 2020 r. z uwagi na sytuację epidemiologiczną stacjonarne zajęcia przenieśliśmy do sieci, tworząc nową edycję akcji – Klub Młodego Programisty online.

Przekonaliśmy się wtedy, jaką siłę oddziaływania ma internet! W związku z dużym zainteresowaniem dwiema edycjami warsztatów postanowiliśmy wykorzystać scenariusze wypracowane w ramach webinarów i przygotowaliśmy kolejną odsłonę klubów –programowanie w Scratch z Klubem Młodego Programisty na platformie OSE IT Szkoła.

Duża popularność kursów zachęciła nas do przygotowania kolejnych cyklów spotkań z programowaniem, tym razem skierowanych do nieco starszych uczestników – uczniów ostatnich klas szkół podstawowych oraz szkół ponadpodstawowych, czyli kursów programowania w Pythonie z Klubem Młodego Programisty. Są one dostępne na dwóch poziomach: podstawowym i średnio zaawansowanym.

Kluby są elementem projektu „Kampanie edukacyjno-informacyjne na rzecz upowszechniania korzyści z wykorzystania technologii cyfrowych” realizowanego przez KPRM i NASK.

 

O trenerze

Adam Jurkiewicz – trener języka programowania Python, robotyki, mechatroniki, technologii komputerowych. Autor licznych scenariuszy i materiałów dydaktycznych, w tym do nauki zdalnej, artykułów oraz książek. Twórca portalu będącego wsparciem dla nauczycieli informatyki i pomocą w oswajaniu Pythona w szkołach. Laureat „Listy 100” mającej na celu uhonorowanie osób szczególnie zasłużonych dla podnoszenia kompetencji cyfrowych w naszym kraju.

Podobne kursy

Algorytmika i programowanie

Różnorodne algorytmy obliczeń i ich komputerowe realizacje

Szkoła ponadpodstawowa, Nauczyciele

Celem kursu jest przekazanie uczestnikom wiedzy dotyczącej m.in. algorytmów wyznaczania: dziesiętnej i binarnej reprezentacji liczb, obliczania wartości wielomianu, największego wspólnego dzielnika dwóch liczb (algorytm Euklidesa) oraz wartości potęgi.

Algorytmika i programowanie

Do czego można wykorzystać język Javascript?

Szkoła ponadpodstawowa, Nauczyciele

Kurs przedstawia możliwości języka JavaScript (JS). Wykorzystaj go do wzbogacania stron i serwisów www o elementy interaktywne i graficzne.

Algorytmika i programowanie

Czy wszystko można policzyć na komputerze?

Szkoła ponadpodstawowa, Nauczyciele

Kurs wprowadza do zagadnienia złożoności problemów i algorytmów ich rozwiązywania.

Algorytmika i programowanie

Język językowi nierówny

Szkoła ponadpodstawowa, Nauczyciele

Kurs przedstawia wybrane aspekty lingwistyczne oraz nakreśla w sposób uproszczony i subiektywny zagadnienia ewolucji języków programowania.

Algorytmika i programowanie

Algorytmika internetu

Szkoła ponadpodstawowa, Nauczyciele

Kurs omawia najważniejsze fakty dotyczące historii algorytmów i rozwoju internetu.

Algorytmika i programowanie

Między programowaniem a wnioskowaniem

Szkoła ponadpodstawowa, Nauczyciele

Kurs przekazuje wiedzę z zakresu podstaw języka Prolog oraz języków zapytań.

Algorytmika i programowanie

Algorytmy poszukiwania i porządkowania. Elementy języka programowania

Szkoła ponadpodstawowa, Nauczyciele

Kurs przekazuje wiedzę z zakresu algorytmiki i programowania.

Algorytmika i programowanie

Proste rachunki wykonywane za pomocą komputera

Szkoła ponadpodstawowa, Nauczyciele

Kurs przekazuje wiedzę na temat obliczeń wykonywanych za pomocą komputera.

Algorytmika i programowanie

Przegląd podstawowych algorytmów

Szkoła ponadpodstawowa, Nauczyciele

Kurs omawia techniki budowania algorytmów. Uczestnicy zapoznają się z informacjami na temat programowania dynamicznego, rekurencji, strategii zachłannych.

Algorytmika i programowanie

Techniki algorytmiczne przybliżone i dokładne

Szkoła ponadpodstawowa, Nauczyciele

Kurs umożliwia poszerzenie wiedzy z zakresu algorytmiki i programowania. Wprowadza podstawowe pojęcia oraz definiuje różnorodne techniki algorytmiczne.

Algorytmika i programowanie

Wprowadzenie do algorytmiki i programowania – wyszukiwanie i porządkowanie informacji

Szkoła ponadpodstawowa, Nauczyciele

Kurs dotyczy podstawowych zagadnień związanych z algorytmiką i programowaniem. Dowiedz się, jak rozwiązywać problemy w postaci algorytmów i implementować je w językach Pascal i C++.

Algorytmika i programowanie

Struktury danych i ich zastosowanie

Szkoła ponadpodstawowa, Nauczyciele

Kurs ma na celu zapoznanie uczestników z różnymi strukturami danych oraz ich zastosowaniem.

Algorytmika i programowanie

Znajdowanie najkrótszych dróg i najkrótszych oraz najniższych drzew

Szkoła ponadpodstawowa, Nauczyciele

Kurs zapoznaje z elementami teorii grafów i obliczeń na grafach. Dowiesz się z niego, jak stosuje się grafy w informatyce (np. drzewa wyrażeń, drzewa algorytmów) oraz nauczysz się rozwiązywać klasyczne problemy obliczeniowe z ich wykorzystaniem.

Algorytmika i programowanie

Porządek wśród informacji kluczem do szybkiego wyszukiwania

Szkoła ponadpodstawowa, Nauczyciele

Kurs jest wprowadzeniem do algorytmiki. Zakres tematyczny obejmuje poszukiwania elementów w zbiorach nieuporządkowanych i uporządkowanych oraz problem porządkowania.

Algorytmika i programowanie

O relacjach i algorytmach

Szkoła ponadpodstawowa, Nauczyciele

Kurs przekazuje uczestnikom wiedzę na temat relacji dwuczłonowych i sposobów ich reprezentacji w postaci macierzy lub grafu.

Algorytmika i programowanie

Jak wnioskują maszyny

Szkoła ponadpodstawowa, Nauczyciele

Kurs dotyczy wprowadzenia do logiki z perspektywy jej zastosowań w informatyce i sztucznej inteligencji. Poznaj klasyczny rachunek zdań i związek między wyszukiwaniem a wnioskowaniem.

Algorytmika i programowanie

Po co informatykom logika?

Szkoła ponadpodstawowa, Nauczyciele

Kurs omawia zagadnienia związane z logiką oraz wykorzystaniem logiki w informatyce.

Algorytmika i programowanie

Fraktale wokół nas

Szkoła ponadpodstawowa, Nauczyciele

Celem kursu jest zapoznanie uczestników z tematem fraktali oraz omówienie zagadnień matematycznych dotyczących podobieństwa i samopodobieństwa figur.

Algorytmika i programowanie

Programowanie współbieżne w informatyce i nie tylko

Szkoła ponadpodstawowa, Nauczyciele

Kurs omawia najważniejsze zagadnienia dotyczące programowania współbieżnego.

Algorytmika i programowanie

Mechaniczne dowodzenie twierdzeń

Szkoła ponadpodstawowa, Nauczyciele

Kurs porusza zagadnienia dotyczące automatycznego dowodzenia twierdzeń. Uczestnicy omówią również podstawy dotyczące logiki zdań.

Algorytmika i programowanie

Zaawansowane algorytmy

Szkoła ponadpodstawowa, Nauczyciele

Kurs pomoże uczestnikom w zgłębianiu najtrudniejszych zagadnień algorytmicznych, które pojawiają się na konkursach informatycznych.

Algorytmika i programowanie

Pomysł, przepis, program… i co dalej?

Szkoła ponadpodstawowa, Nauczyciele

Kurs przekazuje uczestnikom wiadomości dotyczące algorytmu wydawania reszty.

Algorytmika i programowanie

Strukturalnie czy obiektowo – czyli droga do sukcesu

Szkoła ponadpodstawowa, Nauczyciele

Kurs obejmuje treści w zakresie programowania obiektowego – przybliża jego cechy oraz podstawowe pojęcia, takie jak klasa, obiekt, konstruktor, modyfikator dostępu, hermetyzacja.   

Algorytmika i programowanie

Razem można więcej – podstawy pracy zespołowej

Szkoła ponadpodstawowa, Nauczyciele

Kurs przedstawia informacje związane z wykorzystywanymi w procesie tworzenia systemów informatycznych narzędziami CASE oraz z językiem UML.

Algorytmika i programowanie

Podstawy programowania okienkowego w środowisku Visual Studio

Szkoła ponadpodstawowa, Nauczyciele

Kurs dotyczy podstaw programowania okienkowego w środowisku Visual Studio oraz programowania obiektowego. Poznaj język C# i dowiedz się, jak rozwiązywać problemy programistyczne.

Algorytmika i programowanie

Wprowadzenie do programowania obiektowego

Szkoła ponadpodstawowa, Nauczyciele

Kurs stanowi wprowadzenie do obiektowego modelu programowania z przykładami w języku C#. Poznaj istotne elementy tego popularnego języka programowania.

Algorytmika i programowanie

Podstawy języka Python

Szkoła ponadpodstawowa, Nauczyciele

Kurs wprowadza użytkownika w świat języka Python, pozwalającego tworzyć zaawansowane aplikacje dla różnych systemów operacyjnych.

Algorytmika i programowanie

Tworzenie aplikacji mobilnych

Szkoła ponadpodstawowa, Nauczyciele

Kurs zawiera informacje teoretyczne i praktyczne na temat tworzenia aplikacji kalkulatora dla systemu Android.

Algorytmika i programowanie

Podstawy analizy danych w języku Python

Szkoła ponadpodstawowa, Nauczyciele

Celem kursu jest omówienie podstawowych zagadnień związanych z analizą danych w języku Python.

Algorytmika i programowanie

Programowanie w Scratch Junior z Klubem Młodego Programisty

Szkoła podstawowa, Nauczyciele

(klasy I–III, rodzice)

Kurs jest pierwszym krokiem w nauce programowania. Uczestnicy poznają możliwości aplikacji Scratch Junior i stworzą w niej swoje pierwsze programy. Nauczą się wykonywać animacje, kartki okolicznościowe i proste gry zręcznościowe. Przekonają się też, że programowanie to sposób na kreatywne spędzenie czasu.

Algorytmika i programowanie

Programowanie w Scratch 3.0 z Klubem Młodego Programisty

Szkoła podstawowa, Nauczyciele

(klasy IV–VI, rodzice)

Kurs uczy programowania blokowego od podstaw. Uczestnicy zapoznają się z funkcjonalnościami aplikacji Scratch 3.0 i stworzą w niej swoje pierwsze programy (animacje, gry zręcznościowe, gry przygodowe). Nauczą się wykorzystywać konstrukcje warunkowe, pętle, zmienne i funkcje podczas tworzenia programów. Poznają też zasady remiksowania projektów.

Algorytmika i programowanie

Programowanie w Pythonie z Klubem Młodego Programisty – poziom podstawowy

Szkoła podstawowa, Nauczyciele

W dzisiejszych czasach programowanie to umiejętność, która może dać nam wiele możliwości. Python jest jednym z wiodących języków programowania. Według corocznych ankiet prowadzonych przez serwis Stack Overflow od kilku lat utrzymuje się w ścisłej czołówce najbardziej pożądanych języków wśród programistów. Poznaj podstawy Pythona z Klubem Młodego Programisty.

Algorytmika i programowanie

Programowanie w Pythonie z Klubem Młodego Programisty – poziom średnio zaawansowany

Szkoła ponadpodstawowa, Nauczyciele

W dzisiejszych czasach programowanie to umiejętność, która może dać nam wiele możliwości. Python jest jednym z wiodących języków programowania. Według corocznych ankiet prowadzonych przez serwis Stack Overflow od kilku lat utrzymuje się w ścisłej czołówce najbardziej pożądanych języków wśród programistów. Kontynuuj naukę Pythona z Klubem Młodego Programisty.

Algorytmika i programowanie

Python z KMP na CodeWeek 2022 – poziom podstawowy

Szkoła podstawowa, Szkoła ponadpodstawowa, Nauczyciele

Język obiektowy Python to jeden z popularnych języków programowania, który ciągle zyskuje nowe zastosowania w dziedzinie informatyki, a specjaliści coraz częściej dostrzegają jego potencjał. Dlatego właśnie na CodeWeek przygotowaliśmy propozycję dotyczącą Pythona.

Algorytmika i programowanie

Python z KMP na CodeWeek 2022 – poziom średnio zaawansowany

Szkoła ponadpodstawowa, Nauczyciele

Język obiektowy Python to jeden z popularnych języków programowania, który ciągle zyskuje nowe zastosowania w dziedzinie informatyki, a specjaliści coraz częściej dostrzegają jego potencjał. Dlatego właśnie na CodeWeek przygotowaliśmy propozycję dotyczącą Pythona.

Algorytmika i programowanie

Scratch Junior z KMP na CodeWeek 2022

Szkoła podstawowa, Szkoła ponadpodstawowa, Nauczyciele

Moduł jest rozwinięciem kursu „Programowanie w Scratch Junior z Klubem Młodego Programisty”. Dzięki materiałowi uczniowie jeszcze lepiej poznają możliwości aplikacji Scratch Junior i stworzą w niej zegar przypominający, że CodeWeek może trwać cały rok. Nauczą się wykonywać animację z dźwiękami i przekonają się, że kodowanie to sposób na kreatywne spędzenie czasu.

Algorytmika i programowanie

Scratch 3.0 z KMP na CodeWeek 2022

Szkoła ponadpodstawowa, Nauczyciele

Moduł „CodeWeek i Scratch 3.0 – codeweekowa gra przygodowa” to rozwinięcie kursu „Programowanie w Scratch 3.0”. Uczestnicy przypomną sobie funkcjonalności programu Scratch 3.0, a następnie stworzą grę przygodową nawiązującą do inicjatywy CodeWeek. Nauczą m.in. się wykorzystywać konstrukcje warunkowe, pętle oraz zmienne podczas tworzenia programów.

Informacje o kursie

Programowanie w Pythonie z Klubem Młodego Programisty – poziom średnio zaawansowany

Szkoła ponadpodstawowa, Nauczyciele

Algorytmika i programowanie

Elementy składowe kursu