Wykład 1 - Reprezentacja informacji przy pomocy komputera
Dlaczego sposób reprezentowania informacji jest ważny dla wygody jej przetwarzania?
Wymień i krótko scharakteryzuj podstawowe typy danych.
Co to jest bit i bajt. Wyjaśnij jak to możliwe, że ciąg bitów pozwala reprezentować przekazać dowolną wiadomość?
Co definiują standardy reprezentacji danych alfanumerycznych? Jakie znasz standardy reprezentacji danych alfanumerycznych? Czym różnią się one między sobą?
Czym różnią się od siebie pozycyjne i niepozycyjne systemy liczbowe? Podaj przykłady systemów obu rodzajów.
Jaka jest różnica pomiędzy systemami dwójkowym, dziesiętnym i szesnastkowym? Czy każda liczba może mieć reprezentację w każdym z nich? Dla każdego z wymienionych systemów wymień z jakich cyfr możemy budować liczby?
Zamień dwójkową (dziesiętną, szesnastkową) reprezentację liczby X (np. 11010101) na jej dziesiętny (szesnastkowy, dwójkowy) odpowiednik.
Jakich jednostek używamy do opisywania wielkości danych. Jakie przedrostki (np. mega) stosujemy i co one oznaczają?
Na co ma wpływ typ danych?
Jakie podstawowe operacje może wykonywać komputer?
Wykład 2 - Typy danych
Od czego zależy wielkość rozmiaru pamięci potrzebnego dla przechowywania danych określonego typu?
Co to jest typ danych i jakie ma cechy ?
Co to jest moc typu?
Jak definiujemy typy wyliczeniowe? Jakie są korzyści z użycia takiego typu?
Jakie znasz standardowe typy proste?
Jak definiujemy typy okrojone?
Wykład 3 i 4 - Tablice, rekordy i zbiory
Co to jest tablica i jak ją definiujemy, jak odwołujemy się do elementów tablicy?
Co to jest rekord, jak go zdefiniujemy, gdzie znajdzie zastosowanie?
Co to jest pole rekordu? Jakie znasz metody bezpośredniego odwoływania się do pola rekordu?
Co to są rekordy wariantowe?
Jak definiujemy struktury zbiorowe? Jakie działania można wykonywać na zbiorach?
Wykład 5 - Wprowadzenie do algorytmiki
Jakie elementy systemu są niezbędne by wykonać algorytm (Sprzęt (przybory) i oprogramowanie)? Uzasadnij dlaczego?
Czym zajmuje się algorytmika?
Podaj przykład czynności w której realizacji posługujesz się algorytmem?
Jaki poziom szczegółowości jest niezbędny by poprawnie zdefiniować algorytm?
Co to są akcje podstawowe i po co należy je uzgadniać?
Z jakich elementów składa się zadanie algorytmiczne?
Wykład 6 - 7 Algorytmy i dane
Dlaczego kolejność wykonywania akcji w algorytmie ma znaczenie?
Jakie znasz struktury przepływu sterowania?
Jak działa sortowanie bąbelkowe?
Co to są schematy blokowe? Z jakich elementów je składamy? Podaj przykład.
Do czego w programach mogą się przydać podprogramy? (Jaki są korzyści z ich użycia?)
Co to jest rekurencja i do czego można ją wykorzystać?
Na czym polegają analityczna i syntetyczna metoda budowy algorytmów?
Dlaczego z typem danych związane są akcje podstawowe?
Co to są zmienne i do czego można je wykorzystać w algorytmach?
Jakiego rodzaju dane możemy przechowywać w tablicach jednowymiarowych? Podaj przykłady.
Jakiego rodzaju dane możemy przechowywać w tablicach dwuwymiarowych? Podaj przykłady.
Co to jest drzewo i do czego może się przydać?
Co to są listy LIFO i FIFO?
Na co mogą się przydać bazy danych i bazy wiedzy?
Wykład 8 - Języki programowania (tylko studia zaoczne)
Dlaczego programy wymagają precyzyjnej składni? Co zawiera formalna składnia języka programowania?
Jakie znasz sposoby przedstawiania reguł składniowych? Podaj przykłady.
Dlaczego oprócz składni i interpunkcji w języku programowania ważna jest semantyka?
Jakie etapy są niezbędne by przejść od programu w języku programowania do jego wykonania przez komputer? Jakie znasz sposoby wykonywania programu przez komputer?
Czym różnią się od siebie kompilacja i interpretowanie programów?
Co to jest język adresów symbolicznych?
Dlaczego nie istnieje jeden uniwersalny język programowania, którego wszyscy mogliby się nauczyć i posługiwać przez całe życie?
Wykład 9 (dla studiów dziennych)- Metody algorytmiczne?
Na czym polega metoda „dziel i rządź”?
Na czym polega metoda zachłanna?
Co to jest graf? Co oznacza, że graf jest skierowany, spójny, acykliczny?
Na czym polega planowanie dynamiczne?
Czy istnieją ogólne sposoby konstruowania algorytmów? Uzasadnij.