CoderDojo Gliwice zaprasza na kolejne programistyczne zajęcia. Nieważne czy jesteś mały czy duży. Nieważne ile masz lat. Ważne, że chcesz się uczyć programowania i technologii. CoderDojo to nie tylko zajęcia z programowania dla dzieci / młodzieży. Tutaj uczysz się myślenia! Dowiadujesz się jak zbudowany jest świat technologii.

Na CoderDojo w Gliwicach zajmowaliśmy się już tyloma rzeczami z dziedziny IT, że aż trudno je zliczyć. Było programowanie gier w RPG Makerze. Tworzyliście muzykę (hymn Polski oraz kolędy) programując w języku Ruby. Mieliście okazję poznać możliwości Arduino i budowaliście programy w C. Na ostatnich zajęciach też nie próżnowaliście.

Poprzednie zajęcia

Krótkie przypomnienie tematyki ostatnich zajęć CoderDojo Gliwice oraz zdjęcia:

  • wprowadzenie do kryptografii - szyfrowania wiadomości
  • programowanie w Pythonie - struktury danych tj. listy, słowniki
  • programowanie gry w C# - gra w kółko i krzyżyk

Jakby co wszystko jest w artykule CoderDojo Gliwice - 2019-01.

Zdjęcia z CoderDojo Gliwice #3

Zajęcia z programowania dla dzieci i młodzieży - CoderDojo Gliwice z dnia 09-02-2019

Tematy na CoderDojo Gliwice

Gry czasu rzeczywistego w C#

Logo MonoDevelop

Czwarta część zajęć z programowania w języku C#. Po świecie interaktywnej rozrywki oprowadzi Was game developer Grzegorz. Na poprzednich zajęciach utworzyliśmy grę turową - kółko i krzyżyk. Przy okazji poznaliście na czym polega tworzenie obiektów, pisanie metod oraz jak wykorzystywać tablice. Na następnych zajęciach CoderDojo zapoznamy się z tworzeniem gier czasu rzeczywistego oraz pisaniem własnych klas. 🎮

Zajęcia rozpoczniemy od powtórki. Przypomnimy sobie czym jest główna pętla gry. Następnie zmodyfikujemy ją tak aby odpowiadała grze czasu rzeczywistego, a nie turowej. Utworzymy własne klasy odpowiadające za gracza, logikę gry oraz renderowanie. Grą, którą będziemy tworzyć na tych zajęciach będzie Snake. 🐛

Wymagania:

  • Ściągnij i zainstaluj MonoDevelop - darmowe środowisko do programowania w C# i językach platformy .NET. Program dostępny jest na system Windows, Linux i Mac OS.

Szyfry od postaw - tajne przez poufne

Wykres częstotliwości występowania liter w języku polskim

Ostatnim razem programiści Agnieszka i Alek wprowadzili Was do tematu kryptografii. Poznaliście bardzo podstawowe rodzaje szyfrów. Były to szyfry podstawieniowe, czyli takie gdzie zamienia się jedne litery na inne. Mieliście okazję szyfrować / rozszyfrowywać wiadomości używając szyfru Cezara oraz monoalfabetycznych szyfrów harcerskich z kluczem. Jako klucze do szyfrowania użyliśmy:

  • GA-DE-RY-PO-LU-KI
  • PO-LI-TY-KA-RE-NU
  • KO-NI-EC-MA-TU-RY

Takie klucze można zbudować samemu lub znaleźć w Internecie. Ważne jest to, aby litery w kluczu były unikatowe. Aby lepiej zrozumieć na czym polegają te szyfry kodowaliśmy teksty na kartkach. Następnie jak przystało na prawdziwych agentów wymienialiśmy się tajnymi wiadomościami i próbowaliśmy swoich sił w rozszyfrowywaniu. Ręczne dekodowanie nie było łatwe. Zwłaszcza jeżeli nie zna się klucza szyfrującego. Oczywiście później cały proces kryptograficzny zautomatyzowaliśmy. Powstały m.in takie proste skrypty w Ruby:

# Klucze: GADERYPOLUKI | POLITYKARENU | KONIECMATURY | NOWEBUTYLISA
klucz = "GADERYPOLUKI"
tekst = "ZASZYFRUJ MNIE"
zaszyfrowany = ""

def szyfruj_litere(litera, klucz)
  indeks = klucz.index(litera)
  return litera unless indeks
  klucz[indeks.even? ? indeks + 1 : indeks - 1]
end

tekst.each_char do |litera|
  zaszyfrowany << szyfruj_litere(litera, klucz)
end

puts zaszyfrowany

Poznaliście również alfabet Morse’a. Jego zastosowanie oraz sposoby nadawania. Było ćwiczenie praktyczne z odczytywania wiadomości na odległość przy użyciu alfabetu Morse’a. Niektórzy ninja napisali nawet programy zamieniające treść wiadomości na kropki i kreski. A Ci co nie zdążyli dostali zadanie domowe. Jakbyście chcieli to alfabetu Morse’a możecie się nauczyć korzystając z aplikacji od Google.

Przed nami kolejne, znacznie trudniejsze zajęcia. Pamiętacie rozszyfrowanie wiadomości jak nie znaliście klucza? Pokażemy Wam podstawy kryptoanalizy statystycznej. Wiemy, że brzmi to strasznie, ale to zwykła matematyka. W dodatku użyjemy do tego celu zwykłych ułamków (ewentualnie procentów) i obrazka zamieszczonego na początku tekstu o szyfrach. Zobaczycie jak można łamać szyfry i dobrze się przy tym bawić. 🗝️

Wymagania:

  • Podstawowa znajomość matematyki - ułamki
  • Dowolny kompilator / interpreter do języka programowania, który znacie i lubicie.
  • Zachęcamy do ściągnięcia i zainstalowania interpretera języka Ruby. Nie pożałujecie, ponieważ Ruby jest łatwym do nauki i przyjemnym w czytaniu obiektowym językiem programowania. Sami zawodowo programujemy w Ruby.

Python nie taki straszny, ale na maturze

Logo Python

Zajęcia prowadzone przez mentora Darka 🧔 będą dotyczyły przede wszystkim programowania w Pythonie. Podstawy tego języka ninja mają już za sobą. Teraz czas na naprawdę trudne tematy. Będą zadania maturalne z informatyki. Ich rozwiązania będą realizowane przy użyciu Pythona. Zapowiada się naprawdę ciężka praca! Nie ma zmiłuj się. 🐍

Wymagania:

  • Ściągnij i zainstaluj Pythona - dynamiczny, obiektowy język programowania. Python można uruchomić na różnych platformach i jest w pełni darmowy.

Podobają Wam się nasze programistyczne plany? Mamy nadzieję, że tak. Nie bójcie się wyrażać swoich opinii zarówno poniżej w komentarzach jak i w social mediach. Jeżeli macie własne propozycje tematów to również piszcie. Chcemy aby CoderDojo w Gliwicach było najlepszym dojo w Polsce.

Informacje organizacyjne

Jeśli macie jakieś pytania organizacyjne to przeczytajcie proszę dział FAQ - często zadawane pytania.

Czas zajęć ⏰

09.02.2019 (sobota) od 09:00 do 12:00

Miejsce zajęć 🏢

Gliwickie Centrum Organizacji Pozarządowych
ul. Zwycięstwa 1/1
44-100 Gliwice

Trzeba wejść na II piętro, skręcić w prawo i iść wzdłuż korytarza.

Mapa dojazdu do GCOP (Gliwice, ul. Zwycięstwa 1)


Spodobało Ci się? Napisz nam o tym i czytaj nas regularnie. Możesz również podzielić się tym artykułem z innymi (Facebook, Twitter). Będzie nam niezmiernie miło.

Zostaw komentarz