k_ kodly
Wszystkie kursy
początkujący

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.

1 moduł 5 lekcji
100 zł Kup kurs

Pierwszy moduł za darmo. Bez karty, bez zobowiązań.

Ruby od zera do własnej aplikacji

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

if, case, logika

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 .rb

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.