Skip to content
anagorko edited this page Sep 1, 2014 · 8 revisions

Algorytmika I

Przedmiot uzupełniający dla II klasy liceum

Zakładana jest wcześniejsza znajomość podstaw algorytmiki (w zakresie realizowanym podczas zajęć Live Computing) oraz Scratch'a.

Tematy zajęć

Wykład 1

  1. Układ dwójkowy, dziesiętny i szesnastkowy. Algorytmy konwersji.
  2. Reprezentacja tekstu. Kody ASCII. Szyfr Cezara.
  3. Reprezentacja obrazu. Kompresja.
  4. Pseudokod. Algorytm i jego reprezentacja w różnych językach programowania. (3x+1)
  5. Złożoność obliczeniowa.
  6. Scratch. Wątki i zdarzenia.
  7. Struktura programu w C++.
  8. Instrukcje warunkowe.
  9. Pętle.
  10. Wyrażenia logiczne. Operatory.
  11. Instrukcja wyboru.
  12. Funkcje.
  13. Typy proste.
  14. Standardowe wejście i wyjście.
  15. Kod źródłowy. Kompilator. Biblioteki.

Laboratorium 1

  1. Linux i linia komend - narzędzia.
  2. Kompilator g++.
  3. Projekt - konwersja.

Wykład 2

  1. Pamięć komputera. Typy. Konwersja typów.

  2. Liczby zmiennoprzecinkowe.

  3. Zasięg. Przesłanianie zmiennych.

  4. Napisy.

  5. Tablice.

  6. Wyszukiwanie liniowe.

  7. Rekurencja. Gry kombinatoryczne.

  8. Selection sort.

  9. Insertion sort.

  10. Bubble sort.

  11. Wyszukiwanie binarne.

  12. Argumenty linii komend

  13. Debugger

  14. Wskaźniki.

  15. Referencje i dereferencje.

  16. Alokacja pamięci.

  17. Stos.

  18. Sterta.

  19. Buffer overflow.

Projekty

  1. Konwersja pomiędzy układami pozycyjnymi - dwójkowym, dziesiętnym i szesnastkowym.
  2. Kryptografia (szyfr Cezara i Vigenere'a)
  3. Kompresja tekstu.
  4. Gry kombinatoryczne.