- Nazwa przedmiotu:
- Podstawy informatyki
- Koordynator przedmiotu:
- dr inż. Jarosław Szostakowski, jaroslaw.szostakowski@ee.pw.edu.pl, +48222347320
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia I stopnia
- Program:
- Informatyka
- Grupa przedmiotów:
- Wspólne
- Kod przedmiotu:
- Semestr nominalny:
- 1 / rok ak. 2009/2010
- Liczba punktów ECTS:
- 6
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład30h
- Ćwiczenia0h
- Laboratorium30h
- Projekt0h
- Lekcje komputerowe0h
- Wymagania wstępne:
- Brak
- Limit liczby studentów:
- Cel przedmiotu:
- Znajomość podstaw teoretycznych niezbędnych do studiowania informatyki
- Treści kształcenia:
- Wykład
1. Wprowadzenie (Łańcuch, alfabety i języki. Grafy i drzewa. Dowody przez indukcje. Oznaczenia dla zbiorów. Relacje.)
2. Automaty skończone i wyrażenia regularne (Systemy skończone stanowe. Podstawowe definicje. Niedeterministyczne automaty skończone. Wyrażenia regularne. Zastosowanie automatów skończonych: analizatory leksykalne, edytory tekstu).
3. Gramtyki bezkontekstowe (Wprowadzenie. Definicja. Wyprowadzenia i języki. Drzewa wyprowadzenia.)
4. Automaty ze stosem (Wprowadzenie. Definicje – ruchy, języki akceptowane.)
5. Maszyny Turinga (Wprowadzenie. Model maszyny Turinga. Języki i funkcje obliczalne. Techniki konstruowania maszyn Turinga, Modyfikacje maszyny Turinga. Maszyny Turinga jako generatory).
6. Nierozstrzygalność (Problemy rozstrzygalne i nierozstrzygalne. Własności języków rekurencyjnych i rekurencyjnie przeliczalnych. Uniwersalne maszyny Turinga i problem nierozstrzygalny. Kody maszyn Turinga. Język uniwersalny. Nierozstrzygalność problemu odpowiedniości posta)
7. Hierachia Chomsky’ego Gramatyka regularna. Gramtayki nieograniczone. Języki kontekstowe.
8. Teoria złożoności obliczeniowej (Definicje, Złożoność pamięciowa, Złożoność czasowa, Klasy złożoności. Redukcja złożoności: Przyspieszenie liniowe. Kompresja taśmy. Zmniejszenie liczby taśm.)
9. Problemy niepodatne (Wielomianowy czas i pamięć: Wprowadzenie, Ograniczone redukowalności, Problemy zupełne. Przykład problemu NP-zupełnego: spełnialność).
Laboratorium
1. Zajęcia organizacyjne. Zasoby sieci uczelnianej. Informacja o programie i metodyce prowadzenia zajęć laboratorium Teoretycznych Podstaw Informatyki. Informacja o zasobach sieci uczelnianej.
2. System operacyjny UNIX – wyrażenia regularne.
3. Język programowania Pascal – jako narzędzie zapisu algorytmów. Typy operatory i wyrażenia. Sterowanie. Tablice, rekordy i zbiory. Procedury i funkcje. Wskaźniki. Elementy pseudografiki.
4. Automaty skończone. Emulacja działania prostego automatu skończonego
5. Gramatyki bezkontekstowe. Generowanie łańcuchów opisanych za pomocą danej gramatyki
6. Maszyna Turinga. Emulacja działania maszyny Turinga.
7. Rezerwowy termin odrabiania zajęć
- Metody oceny:
- brak
- Egzamin:
- Literatura:
- 1. J. E. Hopcroft, J. D. Ullman Wprowadzenie do teorii automatów, języków i obliczeń. Wydawnictwo Naukowe PWN, 2005.; 2. A. V. Aho, J. D. Ullman Wykłady z informatyki z przykładami w języku C. Helion, 2003.
- Witryna www przedmiotu:
- Uwagi:
Efekty uczenia się