fbpx

Kurs C++ online – podsumowanie maja

Mija maj i zarazem pierwszy etap naszego kursu C++ online. Postanowiłem napisać małe podsumowanie, jak wyglądał on z mojej perspektywy.

Platforma kursu

Platforma, na której uczestnicy mają dostęp do wszystkich lekcji, posiadała w momencie rozpoczęcia minimalną wymaganą funkcjonalność (osoby znające temat agile nazwą to MVP – Minimum Viable Product).

    • lekcje
    • quizy
    • śledzenie postępów
    • grywalizacja
        • punkty
        • osiągnięcia (jeszcze nieskonfigurowane)
        • poziomy
        • nagrody (tylko wstępnie skonfigurowane)
        • ranking
    • integracja z GitHubem
        • Pull Requesty
        • Code Review
        • Issues

W międzyczasie starałem się dodawać nowe funkcjonalności i ulepszać platformę. Szybko okazało się, że nie mam aż tyle czasu. Co 100 par oczu to nie jedna. Uczestnicy kursu bardzo skrupulatnie wyłapują wszystkie błędy i jak na model open-source przystało zgłaszają je jako Issue na GitHubie. Samo zarządzanie Issues oddelegowałem i zajmuje się nim Paweł, jeden z kursantów. To on przypisuje zgłoszeniom odpowiednie priorytety i kategorie. Jeśli coś wymaga mojej uwagi lub działania to dowiem się o tym od niego 🙂 Jeśli nie wymaga, to błąd mogą naprawić sami uczestnicy kursu zgłaszając odpowiedni Pull Request. Jestem bardzo dumny z ich postawy oraz wdzięczny za okazaną pomoc. Sam nie byłbym w stanie dobrze tego ogarniać.

Przy aż tylu zaangażowanych osobach udaje nam się także wykrywać błędy w samych silnikach platformy, które oczywiście zgłaszamy do ich twórców 😃.

Dalsze prace nad platformą

    • konfiguracja osiągnięć (czerwiec)
    • konfiguracja nagród (czerwiec)
    • zautomatyzowane przyznawanie punktów za prace domowe po Code Review jednego z trenerów (czerwiec)
    • zautomatyzowane przyznawanie punktów za prace domowe po określonej liczbie zatwierdzeniach przez innych uczestników (lipiec)

Zmiana harmonogramu kursu

Staram się reagować szybko na potrzeby uczestników. Wspólnie podejmowaliśmy decyzje, że dla nich nauka będzie bardziej owocna, jeśli pozamieniamy miejscami tematykę naszych spotkań. Wstępnie zaproponowany przeze mnie układ lekcji w maju był taki:

DataTematyka
11.05 (pn)Intro: organizacja kursu, zaproszenie na platformę, formalności, Visual Studio Code, repl.it, GitHub
14.05 (cz)Podstawy #1: typy wbudowane i auto, funkcje, instrukcje warunkowe, pętle, tablice
18.05 (pn)Podstawy #2: std::string, std::vector<T>, std::map<K, V>, range based for loop
21.05 (cz)Podstawy #3: zasięg zmiennych, referencja i wskaźnik, enum i enum class
25.05 (pn)Narzędzia #1: linux – linia komend, vim
28.05 (cz)Narzędzia #2: git, GitHub

Ostatecznie wyglądało to tak:

Data          Tematyka
11.05 (pn)Intro: organizacja kursu, zaproszenie na platformę, formalności, Visual Studio Code, repl.it, GitHub
14.05 (cz)Podstawy #1: typy wbudowane i auto, funkcje, instrukcje warunkowe, pętle, tablice
18.05 (pn)Narzędzia #1: linux – linia komend, git
21.05 (pn)Podstawy #2: std::string, std::vector<T>, std::list<T>, std::map<K, V>, range based for loop
25.05 (cz)Narzędzia #2: git – konflikty, GitHub, vim, kompilacja
28.05 (cz)Podstawy #3: zasięg zmiennych, referencja i wskaźnik, enum i enum class

Uczestnikom wygodniej było jednocześnie poznawać narzędzia – głównie oswajać się z linuxem i gitem mogąc od razu praktykować pisanie w C++. Kolejność kolejnych lekcji też będzie zmieniona 😃.

Discord

Serwer Coders School na Discordzie jest bardzo aktywnie użytkowany. Uczestnicy stanowią świetną społeczność, która pomaga sobie nawzajem, w większym stopniu, niż przypuszczałem. Wspólna nauka w grupie i wspólne rozwiązywanie problemów jest bardzo motywujące. To tak samo jak chodzenie na siłownię. Samemu jest mniejsza motywacja, niż chodząc z kimś razem. Dzięki uczestnikom powstało kilka nowych kanałów do rozmów, w tym kanały „integracyjne” 😃. Dzięki możliwości stosowania języka Markdown Discord świetnie się sprawdza przy wklejaniu kodu. Zawsze jest on fajnie sformatowany i pokolorowany.

YouTube

Na kanał Coders School na YT 2 razy w tygodniu trafia nowe nagranie naszych zajęć online. Nie są one publicznie dostępne, aby kursanci mogli czuć się bardzo swobodnie i mogli zadawać na czacie pytania o wszystko. Podoba mi się panujący tam klimat. Podczas lekcji jest bardzo dużo pytań, które świetnie uzupełniają to, co jako trenerzy przygotowaliśmy. Nie zamierzamy zmieniać tej platformy, choćby po to, aby umożliwić komunikację głosową z uczestnikami. Przy tylu osobach ciężko by było nad wszystkimi zapanować 😀. Od razu mamy też dostępne nagranie tej lekcji bez dodatkowej pracy.

Prace domowe i przegląd kodu

W chwili, w której to piszę uczestnicy zgłosili w sumie 271 Pull Requestów na GitHubie z dostarczeniem prac domowych. Szał. A jeszcze bardziej zaskoczyli mnie tym, jak wiele osób robi sobie nawzajem przegląd kodu i sugeruje ulepszenia swoich rozwiązań. Aż tak pozytywnej synergii się nie spodziewałem. Jest znacznie większy przepływ wiedzy pomiędzy uczestnikami, niż zakładałem 🙂.

Słowo na koniec

Bardzo chciałbym nagrać jeszcze publiczne wideo z moim osobistym podziękowaniem dla wszystkich osób, które mi kibicowały i wspierały mnie osobiście lub moją szkołę Coders School. Mam nadzieję, że wkrótce uda mi się coś nagrać. Na razie moim największym ograniczeniem jest czas. Poza prowadzeniem zajęć, ciągłym szlifowaniem materiałów i ulepszeniami platformy do kursu mam też prywatne życie i nie mogę niestety się sklonować 😉. Wszystko zajmuje jednak więcej czasu, niż się planowało, czyli standardowo 🙂.

Jeśli chcesz mi pomóc w mojej pracy – odezwij się do mnie na Discordzie lub na lukasz@coders.school 🙂.

Dodaj komentarz

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

AKTUALNOŚCI

Jak wrócić do programowania?

Dla osób, które miały styczność z C++ na studiach czy w liceum, powrót do programowania z C++ wydaje się być naturalny. To niekoniecznie dobre rozwiązanie. Dlaczego?

Czytaj »

Podsumowanie roku 2020

Jak co roku w Coders School podsumowanie poprzedniego roku robimy miesiąc później niż inni . Dzięki temu czymś się wyróżniamy. Ale tym razem oprócz suchego

Czytaj »
Zasady programowania

Zasady programistyczne w skrócie

Zasady programistyczne określają nam, w jaki sposób pisać efektywny kod. Inni programiści w łatwiejszy sposób mogą odczytać taki kod. Prościej jest go również dalej rozwijać.

Czytaj »
konwencje w skrócie

Konwencje w skrócie

Jeśli pracujesz w jakimkolwiek projekcie, to powinieneś dostosować się do określonej i panującej w nim konwencji. Jest ona zbiorem zasad, które określają, jak pisać nasz

Czytaj »
Scrum w skrócie

Scrum w skrócie

Pracując w firmie oprócz samych umiejętności programowania, potrzebne są również umiejętności pracy zespołowej. Znajomość Scruma czy różnych technik programowania w grupach może się przydać w

Czytaj »
debugerry w skrócie

Narzędzia programisty: Debuggery w skrócie

Debuggery – narzędzia programisty Debuggery są narzędziem potrzebnym każdemu programiście. Pozwalają one zaoszczędzić godziny szukania błędu w naszym kodzie. Co więcej, dają również możliwość kontrolowania

Czytaj »