Choinka programisty Ruby
Czy programiści Ruby 💎 programują swoje choinki 🎄 święteczne?
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:
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:
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:
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:
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.
Jeśli macie jakieś pytania organizacyjne to przeczytajcie proszę dział FAQ - często zadawane pytania.
09.02.2019 (sobota) od 09:00 do 12:00
Trzeba wejść na II piętro, skręcić w prawo i iść wzdłuż korytarza.
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