Zamknięcie działu 2

Słowniczek działu

  • Bit — najmniejsza jednostka informacji, 0 albo 1.
  • Bajt — osiem bitów, 256 możliwych wartości.
  • Procesor — układ wykonujący elementarne instrukcje na liczbach.
  • Pamięć operacyjna (RAM) — szybka, ulotna pamięć działającego programu.
  • Pamięć trwała — pamięć zachowująca dane bez zasilania.
  • Takt — liczba impulsów zegara procesora na sekundę (GHz).
  • Uniwersalność komputera — zdolność jednej maszyny do dowolnych zadań opisanych programem.
  • Programowanie — komunikacja człowieka z komputerem w celu rozwiązania problemu.
  • Język maszynowy — liczbowy zapis instrukcji, jedyny język czytany przez procesor.
  • Język programowania — język dla ludzi: znaki, gramatyka, znaczenia.
  • Kompilator / interpreter — tłumacz z języka programowania na maszynowy: całościowo przed uruchomieniem / na bieżąco.
  • Algorytm — skończony, jednoznaczny ciąg kroków prowadzący do rozwiązania.
  • Program komputerowy — zbiór instrukcji mówiących maszynie, co robić krok po kroku.
  • Pseudokod — zapis algorytmu w jednoznacznych krokach języka naturalnego.
  • Kodowanie znaków (ASCII, Unicode) — umowa przypisująca znakom liczby.
  • Piksel — element obrazu; barwa zapisana trzema liczbami (RGB).
  • Próbkowanie — zamiana sygnału ciągłego na ciąg pomiarów.
  • Reprezentacja danych — sposób zapisania informacji w liczbach, dobrany do zadania.

W pigułce

  • Komputer jest maszyną uniwersalną, ale trzeba mu jednoznacznie powiedzieć, co robić — stąd programowanie.
  • Pod spodem są wyłącznie bity i elementarne operacje; złożone zachowanie bierze się ze skali, nie z ukrytego rozumu.
  • Programowanie to komunikacja w języku: znaki, gramatyka, znaczenie — a między człowiekiem i procesorem stoi kompilator lub interpreter.
  • Każdy program rozkłada się na trzy klocki: sekwencję, warunek, powtórzenie.
  • Algorytm (przepis) to nie to samo co program (zapis przepisu dla maszyny).
  • Dla wielu ludzkich umiejętności przepisu nie umiemy podać — to historyczny powód narodzin uczenia maszynowego.
  • Wszystko, co komputer przetwarza, jest liczbą; wybór reprezentacji decyduje o tym, co maszyna może wychwycić.

Sprawdzian działowy

Pytania do refleksji:

  1. Wyjaśnij, na czym polega uniwersalność komputera, i porównaj go pod tym względem z automatami z Jednostki 1.1 (kaczka Vaucansona, Turek Szachista).

  2. Dlaczego komputery są dwójkowe? Podaj argument inżynierski i wskaż związek z algebrą Boole'a (Jednostka 4.4) oraz pracą Shannona (Jednostka 5.3).

  3. „Procesor potrafi tylko dodawać, porównywać i przesyłać liczby, a jednak modele językowe piszą wiersze." Wyjaśnij, jak obie te rzeczy mogą być prawdziwe jednocześnie.

  4. Opisz drogę od zdania napisanego w Pythonie do operacji wykonanej przez procesor. Wskaż, gdzie w tej drodze stoi tłumacz i jakie ma warianty.

  5. Podaj własny przykład zadania, dla którego łatwo napisać algorytm, i drugi, dla którego to praktycznie niemożliwe. Wyjaśnij, co dokładnie stanowi różnicę między nimi (nie „trudność", a rodzaj wiedzy potrzebnej do rozwiązania).

  6. Wyjaśnij, dlaczego wybór reprezentacji danych nie jest decyzją techniczną, lecz merytoryczną. Zilustruj to dwoma różnymi reprezentacjami tej samej treści, z których każda pozwala wychwycić coś innego.

  7. Napisz, dlaczego zdanie „AI to tylko liczby" jest jednocześnie prawdziwe i mylące. Do czego dokładnie odnosi się słowo „tylko" i czego ono nie rozstrzyga?