Wstęp do informatyki (potok I) 1000-111bWI1a
1. Wprowadzenie: Co to jest informatyka - krótka historia. Pojęcie zadania, danych, wyniku i algorytmu. Budowa komputera. System operacyjny i jego zadania. Zasoby komputera. Graficzne środowiska pracy. (1 wykład).
2. Od problemu do programu: Zadania i algorytmy. Opis słowny algorytmu. Przykłady zadań i algorytmów (np. proste sortowania). Kod źródłowy, kompilacja, program wykonywalny. (2 wykłady)
3. Reprezentacja liczb w komputerze: arytmetyka zmiennopozycyjna. Standard IEEE-754. Proste algorytmy numeryczne (np. sumowanie, schemat Hornera, mnożenie macierzy). Błędy zaokrągleń. (2 wykłady)
4. Wprowadzenie do programowania: Podstawowe konstrukcje języka programowania imperatywnego (zalecany jest język C). Proste typy danych, deklaracje zmiennych. Instrukcja przypisania, instrukcje warunkowe, instrukcja złożona. Iteracja - instrukcje for, while. Złożone typy danych: tablice, struktury. Procedury i funkcje, przekazywanie parametrów, deklaracje lokalne i globalne, zasięg widoczności. Pliki. Procedury wejścia/wyjścia. Poprawność programu (częściowa, całkowita, metoda niezmienników). (5 wykładów)
5. Rekurencja: Proste algorytmy rekurencyjne. Metoda "dziel i rządź", programowanie dynamiczne, programowanie zachłanne. (5 wykłady)
Rodzaj przedmiotu
Koordynatorzy przedmiotu
Efekty kształcenia
Zna materiał wyłożony w trakcie wykładu i utrwalony na ćwiczeniach oraz laboratorium. Potrafi wykorzystać zdobytą wiedzę do rozwiązywania zadań.
W szczególności:
- Zna podstawowe pojęcia informatyczne: zadania, danych, wyniku i algorytmu.
- Rozpoznaje problemy, które można rozwiązać algorytmicznie i potrafi podać ich specyfikację.
- Potrafi opracować i podać zrozumiały opis słowny algorytmu lub w pseudokodzie, a także zaimplementować go w omawianym na wykładzie języku programowania imperatywnego.
- Rozróżnia kod źródłowy, kompilację i program wykonywalny.
- Umie napisać, uruchomić, testować i poprawić program komputerowy w omawianym na wykładzie języku programowania imperatywnego, wykorzystując w programie m.in. konstrukcje iteracyjne i warunkowe, instrukcje wejścia-wyjścia, operacje i funkcje logiczne i matematyczne, wskaźniki oraz dynamiczną alokację pamięci.
- Zna podstawowe techniki programowania.
- Zna podstawowe pojęcia i fakty dotyczące arytmetyki zmiennopozycyjnej, a także jej główne ograniczenia.
- Potrafi opracować i zaimplementować algorytmy dla prostych zadań, w tym obliczeniowych (np. sumowania, obliczania wartości wielomianu, mnożenia macierzy) oraz opartych na zależnościach funkcyjnych.
- Zna i potrafi wykorzystać w praktyce rekurencję oraz zasadę "dziel i rządź".
- Zna klasyczne algorytmy, m.in. Euklidesa, sortowania, wyszukiwania binarnego.
- Rozumie i docenia znaczenie poznanych technologii oraz niebezpieczeństwa związane z ich niewłaściwym wykorzystaniem.
Kryteria oceniania
Zaliczenie przedmiotu odbywa się na podstawie zdobytych punktów.
5 punktów - zadania pisemne
10 punktów - program semestralny
40 punktów - kolokwium (4 zadania pisemne po 10 punktów)
80 punktów - egzamin (4 zadania pisemne po 20 punktów)
Zasady zaliczenia programu semestralnego zostaną podane na ćwiczeniach.
By zostać dopuszczonym do egzaminu trzeba zgromadzić łącznie z zadań pisemnych, programu, i kolokwium co najmniej 18 punktów. By uzyskać pozytywną ocenę z przedmiotu, należy uzyskać w sumie co najmniej 52 punkty.
Punkty z zadań, programu i kolokwium liczą się w obu terminach egzaminu.
Literatura
1. D. Harel, Rzecz o istocie informatyki.
2. L. Banachowski, K. Diks, W. Rytter, Algorytmy i struktury danych. WNT, Warszawa 2002. Podręcznik do nauki wybranego języka programowania.
3. Cormen T.H., Leiserson C.E., Rivest R.L., Stein C.: Wprowadzenie do algorytmów, WNT, Warszawa, 2005.
Więcej informacji
Więcej informacji o poziomie przedmiotu, roku studiów (i/lub semestrze) w którym się odbywa, o rodzaju i liczbie godzin zajęć - szukaj w planach studiów odpowiednich programów. Ten przedmiot jest związany z programami:
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: