Struktura i interpretacja programów komputerowych – kurs bezpłatny firmy Hexlet, szkolenie 9 godz., termin 27.11.2023.
Miscellanea / / November 28, 2023
- 17 lekcji (wideo i/lub tekst)
- 4 ćwiczenia w symulatorze
- Dodatkowe materiały
- Pomoc w „Dyskusjach”
Czego się dowiesz
- Pracuj z językiem programowania Scheme (Lisp).
- Twórz abstrakcje
- Implementuj największy wspólny dzielnik, testowanie pierwszości i inne algorytmy
- Wykonuj obliczenia rekurencyjne
Dowiesz się więcej o prymitywnych wyrażeniach, kombinacjach i abstrakcjach, procedurach i generowanych przez nie abstrakcjach. W rezultacie dowiesz się, jak implementować algorytmy znajdowania największego wspólnego dzielnika i sprawdzania pierwszości, buduj procedury przy użyciu Lambdy, wykonuj obliczenia rekurencyjne i znajdź pierwiastek za pomocą metody Niuton. Ten kurs jest przydatny, jeśli chcesz uzyskać głębsze zrozumienie podstaw programowania. Wiedza zdobyta na tym kursie pomaga programistom rozwijać umiejętności programistyczne. Ten kurs jest odpowiedni zarówno dla doświadczonych programistów, jak i tych, którzy dopiero zaczynają uczyć się programowania. Aby go zaliczyć wystarczy znajomość matematyki i programowania ze szkolnego programu nauczania.
SIKP: Czym jest informatyka?
Zapoznaj się z pojęciem informatyki.
SIKP: Wyrażenia prymitywne, kombinacja i abstrakcja
Zapoznaj się z językiem Lisp, rozważ prymitywne wyrażenia, kombinacje, procedury i abstrakcje.
SIKP: Procedury jako abstrakcje
Rozważ ważne podejście do programowania: procedury jako abstrakcje.
SICP: Procedury i procesy przez nie generowane 1
Przegląd procedur i procesów, rekurencja liniowa i iteracja.
SICP: Procedury i procesy przez nie generowane 2
Przegląd procedur i procesów, rekurencja liniowa i iteracja.
SIKP: Rekurencja drzewa
Jako przykład rekurencji drzewa rozważ obliczenie ciągu liczb Fibonacciego, w którym każda liczba jest sumą dwóch poprzednich.
SIKP: Porządki wzrostu
Zapoznaj się z koncepcją porządku wzrostu, która daje ogólne oszacowanie zasobów wymaganych przez proces w miarę wzrostu jego danych wejściowych.
SIKP: Potęgowanie
Rozważmy problem podniesienia liczby do potęgi, aby lepiej zrozumieć rzędy wzrostu
GICP: Największy wspólny dzielnik
Rozważ algorytm znajdowania największego wspólnego dzielnika i zaimplementuj go w języku programowania Scheme (LISP).
SICP: Test prostoty
Zaimplementuj algorytm sprawdzania pierwszości liczby w języku programowania Scheme (LISP).
SICP: Procedury jako argumenty
Rozważmy ważną cechę języka: możliwość przekazania procedury jako argumentu innej procedurze.
SIKP: Budowa procedur z wykorzystaniem lambdy
Naucz się tworzyć procedury na bieżąco, używając lambdy.
SICP: Tworzenie zmiennych lokalnych
Naucz się tworzyć zmienne lokalne w procedurach.
SICP: Metoda dzielenia połówkowego
Rozważ zastosowanie metody półprzedziału — prostej, ale skutecznej metody znajdowania pierwiastków równania f(x) = 0, gdzie f jest funkcją ciągłą.
SIKP: Znajdowanie punktów stałych funkcji
Rozważ znalezienie punktów stałych funkcji. Liczbę x nazywamy punktem stałym funkcji f, jeśli spełnia ona równanie f(x) = x.
SIKP: Procedury jako wartości zwracane
Osiągnij jeszcze większą moc ekspresji, tworząc procedury, których zwracane wartości same w sobie są procedurami.
SICP: metoda Newtona
Rozważ i zaimplementuj ogólny przypadek znajdowania pierwiastka metodą Newtona.
Dodatkowe materiały
Artykuły i filmy przygotowane przez zespół Hexlet. Pomoże Ci zgłębić tematykę kursu