Ruby od zera do własnej aplikacji
To kurs dla kogoś, kto nigdy nie napisał linijki kodu. Zero założeń, zero pomijania kroków. 163 mikrolekcje w 16 sekcjach.
Pierwszy moduł za darmo. Bez karty, bez zobowiązań.
o kursie
Czego się nauczysz
O kursie
To kurs dla kogoś, kto nigdy nie napisał linijki kodu. Zero założeń, zero pomijania kroków. 163 mikrolekcje w 16 sekcjach, każda wprowadza dokładnie jedno nowe pojęcie, poparte przykładem i ćwiczeniem.
Zasada jest prosta: żadna lekcja nie używa czegoś, czego nie wyjaśniono wcześniej. Jak .chomp pojawia się w sekcji 5, to dlatego że kropkowe wywołanie metody już było (sekcja 4), a gets dopiero co się pojawiło. Nic nie spada znikąd.
Dla kogo
Dla osoby, która chce zobaczyć, że programowanie nie jest magią, tylko rzemiosłem. Nie trzeba mieć doświadczenia technicznego. Sekcje 1-10 działają w przeglądarce, więc nie trzeba nawet nic instalować, żeby zacząć.
Co zbudujesz po drodze
Kurs nie kończy się na teorii. Po drodze powstaje kilkanaście mini-projektów: kalkulator napiwku, quiz, zgadywanka liczby, lista zakupów, książka telefoniczna, aplikacja z menu, hierarchia klas z mixinem, notatnik zapisujący dane na dysk. Na koniec, w sekcji 16, wszystko się spina w jeden większy projekt: menedżer zadań z zapisem do pliku JSON i interfejsem w terminalu.
Jak zbudowana jest każda lekcja
Każda lekcja ma ten sam rytm: problem, dlaczego to w ogóle istotne, teoria, przykład, wyjaśnienie, ćwiczenie, typowe błędy, podsumowanie, zadanie i quiz. Zawsze minimum dwa przykłady na pojęcie, zawsze pełny kod (żadnego pseudokodu), zawsze odpowiedź na pytania "po co", "kiedy" i "kiedy nie".
Błędy nie są pomijane. Skoro uczeń je zrobi, to lekcja od razu pokazuje: dlaczego to się wywaliło, jak to naprawić i jak tego uniknąć następnym razem.
Struktura kursu
Sekcja | Temat | Cel |
|---|---|---|
1 | Pierwszy program | Uruchamiasz kod, widzisz wynik |
2 | Liczby i obliczenia | Ruby jako kalkulator |
3 | Zmienne | Zapamiętywanie wartości |
4 | Teksty | Praca na napisach, pierwsza metoda kropką |
5 | Rozmowa z użytkownikiem | Program przestaje być statyczny |
6 | Decyzje |
|
7 | Powtarzanie i bloki | Pętle i pierwszy blok kodu |
8 | Tablice | Wiele wartości w jednej zmiennej |
9 | Symbole i hashe | Dane opisane kluczami |
10 | Własne metody | Piszesz metody, nie tylko je wywołujesz |
11 | Wychodzimy z przeglądarki | Instalacja, terminal, pierwszy plik |
12 | Klasy i obiekty | Własne typy danych |
13 | Dziedziczenie i moduły | Ponowne użycie kodu, podział na pliki |
14 | Wyjątki | Program nie wywala się na złych danych |
15 | Pliki | Dane przeżywają zamknięcie programu |
16 | Projekt końcowy | Wszystko razem: menedżer zadań |
Dlaczego kolejność jest taka, a nie inna
To nie jest przypadkowa kolejność tematów przepisana z podręcznika. Kilka decyzji, które warto znać:
while przed .times. Większość kursów zaczyna od 5.times do ... end, ale to przemyca blok kodu, czyli osobne, trudne pojęcie, zanim uczeń jest na nie gotowy. Tutaj while idzie pierwsze, bo wymaga tylko warunków znanych z sekcji 6. Blok dostaje własną lekcję, dopiero potem .times, .each, .map.
Metody własne po tablicach i hashach. Wcześniej wydawałoby się to logiczne, ale wtedy przykłady metod musiałyby operować wyłącznie na liczbach i tekstach. Sztuczne i nudne. Po sekcjach 8-9 metoda ma faktycznie co przyjmować i co zwracać.
Wyjątki po klasach. rescue ArgumentError czy własna klasa błędu wymagają rozumienia klas i dziedziczenia. Dałoby się to wcisnąć wcześniej, ale uczeń łapałby coś, czego nie rozumie, a to gorsze niż nic.
Przesiadka na lokalne środowisko w sekcji 11. Najpóźniejszy moment, jaki się dało, tuż przed plikami i require_relative. To też punkt, w którym programy robią się na tyle duże, że edytor w przeglądarce zaczyna przeszkadzać, a nie pomagać.
Środowisko
Sekcje 1-10: przeglądarka, zero instalacji. Od sekcji 11: lokalny komputer, terminal, irb, prawdziwy plik .rb. Kod w każdej lekcji po angielsku, zgodnie z konwencją branżową, tłumaczenia i wyjaśnienia po polsku.