informator
Transkrypt
informator
UNIWERSYTET ŁÓDZKI WYDZIAŁ MATEMATYKI I INFORMATYKI INFORMATOR WYDZIAŁU MATEMATYKI I INFORMATYKI CZĘŚĆ II SYLABUS PRZEDMIOTÓW NA KIERUNKU INFORMATYKA rok akademicki 2009/2010 Spis treści 1 PRZEDMIOTY STUDIÓW STACJONARNYCH PROWADZONE W JĘZYKU POLSKIM ................................................. 7 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34 1.35 1.36 1.37 1.38 1.39 1.40 1.41 1.42 1.43 1.44 1.45 1.46 1.47 1.48 1.49 1.50 ADMINISTRACJA BAZAMI DANYCH .................................................................................................................... 8 ADMINISTRACJA SIECIĄ LOKALNĄ ..................................................................................................................... 9 ALGEBRA Z TEORIĄ LICZB ................................................................................................................................. 10 ALGORYTMY GENETYCZNE .............................................................................................................................. 11 ALGORYTMY I STRUKTURY DANYCH ................................................................................................................ 12 ALGORYTMY I ZŁOŻONOŚD .............................................................................................................................. 13 ANALIZA MATEMATYCZNA DLA INFORMATYKÓW 1 (I) ................................................................................... 14 ANALIZA MATEMATYCZNA DLA INFORMATYKÓW 2 (I) ................................................................................... 15 ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH ............................................................................................ 16 BADANIA OPERACYJNE .................................................................................................................................... 17 BEZPIECZEOSTWO SYSTEMÓW KOMPUTEROWYCH ....................................................................................... 18 ELEMENTY SZTUCZNEJ INTELIGENCJI .............................................................................................................. 19 GEOMETRIA KRZYWYCH I POWIERZCHNI ........................................................................................................ 20 GRAFIKA KOMPUTEROWA ............................................................................................................................... 21 GRAFIKA W SERWISACH INTERNETOWYCH ..................................................................................................... 22 KOMPUTEROWE WSPOMAGANIE OBLICZEO .................................................................................................. 23 LOGIKA I TEORIA MNOGOŚCI ........................................................................................................................... 24 MATEMATYCZNE PODSTAWY GRAFIKI KOMPUTEROWEJ ............................................................................... 25 MATEMATYKA DYSKRETNA ............................................................................................................................. 26 METODY NUMERYCZNE ................................................................................................................................... 27 METODY PROBABILISTYKI I STATYSTYKI ........................................................................................................... 28 MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH ......................................................................... 29 MODELOWANIE I ANIMACJA KOMPUTEROWA ............................................................................................... 30 PARADYGMATY PROGRAMOWANIA ............................................................................................................... 31 PODSTAWY BAZ DANYCH ................................................................................................................................ 32 PODSTAWY GRAFIKI KOMPUTEROWEJ............................................................................................................ 33 PROGRAMOWANIE APLIKACJI INTERNETOWYCH............................................................................................ 34 PROGRAMOWANIE PODSTAWOWE ................................................................................................................ 35 PROGRAMOWANIE URZĄDZEO PRZENOŚNYCH .............................................................................................. 36 PROJEKTOWANIE GRAFIKI UŻYTKOWEJ ........................................................................................................... 37 PROJEKTOWANIE I IMPLEMENTACJA SYSTEMÓW BAZODANOWYCH ............................................................. 38 PROJEKTOWANIE I IMPLEMENTACJA SYSTEMÓW SIECIOWYCH ..................................................................... 39 PROJEKTOWANIE INTERFEJSÓW UŻYTKOWNIKA ............................................................................................ 40 PRZETWARZANIE OBRAZÓW ........................................................................................................................... 41 SIECI KOMPUTEROWE ..................................................................................................................................... 42 SIECI NEURONOWE ......................................................................................................................................... 43 SYSTEMY CZASU RZECZYWISTEGO................................................................................................................... 44 SYSTEMY OPERACYJNE .................................................................................................................................... 45 SZTUCZNA INTELIGENCJA ................................................................................................................................ 46 ŚRODOWISKO PRACY INFORMATYKA .............................................................................................................. 47 TECHNIKI ALGORYTMICZNE ............................................................................................................................. 48 TECHNOLOGIE SIECIOWE ................................................................................................................................ 49 TEORETYCZNE PODSTAWY INFORMATYKI ....................................................................................................... 50 TEORIA GRAFÓW I SIECI ................................................................................................................................... 51 TEORIA OBLICZEO I ZŁOŻONOŚCI ..................................................................................................................... 52 WPROWADZENIE DO PROGRAMOWANIA GIER .............................................................................................. 53 WSTĘP DO INFORMATYKI ................................................................................................................................ 54 WSTĘP DO PROGRAMOWANIA (I) ................................................................................................................... 55 WSTĘP DO RÓWNAO RÓŻNICZKOWYCH (I) ..................................................................................................... 56 WSTĘP DO SYSTEMÓW OPERACYJNYCH .......................................................................................................... 57 3 1.51 1.52 1.53 2 PRZEDMIOTY STUDIÓW STACJONARNYC PROWADZONE W JĘZYKU ANGIELSKIM ............................................61 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 2.15 2.16 2.17 2.18 2.19 2.20 2.21 2.22 2.23 3 ZAAWANSOWANE ALGORYTMY ...................................................................................................................... 58 ZAAWANSOWANE TECHNIKI PROGRAMOWANIA ........................................................................................... 59 ZASTOSOWANIE METOD PROBABILISTYCZNYCH ............................................................................................. 60 APPLICATION SOFTWARE ................................................................................................................................ 62 BASIC COMPUTER SKILLS ................................................................................................................................. 63 COMPUTER ARCHITECTURE ............................................................................................................................ 64 COMPUTER GRAPHICS 1 .................................................................................................................................. 65 COMPUTER NETWORKS .................................................................................................................................. 66 DISCRETE MATHEMATICS ................................................................................................................................ 67 ELEMENTS OF ALGEBRA AND NUMBER THEORY ............................................................................................. 68 ELEMENTS OF ARTIFICIAL INTELLIGENCE ......................................................................................................... 69 HISTORY OF COMPUTER SCIENCE .................................................................................................................... 70 INTRODUCTION TO COMPUTER SCIENCE ........................................................................................................ 71 INTRODUCTION TO DATABASES ...................................................................................................................... 72 INTRODUCTION TO DIFFERENTIAL EQUATIONS (I) .......................................................................................... 73 INTRODUCTION TO NUMERICAL METHODS .................................................................................................... 74 INTRODUCTION TO OPERATING SYSTEMS ....................................................................................................... 75 INTRODUCTION TO PROGRAMMING 1 ............................................................................................................ 76 INTRODUCTION TO PROGRAMMING 2 ............................................................................................................ 76 LINEAR ALGEBRA WITH ANALYTIC GEOMETRY ................................................................................................ 77 LOGIC WITH ELEMENTS OF SET THEORY .......................................................................................................... 78 MATHEMATICAL ANALYSIS FOR COMPUTER SCIENCE STUDENTS 1 ................................................................ 79 MATHEMATICAL ANALYSIS FOR COMPUTER SCIENCE STUDENTS 2 ................................................................ 80 PROBABILITY METHODS .................................................................................................................................. 81 VISUAL PROGRAMMING .................................................................................................................................. 82 XML APPLICATIONS IN THE INTERNET ............................................................................................................. 83 PRZEDMIOTY STUDIÓW NIESTACJONARNYCH ...................................................................................................85 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 3.21 3.22 3.23 3.24 ADMINISTROWANIE SYSTEMAMI BAZODANOWYMI ...................................................................................... 86 ALGEBRA LINIOWA Z GEOMETRIĄ ................................................................................................................... 87 ALGORYTMY I ZŁOŻONOŚD .............................................................................................................................. 88 ANALIZA ALGORYTMÓW ................................................................................................................................. 89 ANALIZA MATEMATYCZNA .............................................................................................................................. 90 ANALIZA PORTFELOWA ................................................................................................................................... 91 ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH ............................................................................................ 92 BAZY DANYCH .................................................................................................................................................. 93 ELEMENTY SZTUCZNEJ INTELIGENCJI .............................................................................................................. 94 GENERATORY APLIKACJI .................................................................................................................................. 95 GRAFIKA KOMPUTEROWA ............................................................................................................................... 96 HISTORIA INFORMATYKI .................................................................................................................................. 97 JĘZYKI I PARADYGMATY PROGRAMOWANIA ................................................................................................... 98 JĘZYKI OPISU DOKUMENTÓW ......................................................................................................................... 99 KONSTRUKCJA KOMPILATORÓW .................................................................................................................. 100 LOGIKA I TEORIA MNOGOŚCI ......................................................................................................................... 101 MATEMATYKA DYSKRETNA ........................................................................................................................... 102 MATEMATYKA FINANSOWA I BANKOWA ...................................................................................................... 103 METODY I NARZĘDZIA PROGRAMOWANIA ................................................................................................... 104 METODY NUMERYCZNE ................................................................................................................................. 105 METODY PROBABILISTYKI I STATYSTYKI ......................................................................................................... 106 NARZĘDZIA CRM ............................................................................................................................................ 107 PODSTAWY BAZ DANYCH .............................................................................................................................. 108 PODSTAWY PROGRAMOWANIA .................................................................................................................... 109 4 3.25 3.26 3.27 3.28 3.29 3.30 3.31 3.32 3.33 3.34 3.35 3.36 3.37 3.38 3.39 3.40 3.41 3.42 3.43 3.44 3.45 3.46 3.47 3.48 3.49 3.50 3.51 3.52 3.53 3.54 PORTALE INTERNETOWE ............................................................................................................................... 110 PROCESORY TEKSTU ...................................................................................................................................... 111 PROGRAMOWANIE APLIKACJI INTERNETOWYCH.......................................................................................... 112 PROGRAMOWANIE GRAFIKI .......................................................................................................................... 113 PROGRAMOWANIE PODSTAWOWE .............................................................................................................. 114 PROGRAMOWANIE USŁUG SIECIOWYCH ...................................................................................................... 115 PROGRAMOWANIE W JĘZYKU WEWNĘTRZNYM ........................................................................................... 116 PROGRAMOWANIE WIZUALNE ..................................................................................................................... 117 PROJEKTOWANIE I IMPLEMENTACJA SYSTEMÓW BAZODANOWYCH ........................................................... 118 PROJEKTOWANIE I IMPLEMENTACJA SYSTEMÓW SIECIOWYCH ................................................................... 119 PROJEKTOWANIE SYSTEMÓW BAZODANOWYCH ......................................................................................... 120 PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH ..................................................................................... 121 PRZETWARZANIE OBRAZU I DŹWIĘKU ........................................................................................................... 122 SERWERY APLIKACJI ....................................................................................................................................... 123 SIECI KOMPUTEROWE ................................................................................................................................... 124 SIECI LOKALNE ............................................................................................................................................... 125 SYSTEMY CZASU RZECZYWISTEGO................................................................................................................. 126 SYSTEMY KLASY ŚREDNIEJ ............................................................................................................................. 127 SYSTEMY OPERACYJNE .................................................................................................................................. 128 SZTUCZNA INTELIGENCJA .............................................................................................................................. 129 ŚRODOWISKO PRACY INFORMATYKA ............................................................................................................ 130 TECHNIKI ALGORYTMICZNE ........................................................................................................................... 131 TECHNOLOGIE SIECIOWE .............................................................................................................................. 132 TEORETYCZNE PODSTAWY INFORMATYKI ..................................................................................................... 133 TEORIA GRAFÓW I SIECI ................................................................................................................................. 134 TEORIA OBLICZEO I ZŁOŻONOŚCI ................................................................................................................... 135 WSTĘP DO INFORMATYKI .............................................................................................................................. 136 ZAAWANSOWANE ALGORYTMY .................................................................................................................... 137 ZAAWANSOWANE TECHNIKI PROGRAMOWANIA ......................................................................................... 138 ZASTOSOWANIE METOD PROBABILISTYCZNYCH ........................................................................................... 139 5 6 1 PRZEDMIOTY STUDIÓW STACJONARNYCH PROWADZONE W JĘZYKU POLSKIM STUDIÓW STACJONARNYCH PROWADZONE W JĘZYKU POLSKIM NA KIERUNKU INFORMATYKA 7 Nazwa przedmiotu: 1.1 ADMINISTRACJA BAZAMI DANYCH Kod: 1100-ZB0OII Forma przedmiotu: 30 godzin wykładu + 30 godzin laboratorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: Egzamin pisemny w formie testu a zaliczenie laboratorium w formie sprawdzianu praktycznego Cele przedmiotu: Celem przedmiotu jest zaznajomienie studenta z budową i zasadą działania systemu zarządzania bazą danych na przykładzie SZBD Oracle. Umiejętności wstępne: PB0OII lub PB0LII – Pojęcie relacyjnych baz danych i transakcji oraz SQL z elementami PL/SQL Treści przedmiotu: Literatura: 6. 7. 8. 9. Architektura Systemu Zarządzania Bazą Danych Oracle Pliki i procesy systemu Oracle Uruchamianie instancji Zarządzanie przestrzeniami tabel i plikami danych Zarządzanie bezpieczeństwem – użytkownicy – profile - uprawnienia systemowe i objektowe - role Tworzenie nowej bazy i instancji Monitorowanie pracy użytkowników Archiwizacja bazy danych Odtwarzanie bazy danychi 10. Metody optymalizacji SQL w Oracle 10g/11g 1. 2. 3. 4. 5. [1] Theriault M., Carmichael R., Viscusi J.: Oracle 9i. Administrowanie bazami danych od podstaw. Helion 2003 [2] Oracle® Database Administrator's Guide - dokumentacja SZBD Oracle w języku angielskim [3] Materiały udostępniane studentom drogą elektroniczną [4] Loney K.,: Kompendium administratora. Helion 2005 Koordynator: Prof. dr hab. Marcin Studniarski Data aktualizacji: 17.01.2009 Course name: Course contents: Administration of databases 1. 2. 3. 4. 5. 6. 7. 8. Oracle Database Structure and Storage Oracle Database Processes Database and Instance Startup and Shutdown Managing Tablespaces Managing Datafiles and Tempfiles Managing Users and Securing the Database Creating an Oracle Database Backup and Recovery 9. Optimization SQL statement in Oracle 10g/11g 8 Nazwa przedmiotu: 1.2 ADMINISTRACJA SIECIĄ LOKALNĄ Kod: 1100-SL0OII Forma przedmiotu: Laboratorium informatyczne 30 godzin Ilość punktów ECTS: 3 Język wykładowy: Polski Sposób zaliczenia: zaliczenie na podstawie kolokwium Cele przedmiotu: Przedmiot przedstawia zagadnienia związane z budową i funkcjonowaniem lokalnych sieci komputerowych. Prezentuje dostępne standardy i technologie oraz możliwości ich zastosowania do tworzenia lokalnych sieci komputerowych. W czasie zajęć zostanie zaprezentowany wybrany sieciowy system operacyjny i możliwości administrowania tym systemem. Szczególny nacisk położony zostanie na zapewnienia bezpieczeństwa sieci. Umiejętności wstępne: 1100-SK0OII Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Literatura: [1]. [2]. [3]. [4]. [5]. [6]. Podstawy wybranego systemu sieciowego. Projektowanie sieci lokalnej. Protokoły sieciowe w sieci lokalnej. Narzędzia diagnostyki sieci. Konta użytkowników. Omówienie systemu plików: prawa dostępu do plików i folderów oraz foldery współdzielone. Usługi katalogowe. Usługi informacyjne - serwery FTP, HTTP, SMTP, NNTP. Usługi terminalowe. Polityka bezpieczeństwa. Dokumentacja elektroniczna prezentowanych technologii; Durr M., Gibbs M. - Networking Personal Computers; Commer D. - Sieci komputerowe TCP/IP; Sportack M. - Sieci komputerowe. Księga eksperta; Payne B., Sheldon T. - NetWare 5. The Complete Reference; MCSE Training Kit – MS Windows 2000 server; Koordynator: Prof. dr hab. Stanisław Goldstein Data aktualizacji: 10 marca 2010 Course name: Course contents: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Administration of local area network The basics of a chosen network oriented operating system. Local Area Network design. Local Area Network protocols. Network diagnostic tools. User accounts. File system discussion: file and directory permission, shared folders. Directory services. Information services - FTP, HTTP, SMTP, NNTP servers. Terminal services. Security policy. 9 Nazwa przedmiotu: 1.3 ALGEBRA Z TEORIĄ LICZB Kod: 1100-AT0LMI Forma przedmiotu: 30 godzin wykładu + 30 godzin konwersatorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład - egzamin pisemny; konwersatorium - zaliczenie dwóch kolokwiów Cele przedmiotu: Celem przedmiotu jest przedstawienie najważniejszych pojęć i faktów z teorii liczb i algebry o podstawowym znaczeniu w informatyce. Umiejętności wstępne: Treści przedmiotu: 1. Podzielność w zbiorze liczb całkowitych. Największy wspólny dzielnik. Algorytm Euklidesa. 2. Liczby pierwsze. Arytmetyka modularna. Równania diofantyczne. 3. Grupy, pierścienie, ciała. Pierścień wielomianów. 4. Przestrzenie wektorowe. Przestrzeń wektorowa Rn. 5. Macierze, wyznaczniki. 6. Układy równań liniowych. Metoda eliminacji Gaussa. 7. Przekształcenia liniowe. Reprezentacja macierzowa przekształcenia liniowego. 8. Proste, płaszczyzny, hiperpłaszczyzny w Rn. Stożkowe. Kwadryki. Literatura: [1]. Kowalski L. - Algebra liniowa z geometrią analityczną dla informatyków; [2]. Gleichgewicht B. - Algebra; [3]. Marzantowicz W., Zarzycki P. - Elementy teorii liczb; [4]. Sierpiński W.- Wstęp do teorii liczb; [5]. Opial Z.- Algebra wyższa; [6]. Julrewicz J., Skoczylas T. - Algebra liniowa 1,2. Przykłady i zadania; [7]. Jurlewicz J., Skoczylas T. - Algebra liniowa 1,2. Definicje, twierdzenia, wzory; [8]. Mostowski A., Stark M. - Elementy algebry wyższej; [9]. Niven I., Zuckerman H.S., Montgomery H.L. - An Introduction to the Theory of Numbers. Koordynator: Prof. dr hab. Paweł Walczak Data aktualizacji: 2009-01-26 Course name: Course contents: 1. 2. 3. 4. 5. 6. 7. 8. ALGEBRA AND NUMBER THEORY Divisibility. The greatest common divisor. Euclidean algorithm. Prime numbers. Congruences. Diophantine equations. Groups, rings, fields. Ring of polynomials. Matrices, determinants. Vector spaces. Vector space Rn. Systems of linear equations. Gauss elimination method. Linear transformations. Matrix representation of linear transformation. Lines, planes, hyperplanes in Rn. Conics, quadrics. 10 Nazwa przedmiotu: 1.4 ALGORYTMY GENETYCZNE Kod: 1100-GA0OIB Forma przedmiotu: 30 godzin wykładu + 30 godzin laboratorium komputerowego Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin pisemny, laboratorium - programy komputerowe Cele przedmiotu: Algorytmy genetyczne naśladują procesy ewolucji obserwowane w przyrodzie, używając w szczególności operacji selekcji, krzyżowania i mutacji. Ogólniejszą klasą algorytmów są algorytmy ewolucyjne. Celem wykładu jest przedstawienie podstaw teorii algorytmów genetycznych i ewolucyjnych oraz omówienie wybranych ich zastosowań. Celem laboratorium jest implementacja wybranych algorytmów genetycznych i ewolucyjnych. Umiejętności wstępne: PS0LMI, PP0LII, PS0LII (lub odpowiednie przedmioty z kierunku matematyka) Podstawowe informacje o algorytmach genetycznych i przykłady ich zastosowań. Podstawy teoretyczne algorytmów genetycznych: schematy i ich własności, twierdzenie o schematach, hipoteza o cegiełkach. 3. Modyfikacje służące poprawie funkcjonowania algorytmów genetycznych. 4. Algorytmy ewolucyjne: różne reprezentacje rozwiązań dopuszczalnych, różne rodzaje operatorów uogólniających klasyczne krzyżowanie i mutację. 5. Zastosowanie algorytmów ewolucyjnych do rozwiązywania zadań optymalizacji, w szczególności optymalizacji wielokryterialnej. 6. Algorytm RHS (Random Heuristic Search). 7. Prosty algorytm genetyczny jako szczególny przypadek algorytmu RHS. 8. Podstawowe informacje o łańcuchach Markowa. 9. Przedstawienie algorytmów ewolucyjnych w języku teorii łańcuchów Markowa. 10. Zbieżność algorytmów genetycznych, kryteria zatrzymania. Treści przedmiotu: 1. 2. Literatura: [1]. Michalewicz Z. – Genetic Algorithms + Data Structures = Evolution Programs. [2]. Vose M.D. – The Simple Genetic Algorithm. [3]. Reeves C.R., Rowe J.E. – Genetic Algorithms: Principles and Perspectives. A Guide to GA Theory. [4]. Arabas J. – Wykłady z algorytmów ewolucyjnych. Koordynator: Prof. dr hab. Marcin Studniarski Data aktualizacji: 24.02.2009 Course name: GENETIC ALGORITHMS Course contents: 1. 2. Genetic algorithms: description and examples of applications. Theoretical foundations of genetic algorithms: schemata and their properties, the Schema Theorem, the Building Block Hypothesis. 3. Modifications improving performance of genetic algorithms. 4. Evolutionary algorithms: different representations of feasible solutions and different operators generalizing the classical crossover and mutation. 5. Applications of evolutionary algorithms to solving different (especially, multiobjective) optimization problems. 6. The RHS (Random Heuristic Search) algorithm. 7. The simple genetic algorithm as a special case of the RHS algorithm. 8. Preliminary facts about Markov chains. 9. Representation of genetic algorithms as Markov chains. 10. Convergence of genetic algorithms, stopping criteria. 11 Nazwa przedmiotu: 1.5 ALGORYTMY I STRUKTURY DANYCH Kod: 1100-AD0LII Forma przedmiotu: 30 godz. wykładu +30 godz. laboratorium komputerowego Ilość punktów ECTS: 6 Język wykładowy: Polski Sposób zaliczenia: egzamin pisemny + zaliczenie laboratorium Cele przedmiotu: Celem przedmiotu jest zapoznanie studentów z metodami projektowania i analizy algorytmów. Omówione zostaną zagadnienia związane z pojęciem złożoności obliczeniowej. W trakcie zajęć przedstawione zostaną podstawowe algorytmy i struktury danych dotyczące takich zagadnień jak: sortowanie, wyszukiwanie, elementarne i dynamiczne struktury danych, słowniki. Umiejętności wstępne: Treści przedmiotu: 1. Podstawy analizy algorytmów: poprawność algorytmów i metody jej dowodzenia Literatura: pojęcie złożoności obliczeniowej analiza najgorszego przypadku analiza probabilistyczna 2. Metody projektowania algorytmów „dziel i zwyciężaj” algorytmy zachłanne programowanie dynamiczne 3. Podstawowe algorytmy sortowania metody klasyczne QuickSort, HeapSort oraz MergeSort metody sortowania o złożoności liniowej (RadixSort, CountingSort) 4. Abstrakcyjne struktury danych: listy stosy i kolejki kolejki priorytetowe drzewa 5. Algorytmy wyszukiwania i selekcji algorytm Hoare‟a - wyszukiwania sekwencyjne wyszukiwanie binarne - drzewa BST [1]. Algorytmy w C++, Sedgewick R., Read Me 1999 [2]. Algorytmy i struktury danych, L. Banachowski, K. Diks, W. Rytter, Wydawnictwa Naukowo - Techniczne, 2006. [3]. Wprowadzenie do algorytmów, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, Wydawnictwa Naukowo - Techniczne, 2004 [4]. Struktury danych w języku C, Drozdek, Simon D.L. - WNT, 2003 Koordynator: Prof. dr hab. Goldstein Stanisław Data aktualizacji: 2009/01/28 Course name: Algorithms and data structures Course contents: 1. Analysis of algorithms: 2. 3. 4. 5. - The algorithms and methods of command - The concept of computational complexity - Worst case analysis - Probabilistic analysis The methods of designing algorithms - "Divide and conquer" - Greedy algorithms - Dynamic programming The basic algorithms for sorting - Methods of classic - QuickSort, HeapSort and MergeSort - Linear sorting methods (RadixSort, CountingSort) Abstract data types: - The list - Stacks and queues - Priority queues - Trees Search and selection: - Hoare'a algorithm - Sequential search - Binary search - BST trees 12 Nazwa przedmiotu: 1.6 ALGORYTMY I ZŁOŻONOŚĆ Kod: 1100-AZ0OII Forma przedmiotu: 30 godz. wykładu +30 godz. laboratorium komputerowego Ilość punktów ECTS: 5 Język wykładowy: Polski Sposób zaliczenia: egzamin pisemny + zaliczenie laboratorium Celem przedmiotu jest zapoznanie studentów z metodami projektowania i analizy algorytmów. Omówione zostaną Cele przedmiotu: zagadnienia związane z pojęciem złożoności obliczeniowej. W trakcie zajęć przedstawione zostaną podstawowe algorytmy i struktury danych dotyczące takich zagadnień jak: sortowanie, wyszukiwanie, elementarne i dynamiczne struktury danych, słowniki. Umiejętności wstępne: Treści przedmiotu: Literatura: Koordynator: Data aktualizacji: Podstawy analizy algorytmów: poprawność algorytmów i metody jej dowodzenia a. pojęcie złożoności obliczeniowej b. analiza najgorszego przypadku c. analiza probabilistyczna 2. Metody projektowania algorytmów a. „dziel i zwyciężaj” b. algorytmy zachłanne c. programowanie dynamiczne 3. Podstawowe algorytmy sortowania a. metody klasyczne b. QuickSort, HeapSort oraz MergeSort c. metody sortowania o złożoności liniowej (RadixSort, CountingSort) 4. Abstrakcyjne struktury danych: a. listy b. stosy i kolejki c. kolejki priorytetowe d. drzewa 5. Algorytmy wyszukiwania i selekcji a. algorytm Hoare‟ b. - wyszukiwania sekwencyjne c. wyszukiwanie binarne d. - drzewa BST [1]. Algorytmy w C++, Sedgewick R., Read Me 1999 [2]. Algorytmy i struktury danych, L. Banachowski, K. Diks, W. Rytter, Wydawnictwa Naukowo - Techniczne, 2006. [3]. Wprowadzenie do algorytmów, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, Wydawnictwa Naukowo - Techniczne, 2004 [4]. Struktury danych w języku C, Drozdek, Simon D.L. - WNT, 2003 Prof. dr hab. Goldstein Stanisław 1. 2009/01/28 Course name: Algorithms and Complexity Course contents: 1. Analysis of algorithms: 2. 3. 4. 5. - The algorithms and methods of command - The concept of computational complexity - Worst case analysis - Probabilistic analysis The methods of designing algorithms - "Divide and conquer" - Greedy algorithms - Dynamic programming The basic algorithms for sorting - Methods of classic - QuickSort, HeapSort and MergeSort - Linear sorting methods (RadixSort, CountingSort) Abstract data types: - The list - Stacks and queues - Priority queues - Trees Search and selection: - Hoare'a algorithm - Sequential search - Binary search - BST trees 13 Nazwa przedmiotu: 1.7 ANALIZA MATEMATYCZNA DLA INFORMATYKÓW 1 (I) Kod: 1100-AM1LMI Forma przedmiotu: 30 godzin wykładu + 30 godzin konwersatorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: Wykład - egzamin pisemny; konwersatorium - zaliczenie Cele przedmiotu: Celem przedmiotu jest zapoznanie studenta z aparatem analizy matematycznej . Przedstawione są wiadomości dotyczące funkcji , ciągów, szeregów oraz omówione jest różniczkowanie i całkowanie funkcji. Umiejętności wstępne: LM0OMI Treści przedmiotu: 1. Funkcje; granica funkcji, ciągłość funkcji, własności funkcji ciągłych 2. Pochodne funkcji i ich zastosowanie do badania funkcji, twierdzenia o wartości średniej. Reguła de l‟Hospitala, wzór Taylora. 3. Ciągi liczbowe i ciągi funkcyjne. Szeregi liczbowe i szeregi funkcyjne, szeregi potęgowe. Promień zbieżności i przedział zbieżności szeregu potęgowego. 4. Całka nieoznaczona. Całkowanie przez części, całkowanie przez podstawienie. 5. Całka Riemanna. Interpretacja geometryczna całki oznaczonej. Własności całki Riemanna. Zastosowania całki. 6. Funkcje rzeczywiste określone w Rk. Granica podwójna. Pochodne cząstkowe. Ekstrema funkcji w Rk. Literatura: [1]. [2]. [3]. [4]. Gewert M., Skoczylas Z. - Analiza matematyczna 1. Kuratowski K.- Rachunek różniczkowy i całkowy. Leja F. - Rachunek różniczkowy i całkowy. Staniszewska J. – Wykłady z analizy matematycznej, cz. 1. Koordynator: Prof. dr hab. Władysław Wilczyński Data aktualizacji: 2009- 02-16 Course name: Mathematical Analysis for Computer Science Students 1 (I) Course contents: 1. Functions, limits of functions, continuity, properties of continuous functions. 2. Derivatives, applications of derivatives in investigation of functions. 3. Sequences of numbers and of functions. Series of numbers and of functions, powerseries. Radius and interval of convergence. 4. Undefined integral, integration by parts, variable-change integration. 5. Riemann integral.Geometrical interpretation of defined integral. Properties of Riemann integral. Applications. 6. Real functions in Euclidean space. Double limits. Partial derivatives. Extremes of functions in Euclidean space. 14 Nazwa przedmiotu: 1.8 ANALIZA MATEMATYCZNA DLA INFORMATYKÓW 2 (I) Kod: 1100-AM2LMI Forma przedmiotu: 30 godzin wykładu + 30 godzin konwersatorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: Wykład - egzamin pisemny; konwersatorium - zaliczenie Cele przedmiotu: Celem przedmiotu jest zapoznanie studenta z aparatem analizy matematycznej funkcji wielu zmiennych Umiejętności wstępne: MD0OMI, AM0LMI lub AM1LMI Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. Literatura: [1]. [2]. [3]. [4]. Funkcje rzeczywiste określone w Rk Granice podwójne i iterowane. Pochodne cząstkowe, pochodne kierunkowe, różniczka zupełna. Ekstrema funkcji w Rk, ekstrema warunkowe. Funkcja uwikłana. Ekstrema funkcji uwikłanej. Całki wielokrotne, całki iterowane Współrzędne biegunowe, cylindryczne, sferyczne. Twierdzenie o zamianie zmiennych. Gewert M. , Skoczylas Z. - Analiza matematyczna 2. Fichtenholz G.- Rachunek różniczkowy i całkowy. Leja F. - Rachunek różniczkowy i całkowy. Krysicki K. ,Włodarski L. – Analiza matematyczna w zadaniach. Koordynator: Prof. dr hab. Władysław Wilczyński Data aktualizacji: 2009- 02- 16 Course name: Mathematical Analysis for Computer Science Students 2 (I) Course contents: 1. Real functions defined in Rk 2. Double and iterated limits. 3. Partial derivatives, derivatives along vectors, differential. 4. Extremes of functions in Euclidean space, conditional extremes. 5. Implicit functions, extremes. 6. Multiple integrals, iterated integrals. 7. Polar, cylindric, spherical coordinates. Variable-change under integrals. 15 Nazwa przedmiotu: 1.9 ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH Kod: 1100-AS0LII Forma przedmiotu: Wykład, 30 godz. Ilość punktów ECTS: 3 Język wykładowy: Język polski Sposób zaliczenia: Kolokwium pisemne złożone z pytań testowych i zadań do rozwiązania Cele przedmiotu: Przedstawienie logicznych podstaw techniki cyfrowej i urządzeń służących do przetwarzania i przechowywania informacji. Omawia się najważniejsze podzespoły komputera, urządzeń peryferyjnych i zagadnienia dotyczące komunikacji między tymi elementami. Umiejętności wstępne: Brak specjalnych wymagań Treści przedmiotu: 1.Wiadomości historyczne na temat urządzeń liczących i komputerów. 2. Algebra Boole‟a i jej zastosowania w układach funkcjonalnych komputera. 3. Kodowanie i jego wykorzystanie w układach komputera. 4. Pamięć wewnętrzna komputera, jej budowa, typy i zarządzanie. 5. Realizacja operacji arytmetyczno-logicznych przez procesor. 6. Nośniki pamięci zewnętrznej, magistrale i interfejsy. 7. Pozostałe urządzenia peryferyjne. 8. Realizacja operacji wejścia-wyjścia. 9. Organizacja komputera na poziomie asemblera: reprezentacje instrukcji i danych, metody adresowania, architektura RISC i CISC. Literatura: [1] T. C. Bartee – Computer Architecture and Logic Design; McGraw-Hill, Inc; [2] B. S. Chalk – Organizacja i architektura komputerów; Wydawnictwa NaukowoTechniczne, Warszawa; [3] J. Duntemann – Zrozumieć Asembler; Wydawnictwo Translator s.c., Warszawa [4] P. Metzger – Anatomia PC. Architektura komputerów zgodnych z IBM PC; Helion, Gliwice; [5] L.S. Orilia – Computers and Information. An Introduction; McGraw-Hill Book Company, New York, … [6] M. Sargent III, R. L. Shoemaker – The Personal Computer from the Inside Out; Addison-Wesley Company; [7] J.E. Savage, S.Magidson, A.M. Stein – The Mystical Machine. Issues and Ideas in Comuting; Addison-Wesley Publishing Company, Massachusetts, … [8] W. Stallings – Organizacja i architektura systemu komputerowego. Projektowanie systemu a jego wydajność; Wydawnictwa Naukowo-Techniczne; Warszawa [9] K. Wojtusiewicz – Urządzenia techniki komputerowej cz. I i II; Mikom. Koordynator: Prof. dr hab. Wojciech Banaszczyk Data aktualizacji: 26.01.2009 Dli__s2, dli_gg_s4 Course name: Architecture of Computer Systems Course contents: 1. The History of Computer and other Aids to Computation. 2. Boolean Algebra and its Applications in Basic Functional Units of Computer. 3. Data Representation in Digital Computer. 4. Internal Memory of Computer: Types and Management. 5. Performing Arithmetic and Logic Operations by Processor. 6. External Memory of Computer, Bases and Interfaces. 7. Other Peripheral Devices. 8. Input-Output Operations. 9. Organization of Computer: Representing of Instructions and Data, Addressing Techniques, The Concept of Assembly Language, RISC and CISC Architecture. 16 Nazwa przedmiotu: 1.10 BADANIA OPERACYJNE Kod: 1100-BO0UII Forma przedmiotu: 30 godzin wykładu + 30 godzin konwersatorium Ilość punktów ECTS: 7 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin pisemny; konwersatorium – zaliczenie Cele przedmiotu: Celem przedmiotu jest zaznajomienie studenta z podstawowymi zagadnieniami z zakresu badań operacyjnych, zarówno od strony teoretycznej, jak i praktycznej. Umiejętności wstępne: AT0LMI, AM1LMI Treści przedmiotu: 1. Programowanie liniowe a. Modelowanie b. Metoda graficzna c. Metoda simpleks d. Reguła antycykliczna e. Dualność 2. Programowanie nieliniowe a. Zasada mnożników Lagrange‟a b. Twierdzenie Kuhna-Tuckera 3. Wybrane metody numeryczne dla zadań programowania nieliniowego a. Metoda gradientowa b. Metoda Newtona c. Metoda projekcji gradientu d. Metoda kierunków dopuszczalnych Literatura: [1] Z. Jędrzejczyk, K. Kukuła, J. Skrzypek, A. Walkosz - Badania operacyjne w przykładach i zadaniach [2] D. G. Luenberger, Y. Ye - Linear and Nonlinear Programming [3] H. A. Taha, Wprowadzenie do badań operacyjnych (w jęz. rosyjskim) [4] R. L. Rardin, Optimization in Operations Research [5] F. P. Vasiliev - Metody numeryczne rozwiązywania zadań ekstremalnych (w jęz. rosyjskim) Koordynator: Stanisław Walczak Data aktualizacji: 27.11.2009 Course name: OPERATION RESEARCH Course contents: 1. 2. 3. Linear programming a. Linear programming models b. Graphic method c. Simplex method d. Anti-cycling rule e. Duality Nonlinear programming a. Lagrange multiplier principle b. Kuhn-Tucker theorem Some numerical methods for nonlinear programming problems a. Gradient method b. Newton method c. Gradient projection method d. Feasible directions method 17 Nazwa przedmiotu: 1.11 BEZPIECZEŃSTWO SYSTEMÓW KOMPUTEROWYCH Kod: 1100-BS0OII Forma przedmiotu: 30 godzin wykładu + 30 godzin laboratorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – zaliczenie pisemne; laboratorium – zaliczenie Cele przedmiotu: Celem przedmiotu jest zaznajomienie studenta z podstawowymi problemami bezpieczeństwa systemów komputerowych. Omawiane będą zagrożenia związane, zarówno z samymi systemami operacyjnymi, jak i infrastrukturą sieciową. Student zapozna się z tworzeniem polityki bezpieczeństwa systemu informatycznego, metodami bezpiecznego programowania oraz narzędziami analizy zabezpieczeń i monitoringu, wykrywania ataków i ochrony przed nimi. Umiejętności wstępne: 1100-SO0OII, 1100-TS0LII Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. 8. Klasy bezpieczeństwa systemów komputerowych, aspekty prawne Modele uwierzytelniania, autoryzacji i kontroli dostępu Metody kryptograficzne zabezpieczeń systemów informatycznych Aspekty bezpieczeństwa sieci komputerowych Bezpieczeństwo systemów operacyjnych Bezpieczeństwo aplikacji użytkowych Metody bezpiecznego programowania Systemy wykrywania włamań, narzędzia analizy zabezpieczeń, zarządzanie bezpieczeństwem Literatura: [1]. J. Stokłosa, T. Bliski, T. Pankowski, Bezpieczeństwo danych w systemach informatycznych. PWN, 2001 [2]. W. Stallings, Network Security Essentials. Prentice Hall, 2003 [3]. N. Ferguson, B. Schneier, Kryptografia w praktyce., Helion, 2004 [4]. W. R. Cheswick. Firewalle i bezpieczeństwo w sieci, Helion, 2003 Koordynator: Prof. dr hab. Ryszard Pawlak Data aktualizacji: 19.11.2009 dli-07-w5 Course name: Course contents: 1. 2. 3. 4. 5. 6. 7. 8. Security of computer systems Computer security classes, legal aspects Models for authentication, authorization and access control Cryptographic methods for securing computer systems Computer networks security aspects Operating systems security User applications security Secure programming techniques Intrusion detection systems, tools for security analysis, security management 18 Nazwa przedmiotu: 1.12 ELEMENTY SZTUCZNEJ INTELIGENCJI Kod: 1100-SI0LII Forma przedmiotu: 30 godzin wykładu + 30 godzin laboratorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin pisemny; laboratorium informatyczne – zaliczenie na podstawie oddawanych projektów Umiejętności wstępne: PS0LII, PR0OII Cele przedmiotu: Omówienie podstawowych zagadnień i problemów sztucznej inteligencji. Słuchacz powinien posiąść umiejętność opisywania przestrzeni problemu wyrażonego w języku naturalnym przy pomocy stanów i operatorów. Znaczny nacisk położony jest także na umiejętności praktycznego wykorzystania omawianych metod do rozwiązania konkretnych problemów. Treści przedmiotu: 1. Sztuczna inteligencja – definicje. 2. Test Turinga. 3. Silna i słaba sztuczna inteligencja. 4. Wpływ wyboru sposobu reprezentacji problemu na jego rozwiązanie. 5. Język jako narzędzie reprezentacji i wnioskowania: PROLOG - elementarne wprowadzenie do języków programowania w logice. 6. Algorytmy przeszukiwania przestrzeni wszerz i w głąb. 7. Algorytmy związane z poszukiwaniem ścieżki (best first search, hill climbing, meansends analysis). 8. Algorytmy typu Min-Max. 9. Rozwiązywanie problemów przeszukiwania z ograniczeniami za pomocą algorytmów z nawrotami. 10. Automat Moor'a (np. w zagadnieniu sterowania zachowaniem postaci). 11. Drzewa decyzyjne. Literatura: Zasadniczym źródłem informacji są materiały dostarczone studentom w formie skryptu (dostępne i aktualizowane na bieżąco na stronie http://math.uni.lodz.pl/~fulmanp), zarówno w trakcie ćwiczeń jak i wykładu. W skrypcie zawarto także obszerny spis polecanej (i zarazem dostępnej) literatury uzupełniającej, m.in.: [1]. M. J. Kasperski, „Sztuczna inteligencja. Droga do myślących maszyn”, Helion, 2003. [2]. E. Rich, K. Knight, „Artificial intelligence”, Mc-Graw-Hill, Inc., 1991. [3]. R. Penrose, „Nowy umysł cesarza. O komputerach, umyśle i prawach fizyki”, PWN, Warszawa 2000. [4]. Materiały dostarczane w formie skryptu (dostępne i aktualizowane na bieżąco na stronie http://math.uni.lodz.pl/~fulmanp). Koordynator: Prof. dr hab. Władysław Wilczyński Data aktualizacji: 2009-01-30 Dli_s6 Course name: Elements of Artificial Intelligence Course contents: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Artificial intelligence - definitions The Turing Test. Strong Artificial Iteligence and Weak Artificial Inteligence. Data and states representation and its influence of problem solution. Programming language as knowledge representation and reasoning tool: PROLOG an introduction to logic programming languages. Traversing state space with breadth-first and depth-first (and similar) algorithms. Search algorithms (best first search, hill climbing, means-ends analysis). Algorithms of the minimax type. Backtracking algorithms. Moore machine (e.g. in boot behaviour in computer game). Decision tree. 19 Nazwa przedmiotu: 1.13 GEOMETRIA KRZYWYCH I POWIERZCHNI Kod: 1100-GP0OMI Forma przedmiotu: 30 godz wykładu + 30 godz konwersatorium Ilość punktów ECTS: 6 Język wykładowy: polski lub angielski Sposób zaliczenia: zaliczenie ćwiczeń na podstawie pisemnych kolokwiów, egzamin ustny Cele przedmiotu: Jest to wykład geometrii różniczkowej, który obejmuje klasyczną geometrię krzywych i powierzchni w przestrzeni trójwymiarowej, wyłożoną językiem współczesnym w sposób umożliwiający wykorzystanie nabytej wiedzy w pracy nad grafiką komputerową. Umiejętności wstępne: algebra liniowa (AG2OMM, AG2OMI lub rownoważne), analiza matematyczna (AM2XXX, RR3LMM lub równoważne) Treści przedmiotu: 1. 2. 3. Geometria krzywych płaskich i przestrzennych: długość, parametryzacja naturalna, krzywizna i skręcenie, wzory Freneta, trójścian Freneta, podstawowe twierdzenie teorii krzywych. Globalne twierdzenia geometrii krzywych (informacyjnie). Geometria powierzchni: opis parametryczny i uwikłany powierzchni, płaszczyzna styczna, formy podstawowe, krzywizna normalna, krzywizny główne, krzywizna średnia, krzywizna Gaussa, krzywizna geodezyjna, linie geodezyjne, interpreatcja geometryczna krzywizn. Zastosowanie programów komputerowych do obliczania niezmienników geometrycznych krzywych i powierzchni oraz do ich przedstawiania graficznego. Literatura: [1] Goetz A., Geometria różniczkowa, PWN, Warszawa 1965 [2] Oprea J., Geometria różniczkowa i jej zastosowania, PWN, Warszawa 2002 Koordynator: Prof. dr hab. Paweł Walczak Data aktualizacji: 07/02/2009 Dli_gg_s54 Course name: Geometry of Curves and Surfaces Course contents: 1. Geometry of curves in the plane and in the 3-dimensional space: length, parametrization by arc length, curvature and torsion, Frenet fromulae, Frenet frame, fundamental theorem of curves theory. Global theorems of geometry of curves (information). 2. Geometry of surfaces: parametrization and implicit description, tangent space, fundamental forms, normal curvature, principal curvatures, mean curvature, Gauss curvature, geodesic curvature and geodesic lines, geometric interpretation of curvatures. 3. Computers in calculations of geometric incvariants and drawings of curves and surfaces. 20 Nazwa przedmiotu: 1.14 GRAFIKA KOMPUTEROWA Kod: 1100-GK0OII Forma przedmiotu: 30 godzin wykładu + 30 godzin laboratorium komputerowego Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład - egzamin pisemny, laboratorium – programy zaliczeniowe Umiejętności wstępne: AT0LMI, AM1 OMI, MP0LII, WP0 LII, PS0 LII, PR0 OII Cele przedmiotu: Celem wykładu jest zaznajomienie studenta z teoretycznymi podstawami grafiki komputerowej. Realizacja zadań laboratoryjnych polega na implementacji algorytmów tworzenia grafiki, wykorzystaniu bibliotek graficznych. Projektowane są aplikacje graficzne. Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Algorytmy rastrowe rysowania prymitywów graficznych. Przekształcenia geometryczne (macierze przekształceń, współrzędne jednorodne). Rzutowanie równoległe i perspektywiczne. Eliminacja powierzchni niewidocznych. Oświetlenie i cieniowanie. Ray-tracing. Kolor w grafice komputerowej. Modele barw. Tekstury. Struktury danych w grafice komputerowej. Modelowanie krzywych i powierzchni. Literatura: [1]. Foley J.D., Van Dam A., Feiner S.K., Hughes J.F., Philips R.L. Wprowadzenie do grafiki komputerowej, [2]. Jankowski M. Elementy grafiki komputerowej, [3]. Shirley P. Fundamentals of Computer Graphics, [4]. Neider J., Davis T., Woo M. OpenGL. Programming Guide, [5]. Hawkins K., Astle D. OpenGL – programowanie gier. Koordynator: Prof. dr hab. Paweł Walczak Data aktualizacji: 2009-02-20 Dli_gg_s5 Course name: Course contents: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Computer Graphics Raster algorithms. Geometric transformations. Orthographic and perspective projections. Hidden surfaces elimination. Light and shading. Ray-tracing. Color in computer graphics. Color models. Texture mapping. Data structures for graphics. Modeling of curves and surfaces. 21 Nazwa przedmiotu: 1.15 GRAFIKA W SERWISACH INTERNETOWYCH Kod: 1100-GS0OII Forma przedmiotu: 30 godz. laboratorium informatycznego Ilość punktów ECTS: 3 Język wykładowy: polski Sposób zaliczenia: Pisemny Cele przedmiotu: Celem zajęć jest przygotowanie do projektowanie grafiki na użytek serwisów internetowych oraz zaznajomienie z narzędziami tam stosowanymi. Umiejętności wstępne: GU0OII, PA0OII, MA0OII Treści przedmiotu: 1. 2. 3. 4. 5. Style CSS. Obróbka grafiki rastrowej dla potrzeb serwisów internetowych. Przygotowanie i obróbka grafiki wektorowej dla potrzeb serwisów internetowych. Podstawy języka Adobe ActionScript. Podstawy programowania efektów graficznych z wykorzystaniem języka ActionScript. Literatura: [1]. Colin Moock, Essential ActionScript 3.0, O'Reilly, 2007. [2]. Steve Webster, Todd Yard, Sean McSharry, Foundation ActionScript 3.0 with Flash CS3 and Flex, Friends of ED, 2007. [3]. Robert Reinhardt, Snow Dowd, Adobe Flash CS3 Professional Bible, John Wiley and Sons, 2007. [4]. Akkana Peck, Beginning Gimp: From Novice to Professional, Apress, 2006. [5]. Lynda Weinman, Ali Karp, Designing Web Graphics.4, New Riders, 2003. [6]. Dave Gibbons, Nick Boyce, Adrian Roselli, Isaac Forman, Web Graphics for Nondesigners, glasshaus, 2002. [7]. Eric A. Meyer, Cascading Style Sheets: The Definitive Guide, O'Reilly, 2004. Koordynator: Prof. dr hab. Ryszard Pawlak Data aktualizacji: 204.02.2009 Dli_w6 Course name: Course contents: 1. 2. 3. 4. 5. Graphics in Web Services CSS style sheets. Working with bitmap graphics for web services. Preparing and working with vector graphics for web services. Introduction to Adobe ActionScript. Elements of programing in graphical effects using ActionScript. 22 1.16 KOMPUTEROWE WSPOMAGANIE OBLICZEŃ Nazwa przedmiotu: Kod: 1100-KW0UII Forma przedmiotu: 30 godzin wykładu + 30 godzin laboratorium komputerowego (MATLAB) Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – zaliczenie ustne, laboratorium - zaliczenie na podstawie oddanych prac Cele przedmiotu: Celem przedmiotu jest wyrobienie u studentów biegłości w wykonywaniu częściej spotykanych obliczeń numerycznych przy użyciu Matlaba. Umiejętność taka umożliwi im w przyszłości branie udziału w pracach projektowych, rozwojowych i laboratoryjnych prowadzonych w różnych firmach i instytucjach, gdzie ważna jest wysoka wydajność obliczeń. Umiejętności wstępne: Analiza matematyczna dla informatyków 2 (AM2 LMI) Metody probabilistyki i statystyki (PS0 LMI) Algebra liniowa lub Algebra z teoria liczb Podstawy obsługi środowiska Matlab. Wprowadzenie do m-funkcji. Pętle i instrukcje warunkowe. Znajdowanie pierwiastków. Interpolacja i ekstrapolacja. Metoda najmniejszych kwadratów. Macierze. Wartości własne i wartości osobliwe. Całkowanie numeryczne. Wprowadzenie do systemów dynamicznych i rozwiązywanie równań różniczkowych zwyczajnych. 10. Symulacja i generowanie liczb losowych. Modelowanie szumu. 11. Metody Fouriera analizy sygnałów i obrazów ( funkcje ortogonalne, szereg Fouriera, splot funkcji, transformata Fouriera). 12. Przykłady zastosowania metod numerycznych w analizie obrazów i sygnałów. Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. 8. 9. Literatura: [1]. S. R. Otto, J. P. Denier, An Introduction to Programming and Numerical Methods in Matlab, Springer, 2005. [2]. C. Moler, Numerical Computing with Matlab. SIAM, 2004. [3]. R. C. Gonzalez, R. E. Woods, S. L. Eddins. Digital Image Processing Using MATLAB. Prentice Hall, 2004. Literatura firmowa firmy Mathworks dostępna na stronie internetowej firmy (dokumentacja Matlaba). Koordynator: Prof. dr hab. Stanisław Goldstein Data aktualizacji: 2009-06-18 Course name: Computer-Aided Calculations Course contents: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Principles of operating in Matlab environment. Introduction to m-functions. Loops and conditional Statements Root finding. Interpolation and extrapolation. Least quares method. Matrices. Eigenvalues and singular values. Numerical integration. Introduction to dynamical systems and solving ordinary differential equations. Simulation and generation of random numbers. Noise modelling. Fourier methods for signal and image analysis (orthogonal functions, Fourier series, convolution of functions, Fourier transform). 12. Examples of the use of numerical methods in image and signal analysis. 23 1.17 LOGIKA I TEORIA MNOGOŚCI Nazwa przedmiotu: Kod: 1100-LM0OMI Forma przedmiotu: 30 godzin wykładu + 30 godzin konwersatorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: Wykład – egzamin pisemny, konwersatorium – zaliczenie (kolokwia) Cele przedmiotu: Stosowanie rachunku zdań do dowodzenia własności zbiorów. Umiejętność dowodzenia twierdzeń. Sprawdzanie własności relacji i opis klas abstrakcji. Sprawdzanie własności funkcji i znajdowanie funkcji odwrotnej oraz funkcji złożonej. Wykazanie równoliczności różnych zbiorów. Umiejętności wstępne: Wiadomości ze szkoły średniej (matura rozszerzona) Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. 8. 9. Rachunek zdań. Metody dowodzenia twierdzeń. Zbiory – działania na zbiorach; iloczyn kartezjański. Kwantyfikatory. Sumy i iloczyny uogólnione. Relacje: własności relacji; relacja równoważności, klasa abstrakcji. Funkcja jako relacja; bijekcja; funkcja odwrotna; złożenie funkcji; obraz i przeciwobraz Równoliczność zbiorów; zbiory przeliczalne; przykład zbioru nieprzeliczalnego. Relacja częściowego porządku; porządek liniowy. Literatura: [1] H. Rasiowa, Wstęp do matematyki współczesnej [2] J. Cichoń, Wykład ze wstępu do matematyki [3] A.K. Ross, Matematyka dyskretna Koordynator: Prof. dr hab. Adam Paszkiewicz Data aktualizacji: 30.01.2009 Dli_s1 Course name: LOGIC AND SET THEORY Course contents: 1. 2. 3. 4. 5. 6. 7. 8. 9. Statement calculus Proof methods Sets, set operations, cartesian product Quantifiers Union and intersection of the family of sets Relations: properties, equivalence relation, equivalence class Function as a relation, one to one functions, inverse function, composition of functions, image and preimage of a set Equinumerosity of sets, countable sets, an example of uncountable set Partial order relations, linear order 24 Nazwa przedmiotu: 1.18 MATEMATYCZNE PODSTAWY GRAFIKI KOMPUTEROWEJ Kod: 1100-MP0LII Forma przedmiotu: 30 godzin wykładu + 30 godzin konwersatorium Ilość punktów ECTS: 6 Język wykładowy: polski lub angielski Sposób zaliczenia: wykład – egzamin ustny, konwersatorium – zaliczenie kolokwiów Cele przedmiotu: Dostarczenie grafikom komputerowym narzędzi geometrycznych pomocnych w projektowaniu obrazów statycznych i dynamicznych Umiejętności wstępne: AT0LMI Treści przedmiotu: Literatura: 1. 2. 3. 4. 5. 6. Funkcje trygonometryczne i własności wielokątów Własności wielościanów Kwaterniony i przestrzeń rzutowa Przekształcenia geometryczne Geometria analityczna w przestrzeni Krzywe i powierzchnie stopnia drugiego [1] K. Borsuk, Geometria analityczna wielowymiarowa [2] B. Gdowski, E. Pluciński, Zbiór zadań z rachunku wektorowego i geometrii aanlitycznej [3] D. Marsh, Applied Geometry for Computer Graphics and CAD [4] J. Vince, Geometry for Computer Graphics Koordynator: Prof. dr hab. Paweł Walczak Data aktualizacji: 25/02/2009 Course name: MATHEMATICAL FOUNDATIONS OF COMPUTER GRAPHICS Course contents: 1. Trigonometric functions and polygons properties 2. Properties of polyhedra 3. Quaternions and projective space 4. Geometric transformations 5. Analytic geometry of space 6. Second degree curves and surfaces 25 Nazwa przedmiotu: 1.19 MATEMATYKA DYSKRETNA Kod: 1100-MD0OMI Forma przedmiotu: 30 godzin wykładu + 30 godzin konwersatorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: Wykład – egzamin ustny; konwersatorium – zaliczenie Cele przedmiotu: Celem przedmiotu jest zaznajomienie studenta z podstawowymi elementami matematyki dyskretnej wraz z ich zastosowaniami. Umiejętności wstępne: LM0OMI, AM1LMI Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. 8. Indukcja matematyczna Kombinatoryka: wyprowadzenie podstawowych wzorów kombinatorycznych i ich zastosowanie w zadaniach Asymptotyka funkcji i ciągów Podzielność liczb naturalnych oraz liczby pierwsze Rekurencja: przedstawianie ciągów w postaci rekurencyjnej, szukanie postaci jawnej ciągów Funkcje tworzące ciągów Równania różnicowe Podstawy teorii grafów: funkcja gamma, drogi i cykle, macierze grafów, grafy relacji, stopnie wierzchołków Literatura: [1] K.A. Ross, C.H. Wright „Matematyka dyskeretna”, PWN, Warszawa, 2000. [2] H. Rasiowa „Wstęp do matematyki współczesnej”, PWN, Warszawa, 1998. [3] R. Johnsonbaugh „Discrete Mathematics”, Prentice Hall, Upper Saddle River, New Jersey, 1997. [4] J.A. Anderson „Discrete Mathematics with Combinatorics”, Prentice Hall, Upper Saddle River, New Jersey, 2004. Koordynator: Prof. dr hab. Adam Paszkiewicz Data aktualizacji: 30.01.2009 Course name: Course contents: 1. 2. 3. 4. 5. 6. 7. 8. Discrete mathematics Mathematical induction Combinatorics: basic formulas and their application Asymptotics of functions and sequences Divisibility of natural numbers and prime numbers Recursive form of a sequence Generating functions Recurrence relations Foundations of graph theory: gamma function, paths and cycles, graph matrices, graphs of relations, degree of a vertex. 26 Nazwa przedmiotu: 1.20 METODY NUMERYCZNE Kod: 1100-MN0OII Forma przedmiotu: 30 godzin wykładu + 30 godzin laboratorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin pisemny; laboratorium – projekty zaliczeniowe Umiejętności wstępne: AM1LMI, AT0LMI, PP0LLI , PS0LLI, WP0LII Cele przedmiotu: Metody numeryczne zajmują się konstruowaniem i badaniem algorytmów przybliżonego rozwiązywania różnych problemów obliczeniowych. Celem wykładu jest przedstawienie podstawowych pojęć i metod analizy numerycznej. Na ćwiczeniach prezentowane będą przykłady praktycznego stosowania poznanych metod oraz badane ich charakterystyki (na podstawie napisanych przez studentów programów oraz przy wykorzystaniu znanych środowisk obliczeniowych). Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. Literatura: [1] [2] [3] [4] [5] Podstawowe pojęcia analizy numerycznej. Elementy teorii błędów. Przybliżanie funkcji - interpolacja wielomianowa i interpolacja splajnami. Różniczkowanie numeryczne. Całkowanie numeryczne - kwadratury interpolacyjne. Metody iteracyjne rozwiązywania równań nieliniowych Metody bezpośrednie i iteracyjne rozwiązywania układów równań liniowych. Wybrane algorytmy rozwiązywania innych zagadnień obliczeniowych Björck Å., Dahlquist G. - Metody numeryczne; Fortuna Z., Macukow B., Wąsowski J. - Metody numeryczne; Kincaid D., Cheney W. - Analiza numeryczna; Demidowicz B.P., Maron L.A. - Metody numeryczne, część I; Stożek E. - Metody numeryczne w zadaniach. Koordynator: Prof. dr hab. Marcin Studniarski Data aktualizacji: 2008-12-12 Course name: Course contents: 1. 2. 3. 4. 5. 6. 7. NUMERICAL METHODS Fundamental notions of numerical analysis. Elements of the error theory Approximation of functions – polynomial interpolation and spline interpolation. Numerical differentiation. Numerical integration – interpolation quadratures. Iteration methods for solving nonlinear equations Direct and iterative methods for solving linear systems. Selected algorithms of solving other computational problems. 27 Nazwa przedmiotu: 1.21 METODY PROBABILISTYKI I STATYSTYKI Kod: 1100-PS0LMI Forma przedmiotu: 30 godzin wykładu + 30 godzin konwersatorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: Wykład – egzamin ustny; konwersatorium – zaliczenie Cele przedmiotu: Celem przedmiotu jest zaznajomienie studenta z podstawami teorii prawdopodobieństwa i statystyki. Przedstawione są podstawowe pojęcia i twierdzenia tych dziedzin oraz pokazane jest ich zastosowanie. Umiejętności wstępne: LM0OMI, AM1LMI Treści przedmiotu: 1. Prawdopodobieństwo jako miara: definicja i własności prawdopodobieństwa 2. Prawdopodobieństwo geometryczne, prawdopodobieństwo warunkowe, wzór na prawdopodobieństwo całkowite, wzór Bayesa 3. Niezależność zdarzeń losowych 4. Definicja zmiennej losowej 5. Przykłady i typy zmiennych losowych 6. Rozkład zmiennej losowej, dystrybuanta i gęstość (definicje i twierdzenia) 7. Wartość oczekiwana i wariancja 8. Zmienne losowe wielowymiarowe (wektory losowe), rozkład łączny i rozkłady brzegowe, macierz kowariancji, współczynnik korelacji 9. Niezależność zmiennych losowych 10. Prawa wielkich liczb i twierdzenia graniczne 11. Podstawowe zagadnienia estymacji 12. Testowanie hipotez Literatura: [1] J. Jakubowski, R. Sztencel „Wstęp do teorii prawdopodobieństwa”, Scipt, Warszawa, 2001. [2] P. Billingsley „Prawdopodobieństwo i miara”, PWN, Warszawa, 1987. [3] M. Krzyśko „Statystyka matematyczna”, Wydawnictwo Naukowe UAM, Poznań, 1996. [3] R. Zieliński „Siedem wykładów wprowadzających do statystyki matematycznej, PWN, Warszawa, 1990. [4] J. Bartoszewicz „Wykłady ze statystyki matematycznej”, PWN, Warszawa, 1996. Koordynator: Prof. dr hab. Adam Paszkiewicz Data aktualizacji: 30.01.2009 Dli_s5 Course name: Methods of probability and statistics Course contents: 1. 2. Probability as measure: definition and properties of probability Geometric probability, conditional probability, the total probability formula, the Bayes formula 3. Independence of random events 4. Definition of a random variable 5. Examples and types of random variables 6. Distribution of a random variable, distribution function, density function 7. Expectation and variance 8. Multidimensional random variables; covariance matrix, correlation coefficient 9. Independence of random variables 10. Laws of large numbers and limit theorems 11. Foundations of estimation theory 12. Testing hypotheses 28 Nazwa przedmiotu: Kod: Forma przedmiotu: Ilość punktów ECTS: Język wykładowy: 1.22 MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH 1100-IS0UII 30 godzin wykładu + 30 godzin laboratorium 6 polski Sposób zaliczenia: wykład – egzamin pisemny; laboratorium – zaliczenie na podstawie projektów Cele przedmiotu: Podstawowym celem wykładów jest przedstawienie zasad obowiązujących podczas tworzenia systemów informatycznych, ze szczególnym uwzględnieniem etapów analizy i modelowania. Omówione zostaną następujące zagadnienia • analiza szczegółowych cech systemów informatycznych • zapoznanie z metodami modelowania architektury informacyjnej przedsiębiorstwa • zapoznanie z wybranych metodami modelowania organizacji i systemów oraz związanych z nimi artefaktów • zapoznanie z wybranymi technikami analizy systemów informatycznych i związanych z nimi artefaktów Celem laboratorium jest nabycie umiejętności w konstruowaniu modeli w wybranym obszarze informatyki i umiejętnego posługiwania się nimi. Umiejętności wstępne: Treści przedmiotu: 1. Modele, perspektywy i diagramy. Czym jest model i do czego jest potrzebny? Grupa docelowa modelu. Proces analizy. Diagramy w roli perspektyw. 2. System informacyjny a system informatyczny. 3. UML. Geneza i ewolucja. Przegląd cech języka. 4. Diagramy UML 2.2 (w tym m.in.: diagramy przypadków użycia, diagramy klas, diagramy czynności, diagramy maszyny stanowej, diagramy interakcji, diagramy wdrożeniowe, diagramy struktur połączonych, diagram pakietów) 5. Metodyka RUP 6. Metody i techniki modelowania systemów informacyjnych. Strukturalne, obiektowe i społeczne podejścia do analizy i modelowania. 7. Modelowanie systemów biznesowych 8. Modelowanie analityczne 9. Modelowanie integracji systemów Literatura: [1]. P. Graessle, H. Baumann, P. Baumann, ,,UML 2.0 w akcji. Przewodnik oparty naprojektach'', Helion, 2006 [2]. S. Wrycza, B. Marcinkowski, K. Wyrzykowski, ,,Język UML 2.0 w modelowaniusystemów informatycznych'', Helion, 2005 [3]. S. Wrycza, ,,UML 2.1. Ćwiczenia'', Helion, 2006 Koordynator: Prof. dr hab. Władysław Wilczyński Data aktualizacji: 20.09.09 Course name: Modeling And Analysis Of Information Systems Course contents: 1. Models, views and diagrams. What a model is and what it is for? Model target group. Analysis process. Diagrams as a views. 2. What an information system is? 3. UML. Origin and evolution. Features review. 4. UML 2.2 diagrams (use case diagrams, class diagrams, activity diagrams, state machine diagrams, interaction diagrams, implementation diagrams, composite structure diagrams, package diagrams). 5. RUP methodology. 6. Information systems modeling methods and techniques. Structured, object oriented and social approach to analysis and modeling. 7. Business modeling. 8. Robustness modeling. 9. Integration systems modeling. 29 Nazwa przedmiotu: 1.23 MODELOWANIE I ANIMACJA KOMPUTEROWA Kod: 1100-MA0OII Forma przedmiotu: 60 godzin laboratorium komputerowego Ilość punktów ECTS: 4 Język wykładowy: polski Sposób zaliczenia: Projekty zaliczeniowe Umiejętności wstępne: MP0 LII, WP0 LII Cele przedmiotu: Celem zajęć jest praktyczne zapoznanie studenta z problematyką modelowania i animacji w wybranych pakietach graficznych. Realizacja zadań laboratoryjnych polega na przygotowaniu modelu, a następnie przygotowaniu animacji. Treści przedmiotu: 1. Sposoby modelowania obiektów graficznych. 2. Konstrukcja sceny, oświetlenie, tło. 3. 4. 5. 6. 7. Literatura: Animacje, zasada kluczy, morfing 2D i 3D. Animacje z wykorzystaniem własności fizycznych, kolizje. Modele elastyczne, obiekty siatkowe. Modelowanie roślin, animacje procesu wzrostu. Komputerowe tworzenie filmów. [1] Foley J.D., Van Dam A., Feiner S.K., Hughes J.F., Philips R.L. Wprowadzenie do grafiki komputerowej, [2] [3] [4] [5] [6] Kiciak P. Podstawy modelowania krzywych i powierzchni, Hawkins K., Astle D. OpenGL – programowanie gier, Matyka M. Symulacje komputerowe w fizyce, Murdock K. L. 3ds Max 8. Biblia, Bociek B. Blender. Podstawy modelowania. Koordynator: Prof. dr hab. Paweł Walczak Data aktualizacji: 2009-02-20 Dli_gg_3 Course name: Course contents: 1. 2. 3. 4. 5. 6. 7. Modeling and Computer Animation Methods for modeling graphics objects. Scene design, lighting, background. Animations, key-frame animations, 2D and 3D morphing. Physical-based animations, collisions. Elastic models, mesh objects. Modeling of plants, animations of growth processes. Computer aided film making. 30 Nazwa przedmiotu: 1.24 PARADYGMATY PROGRAMOWANIA Kod: 1100-PD0OII Forma przedmiotu: 30 g. wykładu + 30 g. laboratorium Ilość punktów ECTS: 6 Język wykładowy: Polski Sposób zaliczenia: Laboratorium – egzamin przy komputerze, wykład – egzamin ustny Cele przedmiotu: Zapoznanie studentów z rozmaitymi paradygmatami programowania wraz z ich aspektem pragmatycznym. Umiejętności wstępne: 1100-WP0LII, 1100-PS0LII, 1100-PP0LII Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. 8. 9. Przegląd języków programowania w aspekcie historycznym. Wartości i typy wraz ze sposobami ich implementacji. Zmienne i pamięć. Aspekt implementacyjny. Wiązanie i zakres działania. Abstrakcja proceduralna i abstracja danych. Progamowanie bazujące na obiektach i obiektowo zorientowane. Programowanie rodzajowe. Polimorfizm statyczny i dynamiczny i sposoby jego realizacji. Wielozadaniowość i jej realizacja w językach programowania. Paradygmaty: programowanie imperatywne, obiektowe, współbieżne, funkcyjne i logiczne. Prezentacja języka funkcyjnego (Haskell) i logicznego (Prolog). Języki skryptowe. Literatura: [1] M. Marcotty, H. Ledgard, W kręgu języków programowania [2] D. A. Watt, Programming Language Design Concepts [3] M. L. Scott, Programming Language Pragmatics [4] R. W. Sebesta, Concepts of Programming Languages, 6th 3ed. [5] L. B. Wilson, R. G. Clark, Comparative Programming Languages. Koordynator: Prof. dr hab. Stanisław Goldstein Data aktualizacji: 12.12.2009 Course name: PROGRAMMING PARADIGMS Course contents: 1. 2. 3. 4. 5. 6. 7. 8. 9. Review of programming languages – chronological aspect Values and types – the methods of their implementation. Variables and memory, the implementation aspect Binding and scopes. Procedural and data abstraction. Object based and object oriented programming Generic programming. Static and dynamic polymorphism and the methods of its implementation. Multitasking and its realization in programming languages. Paradigms: imperative programming, object oriented programming, multitasking, functional and logic programming. Presentation of a functional language (Haskell) and a logic one (Prolog). Script languages. 31 Nazwa przedmiotu: 1.25 PODSTAWY BAZ DANYCH Kod: 1100-PB0OII Forma przedmiotu: Wykład 30godz. i laboratorium 30 godz. Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: Sposób zaliczenia: z wykładu egzamin w formie testu a z laboratorium zaliczenie praktyczne Cele przedmiotu: Celem przedmiotu jest zaznajomienie studenta z teoretycznymi podstawami relacyjnych baz danych, z podstawami języka zapytań SQL oraz z przygotowywaniem schematu relacyjnej bazy danych na podstawie modelu encja-związek, z tworzeniem transakcji przez zanurzanie zapytań SQL-owych w wybranym języku programowania, z oceną różnych strategii wykonywania zapytań. Umiejętności wstępne: Wstęp do programowania (I) – 1100-WP0LII Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Modele danych. Model relacyjny. Algebra relacji i rachunek relacyjny. SQL jako język definiowania danych i manipulowania danymi. Modelowanie związków encji. Zależności funkcyjne i normalizacja. Metody implementacji baz danych – pamiętanie danych, B-drzewa, B*-drzewa, indeksy, partycjonowanie tabel. Pojęcie transakcji i kontrola wielodostępu. Integralność danych relacyjnych. Programistyczny SQL – osadzony i dynamiczny SQL. Optymalizacja zapytań. Wprowadzenie do obiektowych baz danych. Technologie internetowe i SZBD. Literatura: [1] Connolly T., Begg C.; Systemy baz danych. Tom 1 i tom 2. Wydawnictwo RM 2004. [2] Date C.J.; Wprowadzenie do systemów baz danych. WNT Warszawa 2000 [3] Garcia-Molina H., Ullman J.D.,:Widom J.: Implementacja systemów baz danych. WNT 2003. [4] Ullman J.D., Widom J. : Podstawowy wykład z systemów baz danych. PWN, 1999. [5] Ladanyi H.: SQL. Księga eksperta. Wydawnictwo Helion 2000. [6] R. Elmasri, S. B. Navathe: Wprowadzenie do systemu baz danych, Wydawnictwo Helion 2005. [7] Date C. J.; An Introduction to Database Systems. Addison-Wesley Publishing Company 1995. [8] Oracle Database Documentation Library [9] Materiały udostępniane studentom drogą elektroniczną Koordynator: Prof. dr hab. Marcin Studniarski Data aktualizacji: 30.01.2009 Dli_s3 Course name: Course contents: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Foundations of databases Database models. Relational database. Relational algebra. Structured Query Language – SQL Database normalization. Database Implementation Methods – B- Tree, B*tree, indexes. Entity-relationship model. Database transaction. Optimization SQL statement. Introduction to distribute database. 32 Nazwa przedmiotu: 1.26 PODSTAWY GRAFIKI KOMPUTEROWEJ Kod: 1100-PG0LII Forma przedmiotu: 30 godzin wykładu + 30 godzin laboratorium komputerowego Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład - egzamin pisemny, laboratorium – programy zaliczeniowe Umiejętności wstępne: AT0LMI, AM1LMI, WP0LII, PS0LII, PR0OII Cele przedmiotu: Celem zajęć jest zapoznanie studenta z podstawowymi technikami w grafice komputerowej. Na wykładzie przedstawiane są teoretyczne podstawy grafiki komputerowej. Realizacja zadań laboratoryjnych polega na implementacji algorytmów tworzenia grafiki, wykorzystaniu bibliotek graficznych. Projektowane są aplikacje graficzne oraz graficzne interfejsy użytkownika. Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. 8. 9. Literatura: Algorytmy rastrowe rysowania prymitywów graficznych. Przekształcenia geometryczne (zapis macierzowy, współrzędne jednorodne). Rzutowanie równoległe i perspektywiczne. Eliminacja powierzchni niewidocznych. Oświetlenie i cieniowanie. Kolor w grafice komputerowej. Modele barw. Struktury danych w grafice komputerowej. Modelowanie obiektów 3D. Graficzne interfejsy użytkownika (komunikacja człowiek-komputer). [1] Foley J.D., Van Dam A., Feiner S.K., Hughes J.F., Philips R.L. Wprowadzenie do grafiki komputerowej, [2] [3] [4] [5] Jankowski M. Elementy grafiki komputerowej, Shirley P. Fundamentals of Computer Graphics, Neider J., Davis T., Woo M. OpenGL. Programming Guide, Hawkins K., Astle D. OpenGL – programowanie gier. Koordynator: Prof. dr hab. Paweł Walczak Data aktualizacji: 2009-02-20 Dli_07, dli_gg_09 Course name: Course contents: 1. 2. 3. 4. 5. 6. 7. 8. 9. Foundations of Computer Graphics Raster algorithms. Geometric transformations. Orthographic and perspective projections. Hidden surfaces elimination. Light and shading. Color in computer graphics. Color models. Data structures for graphics. 3D object modeling. Graphical user interface (Human – computer interaction) 33 Nazwa przedmiotu: 1.27 PROGRAMOWANIE APLIKACJI INTERNETOWYCH Kod: 1100-PA0OII Forma przedmiotu: 18 godzin wykładu + 18 godzin pracowni komputerowej Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin pisemny; pracownia komputerowa – projekt zaliczeniowy Cele przedmiotu: Celem przedmiotu jest przedstawienie zagadnień związanych z tworzeniem dynamicznych aplikacji w systemie WWW. Do programowania logiki po stronie klienta będzie użyty język ECMAScript/JavaScript, natomiast po stronie serwera język PHP. Umiejętności wstępne: WP0LII Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. Literatura: Definicja aplikacji internetowej. Architektura aplikacji internetowej. Integralność danych i bezpieczeństwo. Skalowanie aplikacji internetowych. Standardy: XHTML, CSS, SVG, DOM. Języki programowania JavaScript/ECMAScript, PHP. System bazodanowy MySQL. [1] http://www.w3.org/ - opisy standardów XHTML, CSS, SVG i DOM. [2] C. Henderson, Skalowalne witryny internetowe. Budowa, skalowanie i optymalizacja aplikacji internetowych nowej generacji. [3] N. C. Zakas - JavaScript dla webmasterów. Zaawansowane programowanie. [4] J. Coggeshall - PHP5. Księga eksperta. [5] L. Welling, L. Thomson - PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty. [6] O. Campesato, Fundamentals of SVG Programming: Concepts to Source Code. Koordynator: Prof. dr hab. Stanisław Walczak Data aktualizacji: 30.01.2009 Dli_07_w5 Course name: Course contents: 1. 2. 3. 4. 5. 6. 7. Programming of internet applications Definition of web application. Web application archtecture. Data integrity and security. Scaling web applications. Web standards: XHTML, CSS, SVG, DOM. JavaScript/ECMAScript and PHP programming languages. MySQL database management system. 34 Nazwa przedmiotu: 1.28 PROGRAMOWANIE PODSTAWOWE Kod: 1100-PP0LII Forma przedmiotu: 30 godzin laboratorium Ilość punktów ECTS: 3 Język wykładowy: polski Sposób zaliczenia: Kolokwium przy komputerze - program Umiejętności wstępne: Cele przedmiotu: Celem tego przedmiotu jest zapoznanie studentów z podstawami programowania w językach wysokiego poziomu takimi jak: programowanie strukturalne i proceduralne, wykorzystanie funkcjonalności istniejących bibliotek, obsługa komunikacji z użytkownikiem. Przedmiot ten ma wykształcić umiejętności: analizowanie istniejących problemów w kontekście algorytmicznym, dekompozycja problemu, używanie narzędzi i środowisk programistycznych, tworzenie oprogramowania w języku C. Treści przedmiotu: 1. 2. 3. 4. 5. 6. Literatura: Podstawowe konstrukcje programistyczne (typy, zmienne, stałe, operacje I/O, operatory). Podstawowe złożone instrukcje programistyczne (instrukcja warunkowa, instrukcja wyboru, pętle). Złożone typy danych (tablice, łańcuchy, struktury). Typy wskaźnikowe. Dynamiczna alokacja pamięci. Funkcje. Operacje na plikach. [1] B.Kernighan, D.Ritchie - Język ANSI C; [2] B.Kernighan, D.Ritchie – The C programming language; Koordynator: Prof. dr hab. Stanisław Goldstein Data aktualizacji: 2009-01-21 Dli_s2 Course name: BASIC PROGRAMMING Course contents: 1. 2. 3. 4. 5. 6. Basic programming constructions (types, variables, constants, I/O operations, operators). Basic complex statements (conditional and decision statements, loops). Complex data types (arrays, strings, structures). Pointer types. Dynamic memory allocation. Functions. File access. 35 1.29 PROGRAMOWANIE URZĄDZEŃ PRZENOŚNYCH Nazwa przedmiotu: Kod: 1100-PP0OII Forma przedmiotu: 30 godzin wykładu + 30 godzin laboratorium informatycznego Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin pisemny, laboratorium – projekt zaliczeniowy Cele przedmiotu: Celem przedmiotu jest omówienie J2ME (JAVA 2 Micro Edition) – standardu tworzenia oprogramowania na urządzenia przenośne takie, jak telefony, smartfony, PDA, opartego na języku programowania JAVA. Umiejętności wstępne: PR0OII Treści przedmiotu: 1. konfiguracja języka J2ME; 2. CLDC (Connected Limited Device Configuration) ; 3. CDC (Connected Device Configuration); 4. profile, np. MIDP - Mobile Information Device Profile (wspomaganie aplikacji multimedialnych i gier, obsługa streamingu dźwięku, komunikacja internetowa http i HTTPS). Literatura: [1] Janusz Grzyb, J2ME. Tworzenie gier. [2] Krzysztof Rychlicki-Kicior , J2ME. Praktyczne projekty. [3] http://developers.sun.com/mobility/learning/tutorial/index.html Koordynator: Prof. dr hab. Kazimierz Włodarczyk Data aktualizacji: 2009-20-02 Dli_w5 Course name: Programming of portable devices Course contents: 1. Configuration of J2ME; 2. CLDC (Connected Limited Device Configuration) ; 3. CDC (Connected Device Configuration); 4. Profiles, for examples MIDP - Mobile Information Device Profile (supporting multimedia application and games, streaming voice service, internet communication http i HTTPS). 36 1.30 PROJEKTOWANIE GRAFIKI UŻYTKOWEJ Nazwa przedmiotu: Kod: 1100-GU0OII Forma przedmiotu: 60 godzin laboratorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: Projekty zaliczeniowe Cele przedmiotu: Celem zajęć jest praktyczne zapoznanie się z problematyką tworzenia i przetwarzania grafiki z wykorzystaniem wybranych pakietów graficznych. Praca z edytorem grafiki rastrowej - typowe narzędzia malarskie, operowanie kolorami, zastosowanie efektów i deformacji, wykorzystanie filtrów. Tworzenie i przekształcanie grafiki wektorowej. Łączenie grafiki z tekstem - projektowanie stron internetowych, plakatów, ulotek. Metody kompresji obrazu (kompresja stratna i bezstratna). Obróbka zdjęć, retuszowanie. Przygotowanie grafiki na potrzeby stron internetowych. Optymalizacja rozmiarów grafiki (w kontekście publikacji elektronicznych). Umiejętności wstępne: Treści przedmiotu: 1. Praca z edytorem grafiki rastrowej – tworzenie grafiki, retusz zdjęć – modyfikacja kolorów, warstwy, filtry, zmiana rozmiarów i wycinanie fragmentów zdjęć. 2. Praca z edytorem grafiki wektorowej. 3. Praca z programem do obróbki grafiki 3D – modelowanie i renderowanie obiektów, animacja Literatura: [1] J. D. Foley, A. van Dam, S. K. Feiner, J. F. Hughes, R. L. Phillips, Wprowadzenie do grafiki komputerowej, WNT, 1995 [2] W. Gajda, GIMP. Praktyczne projekty, Helion 2006 [3] Inkscape 0.45. Poradnik, Płock 2007, http://www.kawiu.dmkhosting.net/download/inkscape.pdf [4] B. Bociek, Blender. Podstawy modelowania, Helion 2007 Koordynator: Prof. dr hab. Paweł Walczak Data aktualizacji: 20.02.2009 Dli_07_s6, dli_gg_s2 Course name: Graphic Design Course contents: 1. Work with an editor of raster graphics – creating graphics, photography rendering altering colors, layers, filters, resizing and cropping photos . Work with an editor of vector graphics. Work with 3D modeling program – object modeling and rendering, animation. 2. 3. 37 1.31 PROJEKTOWANIE I IMPLEMENTACJA SYSTEMÓW BAZODANOWYCH Nazwa przedmiotu: Kod: 1100-IB0MII Forma przedmiotu: ćwiczenia (60 godzin) Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: projekt zaliczeniowy Cele przedmiotu: Celem przedmiotu jest zaprojektowanie, zaimplementowanie oraz przetestowanie wybranego systemu informatycznego. System musi wykorzystywać bazę danych. Należy wykonać wszystkie etapy obecne podczas projektowania systemu (analiza wymagań, konstruowanie modelu danych, implementacja). Umiejętności wstępne: Wstęp do programowania (WP0 LII), podstawy baz danych (PB0 OII) Treści przedmiotu: 1. Język SQL – doskonalenie umiejętności konstruowania zapytań. 2. 3. 4. 5. 6. 7. Literatura: Analiza wymagań klienta. Projektowanie systemu informatycznego. Tworzenie diagramu związków encji (pojęcie encji, atrybutu, związku). Implementacja systemu bazodanowego. Testowanie sytemu. Bezpieczeństwo aplikacji. [1] Jeffrey D. Ullman, Jennifer Widom - „Podstawowy wykład z systemów baz danych.” [2] R. Barker „Case* MethodSM. Modelowanie związków encji” Koordynator: Prof. dr hab. Marcin Studniarski Data aktualizacji: 30.01.09 Ects ?? Course name: Course contents: 1. 2. 3. 4. 5. 6. 7. Design and Implementation of Database Systems SQL language – perfecting the abilities of constructing queries. Client requirements analysis. Designing information system. Creating entity relationship diagram (notion of entity, attribute and relationship). Implementing database system. Testing. Application security. 38 1.32 PROJEKTOWANIE I IMPLEMENTACJA SYSTEMÓW SIECIOWYCH Nazwa przedmiotu: Kod: 1100-SS0MII Forma przedmiotu: Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: zaliczenie Cele przedmiotu: Celem przedmiotu jest zapoznanie studentów z zasadami projektowania i implementacji systemów sieciowych. Umiejętności wstępne: Treści przedmiotu: 1. 2. 3. 4. 5. 6. Literatura: Analiza potrzeb i wymaganej funkcjonalności sieci. Czynniki mające wpływ na wybór rozwiązania sieciowego. Projekt sieci na warstwie dostępu do sieci – okablowanie, rozmieszczenie urządzeń pośredniczących (przełączników, punktów dostępowych), zapewnienie rozwiązań odpornych na uszkodzenia. Projekt sieci na warstwie międzysieciowej – podział sieci na podsieci, adresacja logiczna. Implementacja rozwiązań warstwy aplikacyjnej. Metody testowania przyjętego rozwiązania. [1] Oppenheimer P.: Projektowanie sieci metodą Top-Down [2] Comer D.: Sieci komputerowe i intersieci [3] Ciccarelli P., Faulkner Ch.: Sieci. Seria: Podstawy Koordynator: Prof. dr hab. Stanisław Goldstein Data aktualizacji: 15.02.2008 Ects? Course name: Design and Implementation of Network Systems Course contents: 1. Analysis of needs and required functionality of the network. 2. Factors affecting the choice of network solutions. 3. Designed for network layer access to the network - cabling, deployment of intermediate devices (switches, access points), providing solutions resistant to damage. 4. Designed for network interconnection layer. 5. Implementation of application layer. 6. Methods for testing the solutions adopted. 39 1.33 PROJEKTOWANIE INTERFEJSÓW UŻYTKOWNIKA Nazwa przedmiotu: Kod: 1100-IU0OII Forma przedmiotu: 30 godzin laboratorium komputerowego Ilość punktów ECTS: 3 Język wykładowy: polski Sposób zaliczenia: Projekty zaliczeniowe Umiejętności wstępne: WP0 LII, PS0 LII, PR0 OII Cele przedmiotu: Celem zajęć jest praktyczne zapoznanie studenta z zasadami projektowania interfejsów użytkownika. Omawiane są metody i techniki komunikacji człowiek – komputer. Realizacja zadań laboratoryjnych polega na opracowaniu projektu interfejsu przy wykorzystaniu różnych technik. Treści przedmiotu: 1. Miejsce i rola interfejsu użytkownika w systemie informatycznym. 2. Modele działania interfejsu użytkownika. 3. Metody i techniki realizacji komunikacji człowiek-komputer. 4. Zasady projektowania interfejsu użytkownika. 5. Analiza istniejącego interfejsu. 6. Opracowanie projektu interfejsu przy wykorzystaniu różnych technik. 7. Tworzenie interaktywnych aplikacji. Literatura: [1] Spolsky J. Projektowanie interfejsu użytkownika, [2] Barfield L. The User Interface Concepts & Design, [3] Newman W., Lamming M. Interactive System Design. Koordynator: Prof. dr hab. Paweł Walczak Data aktualizacji: 2009-02-20 DLI_w6 Course name: Design of User Interfaces Course contents: 1. User interface for computer systems. 2. Models of User Interface. 3. Methods and techniques for human – computer interaction. 4. Principles of User Interface Design. 5. Designing Interactive Applications. 40 1.34 PRZETWARZANIE OBRAZÓW Nazwa przedmiotu: Kod: 1100-RO0OII, 1100-PO0UII Forma przedmiotu: 30 godzin wykładu + 30 godzin laboratorium komputerowego (MATLAB) Ilość punktów ECTS: 7 Język wykładowy: polski Sposób zaliczenia: zaliczenie laboratorium: na podstawie miniprojektów wykonanych w trakcie zajęć. zaliczenie wykładów: na podstawie testów oraz zadań domowych, pisemny egzamin końcowy. Cele przedmiotu: Efektem uczenia jest opanowanie podstawowych narzędzi matematycznych służących do analizy obrazów cyfrowych. Opanowanie narzędzi programistycznych w środowisku MATLAB pozwoli wykonywać częściej spotykane w praktyce operacje na obrazach. Umiejętności wstępne: Komputerowe wspomaganie obliczeń (z zastosowaniem Matlaba) (KW0UII) Analiza matematyczna dla informatyków 2 (AM2 LMI) Metody probabilistyki i statystyki (PS0 LMI) Algebra z teoria liczb (lub algebra liniowa) Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. 8. Pojęcia podstawowe analizy obrazów cyfrowych Filtracja obrazu w dziedzinie przestrzeni Filtracja obrazu w dziedzinie częstotliwości Restauracja obrazu i rekonstrukcja. Falki i przetwarzanie wielorozdzielcze. Przetwarzanie obrazu metodami morfologii matematycznej. Segmentacja obrazu Reprezentacja i opis obrazu (transformata skladowych głównych). Literatura: [1]. R. C . Gonzalez, R. E. Woods, Digital Image Processing, Prentice Hall, wyd. 3 lub 2. [2]. R. C. Gonzalez, R. E. Woods, S. L. Eddins, Digital Image Processing Using MATLAB, Prentice-Hall, wyd. 1 lub 2. [3]. Literatura firmowa MATLABa (Image Processing Toolbox, Signal Processing Toolbox, Statistical Toolbox, Function Reference Book, Using Matlab, Matlab Graphics, itd.). [4]. M. Nieniewski, Morfologia matematyczna w przetwarzaniu obrazów, AOW PLJ, 1998. Koordynator: prof. dr hab. Stanisław Goldstein Data aktualizacji: 2009-01-31 Dui_s2 Course name: DIGITAL IMAGE PROCESSING Course contents: 1. Fundamentals of digital image analysis. 2. 3. 4. 5. 6. 7. 8. Image filtering in the spatial domain. Image filtering in the frequency domain. Image restoration and reconstruction. Wavelets and multiresolution processing. Morphological image processing. Image segmentation. Image representation and description (principle components transformation). 41 Nazwa przedmiotu: 1.35 SIECI KOMPUTEROWE Kod: 1100-SK0OII Forma przedmiotu: 30 godzin wykładu + 30 godzin laboratorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin pisemny; laboratorium – zaliczenie Cele przedmiotu: Celem przedmiotu jest zapoznanie studentów z zasadami funkcjonowania sieci komputerowych. Przedstawienie funkcji i zadań, które odpowiadają za zapewnienie komunikacji w sieci. Studenci poznają również najczęściej używane protokoły aplikacyjne. Umiejętności wstępne: Treści przedmiotu: 1. Modele funkcjonowania sieci. Model ISO OSI oraz model Amerykańskiego Departamentu Obrony. 2. Realizacja zadań warstwy dostępu do sieci na przykładzie technologii Ethernet (adresowanie fizyczne, metody dostępu do medium, przełączanie w sieci). 3. Warstwy międzysieciowa, transportowa i aplikacyjna na podstawie protokołów ze stosu TCP/IP. 4. Adresowania logiczne. Podział sieci na podsieci. 5. Rouitng statyczny i dynamiczny (algorytmy wektora odległości oraz stanu łącza). 6. Protokóły UDP i TCP. 7. Wybrane protokoły warstwy aplikacyjnej (DNS, TFTP, FTP, SMTP, POP3, HTTP). 8. Wprowadzenie do zabezpieczenia komunikacji w sieci komputerowej (cechy ochrony, zagrożenia i mechanizmy przeciwdziałania im). Literatura: [1] [2] [3] [4] D. Comer Sieci komputerowe i intersieci Richard Stevens: Biblia TCP/IP Tom 1. Protokoły. Dokumenty RFC Akademia sieci Cisco. CCNA Exploration. Semestry 1-4. Koordynator: Prof. dr hab. Stanisław Goldstein Data aktualizacji: 15.02.2008 ects Course name: COMPUTER NETWORKS Course contents: 1. Network Reference Models: Model ISO OSI and model TCP/IP, 7 layers of OSI Model – functions and tasks. 2. Network Access Layer – physical addressing, media access control. 3. Stack TCP/IP. 4. Logical addressing. 5. Static and dynamic routing. 6. Transport Layer – TCP and UDP protocols. 7. Application Layer – DHCP, DNS, TFTP, FTP, HTTP, SMTP and POP3 protocols. 8. Intruduction to network security. 42 Nazwa przedmiotu: 1.36 SIECI NEURONOWE Kod: 1100-SN0MII Forma przedmiotu: 30 godzin wykładu + 30 godzin laboratorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin pisemny; laboratorium informatyczne – zaliczenie na podstawie oddawanych projektów Umiejętności wstępne: PS0LII lub PR0OII lub PK0OII Cele przedmiotu: Przedmiot poświęcony jest wprowadzeniu i omówieniu idei związanych z budową i działaniem sztucznych sieci neuronowych. Znaczny nacisk położony jest na umiejętności praktycznego wykorzystania omawianych metod do rozwiązania konkretnych problemów. Treści przedmiotu: 1. Budowa mózgu; elementarna budowa neuronu. Matematyczny modelu neuronu, rodzaje funkcji aktywacji. Rodzaje sieci, rodzaje uczenia. 2. Reguła perceptronu. Reguła Widrowa-Hoffa. Reguła delta wraz z jej uogólnieniem zasada propagacji wstecznej. 3. Metody gradientowe nauki sztucznych sieci neuronowych. 4. Sieci rekurencyjne- sieci Hopfielda. 5. Samoorganizacja sieci – sieci Kohonena. 6. Analiza głównych składowych, sieci Hebba, reguła Oji. 7. Sieci radialne. 8. Sztuczne sieci neuronowe i ich połączenie z logiką rozmytą. Literatura: Zasadniczym źródłem informacji są materiały dostarczone studentom w formie skryptu (dostępne i aktualizowane na bieżąco na stronie http://math.uni.lodz.pl/~fulmanp), zarówno w trakcie ćwiczeń jak i wykładu. W skrypcie zawarto także obszerny spis polecanej (i zarazem dostępnej) literatury uzupełniającej, m.in.: [1].B. Krose, Patrick van der Smagt, ,,An introduction to Neural Networks'', The University of Amsterdam, November 1996 (materiał dostępny w sieci). [2].R. Rojas, ,,Neural Networks. A Systematic Introduction'', Springer. [3].L. Rutkowski, ”Metody I techniki sztucznej inteligencji”, PWN, Warszawa, 2005. [4]. Żurada, Barski, Jędruchi, ”Sztuczne sieci neuronowe”, Wydawnictwo Naukowe PWN, 1996. [5].Hertz, Krogh, Palmer, ”Wstęp do teorii obliczeń neuronowych”, WNT, 1995. Koordynator: Prof. dr hab. Władysław Wilczyński Data aktualizacji: 2009-01-30 Ects Course name: NEURAL NETWORKS Course contents: 1. Brain and neurons – biological model. Mathematical model of neuron, activation functions, basic network structures. Perceptron rule. Widrow-Hoff rule. Delta rule and generalization- back-propagation rule. Gradient methods for an artificial neural networks learning. Recurrent networks (e.g. Hopfiel, Elman network). Self-organizing network (e.g. Kohonen network). Principal component analysis, Heeb network, Oji rule. Radial basis function (RBF) network. Fuzzy logic and artificial neural networks. 2. 3. 4. 5. 6. 7. 8. 43 Nazwa przedmiotu: 1.37 SYSTEMY CZASU RZECZYWISTEGO Kod: 1100-SC0OII Forma przedmiotu: Wykład 30h, laboratorium 30h Ilość punktów ECTS: 5 Język wykładowy: Polski Sposób zaliczenia: Zaliczenie praktyczne (projekt programistyczny) Cele przedmiotu: Celem przedmiotu jest zapoznanie studenta z programowaniem systemów wbudowanych oraz nomenklaturą związaną z reżimem czasu rzeczywistego. Przedmiot ma wykształcić praktyczne umiejętności w dziedzinie tworzenia systemów sterowania. Umiejętności wstępne: PS0 LII, SO0 OII Treści przedmiotu: 1. Wyjaśnienie pojęć – system wbudowany, system czasu rzeczywistego, omówienie standardów przemysłowych. 2. Architektura kursowego systemu, procesy, wątki, komunikacja międzyprocesowa. 3. Interfejs programisty. 4. Podstawy obsługi systemu oraz sprzęgów sprzętowych. 5. Programowanie w zintegrowanym środowisku programistycznym. 6. Tworzenie sterowników nowych urządzeń peryferyjnych. 7. Tworzenie obrazów rozruchowych. 8. Zagadnienia związane z testowaniem i zapewnieniem niezawodności systemu wbudowanego. 9. Modelowanie zagadnień związanych z przetwarzaniem w czasie rzeczywistym. Literatura: [1] [2] [3] [4] Ułasiewicz – Systemy czasu rzeczywistego QNX6 Neutrino Sacha – Systemy czasu rzeczywistego Dokumentacja elektroniczna kursowego systemu Lee, Leung, Son – Handbook of Real-Time and Embedded Systems Koordynator: Prof. dr hab. Stanisłąw Goldstein Data aktualizacji: 2008-12-12 Dli_s4 Course name: REAL-TIME SYSTEMS Course contents: 1. 2. 3. 4. 5. 6. 7. 8. Concepts: embedded system and real-time system; industry standards Used system architecture, processes, threads, interprocess communication Application programming interface System and hardware interfaces management basis Programming in integrated development environment Creating drivers for new peripheral devices Creating boot images Testing practices, reliability concepts in RT and embedded systems 9. RT modelling 44 Nazwa przedmiotu: 1.38 SYSTEMY OPERACYJNE Kod: 1100-SO0OII Forma przedmiotu: Wykład 30h, laboratorium 30h Ilość punktów ECTS: 6 Język wykładowy: Polski Sposób zaliczenia: Egzamin pisemny. Zaliczenie laboratoriów - praktyczne. Cele przedmiotu: Od strony praktycznej przedmiot ma przygotować studenta do pracy z dużym, skomplikowanym systemem wielozadaniowym i wielodostępnym, pracy jako użytkownik oraz administrator. Przyswojona wiedza ma tu być jak najbardziej przenaszalna, umożliwiając późniejszą konkretyzację w rzeczywistym środowisku informatycznym. Od strony teoretycznej student powinien znać ogólną budowę systemu operacyjnego i być biegłym w używanej w teorii systemów operacyjnych nomenklaturze. Umiejętności wstępne: SP0 LII Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. 8. Literatura: [1] [2] [3] [4] [5] Nomenklatura i taksonomia systemów operacyjnych Procesy, wątki, algorytmy szeregowania. Synchronizacja. Komunikacja międzyprocesowa. Zarządzanie pamięcią operacyjną. Zarządzanie pamięcią masową. Wybrane implementacje systemów operacyjnych. Kurs obsługi i administracji wybranym systemem operacyjnym. Silberschatz, Galvin – Podstawy systemów operacyjnych Milenkovic – Operating Systems concepts and design Frisch – Unix administracja systemu Silvester – System operacyjny Unix Dokumentacja elektroniczna kursowego systemu Koordynator: Prof. dr hab. St. Goldstein Data aktualizacji: 2008-12-12 Dli_s32 Course name: Course contents: 1. 2. 3. 4. 5. 6. 7. 8. OPERATING SYSTEMS Operating systems concepts and taxonomy Processes, threads, scheduling algorithms Synchronization Interprocess communication Managing computer memory Managing mass storage Selected implementations of operating systems Using and managing selectected operating system 45 Nazwa przedmiotu: 1.39 SZTUCZNA INTELIGENCJA Kod: 1100-SI0OII Forma przedmiotu: 30 godzin wykładu + 30 godzin laboratorium Ilość punktów ECTS: Język wykładowy: polski Sposób zaliczenia: wykład – egzamin pisemny; laboratorium informatyczne – zaliczenie na podstawie oddawanych projektów Umiejętności wstępne: SI0LII Cele przedmiotu: Poszerzenie materiału z przedmiotu „Elementy sztucznej inteligencji” o nowe zagadnienia: sztuczne sieci neuronowe, algorytmy genetyczne, logika rozmyta. Znaczny nacisk położony jest na umiejętności praktycznego wykorzystania omawianych metod do rozwiązania konkretnych problemów. Treści przedmiotu: 1. Algorytmy genetyczne. Problem właściwego doboru reprezentacji i operatorów genetycznych. 2. Sztuczne sieci neuronowe: podstawowe modele i metody nauki dla sieci skierowanych do przodu, samoorganizujących i rekurencyjnych. 3. Elementy logikii rozmytej. Tworzenie bazy reguł rozmytych, tworzenie sterownika rozmytego. 4. Boidy – modelowanie zachowań stadnych. 5. Idea metod typu Monte Carlo. Literatura: Zasadniczym źródłem informacji są materiały dostarczone studentom w formie skryptu (dostępne i aktualizowane na bieżąco na stronie http://math.uni.lodz.pl/~fulmanp), zarówno w trakcie ćwiczeń jak i wykładu. W skrypcie zawarto także obszerny spis polecanej (i zarazem dostępnej) literatury uzupełniającej, m.in.: T. Munakata, “Fundamentals of the New Artificial Intelligence”, Springer-Verlag, [1] 2008. M. Piliński, D. Rutkowska, L. Rutkowski, “Sieci neuronowe, algorytmy genetyczne i systemy rozmyte”, PWN, Warszawa, 1997. [2] [3] L. Rutkowski, „Metody i techniki sztucznej inteligencji”, PWN, Warszawa, 2005. Koordynator: Prof. dr hab. Władysław Wilczyński Data aktualizacji: 2009-01-30 Dui_w Course name: Artificial Intelligence Course contents: 1. 2. 3. 4. 5. Genetic algorithm. Problem of appropriate data representation, selection and reproduction. Artificial neural networks: models, basic learning methods for feedforward, selforganizing and recurent networks. Elements of fuzzy logic. Fuzzy controler application. Boids - an example of emergent behavior for artificial life (e.g. bird flocks or fish schools). Idea of the Monte Carlo methods. 46 1.40 ŚRODOWISKO PRACY INFORMATYKA Nazwa przedmiotu: Kod: 1100-SP0LII Forma przedmiotu: 60 godzin laboratorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: laboratorium informatyczne – zaliczenie na podstawie kolokwiów odbywających się po zakończeniu omawiania każdej z grup tematycznych Umiejętności wstępne: brak Cele przedmiotu: Przedmiot ma na celu zapoznanie z podstawowym warsztatem pracy informatyka, którego znajomość jest bardzo przydatna w dalszym toku studiów. Treści przedmiotu: 1. Elementy pracy w środowisku UNIX: podstawowe polecenia, proste skrypty powłoki. Praca z narzędziami typu ftp, telnet. 2. Składanie poprawnych typograficznie dokumentów przy pomocy systemu LaTeX. 3. Przygotowywanie prezentacji w systemie LaTeX, np. pakiet beamer. 4. Podstawy publikowania w sieci: HTML. 5. Praca z systemami kontroli wersji, np SVN i raportowania błędów, np. Flyspray. 6. PHP + MySQL jako narzędzia generowania dynamicznych stron internetowych. Literatura: Ze względu na bardzo szeroki zakres tematyczny a jednocześnie jedynie wprowadzające podejście do omawianych tematów, trudno jest polecać konkretne pozycje, gdyż zwykle zawierają one zbyt obszerny materiał. Dlatego zasadniczym źródłem informacji są materiały dostarczone studentom, dostępne i aktualizowane na bieżąco na stronie http://math.uni.lodz.pl/~fulman oraz http://math.uni.lodz.pl/~czacza Jako źródło informacji uzupełniających można polecić [1]. Lowell Jay Arthur, Ted Burns,. ,,UNIX. Programowanie w shellu'', MIKOM, Warszawa, 1998. [2]. AEleen Frisch. - ,,UNIX. Administracja systemu'', Wydawnictwo RM, 2003. [3]. Strona Grupy Użytkowników Systemu TeX http://www.gust.org.pl/ - najaktualniejsze polskojęzyczne źródło informacji o systamach z rodziny TeX. [4]. Strona http://www.php.net – najaktualniejsze źródło informacji o języku PHP. [5]. Strona http://www.w3schools.com – strona (m.in. przykłady, tutoriale) poświęcona tworzeniu aplikacji sieciowych. Koordynator: Prof. dr hab. Władysław Wilczyński Data aktualizacji: 2009-01-30 Dli_s1 Course name: Programmer's Working Environment Course contents: 1. 2. 3. 4. 5. 6. Working with UNIX system: basic commands, shell scripts and indispensable tools like ftp or telnet. Typesetting system for scientists - LaTeX. Presentation in LaTeX (e.g. beamer package). An introduction to web publishing: HTML. Version control system (e.g. SVN) and bug tracking system (e.g. Flyspray). PHP + MySQL as a tool for dynamic web pages generation. 47 Nazwa przedmiotu: 1.41 TECHNIKI ALGORYTMICZNE Kod: 1100- AT0UII Forma przedmiotu: 30 godz. wykładu +30 godz. laboratorium komputerowego Ilość punktów ECTS: 6 Język wykładowy: Polski Sposób zaliczenia: egzamin pisemny + zaliczenie laboratorium Cele przedmiotu: Celem przedmiotu jest zapoznanie studentów z wybranymi metodami algorytmicznymi oraz analizą tych algorytmów. W trakcie zajęć przedstawione zostaną zaawansowane algorytmy i struktury danych, dotyczące takich zagadnień jak: efektywne implementacje słowników, złożone struktury danych, kompresja, algorytmy grafowe, zaawansowane algorytmy wyszukiwania wzorca, algorytmy równoległe, problemy NP-zupełności. Umiejętności wstępne: Treści przedmiotu: 1. 2. 3. 4. 5. 6. Efektywne implementacje słowników (drzewa AVL, drzewa 2-3-4, drzewa RB) Haszowanie (adresowanie otwarte, metoda łańcuchowa rozwiązywania kolizji) Metody kodowania i kompresji ( kody Huffmana, kodowanie arytmetyczne, kody Lempel‟a-Ziv‟a (LZW) ) Wyszukiwanie wzorca w teście: algorytm Rabina-Karpa, algorytm Knuta-MorisaPratta, algorytm Boyera-Moore‟a Algorytmy grafowe - przeszukiwanie grafu (BFS, DFS) - znajdowanie drogi (algorytmy Ballmana-Forda i Dijkstry) - wyznaczanie minimalnego drzewa rozpinającego (alg. Prima i Kruskala) NP-zupełność Literatura: [1]. Algorytmy w C++, Sedgewick R., Read Me 1999 [2]. Algorytmy w C++ grafy; Robert Sedgewick, Wydawnictwo RM, 2003 [3]. Wprowadzenie do algorytmów, Thomas H. Cormen , Charles E. Leiserson , Ronald L. , Rivest , Clifford Stein, Wydawnictwa Naukowo - Techniczne, 2004. [4]. Algorytmy i struktury danych, L. Banachowski, K. Diks, W. Rytter, Wydawnictwa Naukowo - Techniczne, 2006 [5]. http://wazniak.mimuw.edu.pl/index.php?title=Algorytmy_i_struktury_danych Koordynator: Prof. dr hab. Stanisław Goldstein Data aktualizacji: 2009/01/28 Dui_09_s1 Course name: Algorithmic Techniques Course contents: 1. 2. 3. 4. Effective implementation of dictionaries ( AVL trees, 2-3-4 trees , RB trees) Hashing tables ( Open addressing, chains ) Encoding and compression ( Huffman‟s codes, Arithmetic coding, Lempel-Ziv (LZW) ) Pattern searching: Rabin-Karp algorithm, Knuth-Morris-Pratt algorithm, Boyer-Moore algorithm 5. Graph algorithms - The search graph (BFS, DFS) - To find the road (Ballman-Ford and Dijkstra algorithms) - Determination of the minimum spanning tree (Prim and Kruskal algorithms.) 6. NP-completeness 48 Nazwa przedmiotu: 1.42 TECHNOLOGIE SIECIOWE Kod: 1100-TS0LII Forma przedmiotu: 30 godzin wykładu + 30 godzin laboratorium Ilość punktów ECTS: 5 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin pisemny; laboratorium – zaliczenie Cele przedmiotu: Celem przedmiotu jest zapoznanie studentów z zasadami funkcjonowania sieci komputerowych. Przedstawienie funkcji i zadań, które odpowiadają za zapewnienie komunikacji w sieci. Studenci poznają również najczęściej używane protokoły aplikacyjne. Umiejętności wstępne: Treści przedmiotu: 1. Modele funkcjonowania sieci. Model ISO OSI oraz model Amerykańskiego Departamentu Obrony. 2. Realizacja zadań warstwy dostępu do sieci na przykładzie technologii Ethernet (adresowanie fizyczne, metody dostępu do medium, przełączanie w sieci). 3. Warstwy międzysieciowa, transportowa i aplikacyjna na podstawie protokołów ze stosu TCP/IP. 4. Adresowania logiczne. Podział sieci na podsieci. 5. Rouitng statyczny i dynamiczny (algorytmy wektora odległości oraz stanu łącza). 6. Protokóły UDP i TCP. 7. Wybrane protokoły warstwy aplikacyjnej (DNS, TFTP, FTP, SMTP, POP3, HTTP). 8. Wprowadzenie do zabezpieczenia komunikacji w sieci komputerowej (cechy ochrony, zagrożenia i mechanizmy przeciwdziałania im). Literatura: [1] [2] [3] [4] D. Comer Sieci komputerowe i intersieci Richard Stevens: Biblia TCP/IP Tom 1. Protokoły. Dokumenty RFC Akademia sieci Cisco. CCNA Exploration. Semestry 1-4. Koordynator: Prof. dr hab. Stanisław Goldstein Data aktualizacji: 15.02.2008 Dli_s4 Course name: Network Technologies Course contents: 1. Network Reference Models: Model ISO OSI and model TCP/IP, 7 layers of OSI Model – functions and tasks. 2. Network Access Layer – physical addressing, media access control. 3. Stack TCP/IP. 4. Logical addressing. 5. Static and dynamic routing. 6. Transport Layer – TCP and UDP protocols. 7. Application Layer – DHCP, DNS, TFTP, FTP, HTTP, SMTP and POP3 protocols. 8. Introduction to network security. 49 Nazwa przedmiotu: 1.43 TEORETYCZNE PODSTAWY INFORMATYKI Kod: 1100-TI0LII Forma przedmiotu: 30 godzin wykładu + 30 godzin konwersatorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin ustny; konwersatorium – zaliczenie Cele przedmiotu: Celem wykładu jest zapoznanie studenta z podstawowymi narzędziami teorii prawdopodobieństwa i ich zastosowaniami ze szczególnym uwzględnieniem zastosowań w informatyce. Umiejętności wstępne: LM0OMI, MD0OMI Treści przedmiotu: 1. Problemy a języki formalne. 2. Języki regularne: wyrażenia regularne, automaty skończone, minimalizacja automatów skończonych, twierdzenie Kleenego, własności języków regularnych, algorytmy decyzyjne dla języków regularnych. 3. Języki bezkontekstowe: gramatyki bezkontekstowe i regularne, postacie normalne gramatyk bezkontekstowych, własności języków bezkontekstowych, automaty ze stosem. 4. Języki rekursywnie przeliczalne: maszyny Turinga, gramatyki frazowe. 5. Hierarchia Chomsky‟ego języków formalnych. Literatura: [1]. Krasiński T. - Automaty i języki formalne; Wyd. UŁ 2007 [2]. Hopcroft J., Motwani R., Ullmann, J. - Wprowadzenie do teorii automatów, języków i obliczeń ; PWN 2005. [3]. Sipser M. – Wprowadzenie do teorii obliczeń. WNT 2009. [4]. Kozen D. - Automata and computability; Springer 1997. [5]. Cohen D. - Introduction to computer theory; Wiley 1991. [6]. Martin J.C. - Introduction to Languages and the Theory of Computation. McGraw Hill 1999 Koordynator: Prof. dr hab. Tadeusz Krasiński Data aktualizacji: 2009-02-10 dli_s3 Course name: Theoretical Foundations of Computer Science Course contents: 1. Problems and formal languages. 2. Regular languages: regular expressions, finite automata, minimal finite automata, Kleene‟s Theorem, decision problems for regular languages. 3. Context-free languages: context-free and regular grammars, normal forms of contextfree languages, pushdown automata. 4. Recursively enumerable languages: Turing machines, unrestricted grammars. 5. Chomsky hierarchy. 50 1.44 TEORIA GRAFÓW I SIECI Nazwa przedmiotu: Kod: 1100-GF0UII Forma przedmiotu: 30 godzin wykładu + 30 godzin konwersatorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin testowy; konwersatorium – zaliczenie Cele przedmiotu: Celem przedmiotu jest przekazanie i ugruntowanie wiedzy z teorii grafów i sieci. Studenci zostaną zaznajomieni z szerokimi zastosowaniami omawianych zagadnień w informatyce oraz metodami formułowania praktycznych zagadnień w języku teorii grafów. Umiejętności wstępne: AT0 UII Treści przedmiotu: 1. 2. 3. 4. Podstawowe definicje teorii grafów, metody przeszukiwania grafów Grafy Eulera, algorytmy rozwiązujące problem chińskiego listonosza Grafy Hamiltona, algorytmy TSP, optymalizacja naturalna, algorytmy mrówkowe Własności drzew, rodzaje i własności drzew binarnych, algorytm znajdowania centrum w grafie, optymalne drzewo binarne, algorytm Huffmana, zliczanie drzew, algorytmy Prüfer'a, drzewa rozpinające, algorytmy MST, algorytmy znajdowania najkrótszych ścieżek w grafie( z jednym źródłem, między wszystkimi wierzchołkami, grafy rzadkie) 5. Różne rodzaje spójności grafu, algorytm wyznaczania dwuspójnych składowych grafu 6. Kolorowanie grafów, algorytmy kolorowania grafów, zbiory niezależne 7. Grafy planarne, uogólnione grafy Petersena 8. Skojarzenia w grafach, algorytmy wyznaczania maksymalnego skojarzenia i skojarzenia ważonego 9. Drzewa Steiner'a, algorytmy SMT, drzewa multicast 10. Algorytmy routingu w sieciach 11. Sieci przepływowe, metoda Forda-Fulkersona, algorytmy wyznaczania maksymalnego przepływu, przepływy o minimalnym koszcie 12. Modele przepływów w sieci, przepływy wieolotowarowe Literatura: [1] [2] [3] [4] [5] [6] T.Cormen, C.Leiserson, R.Rivest Wprowadzenie do algorytmów J.Kurose, K.Ross. Sieci komputerowe. Od ogółu do szczegółu z Internetem w tle J.Harris, J.Hirst, M.Mossinghoff Combinatorics and Graph Theory W.Lipski, Kombinatoryka dla programistów D.Jungnickel Graphs, Networks and Algorithms D.Medhi, K.Ramasamy Network Routing: Algorithms, Protocols, andArchitectures Koordynator: Prof. dr hab. Stanisław Walczak Data aktualizacji: 2010-03-10 Dui_s2 Course name: GRAPH AND NETWORK THEORY Course contents: 1. 2. 3. 4. Basic graph theory Euler graphs, algorithms for solving the chinese postman problem Hamilton graphs, algorithms for TSP, natural optimization, ants algorithms Properties of trees, properties and special types of binary trees, the Huffman algorithm, counting trees, Prüfer algorithms, spanning trees, MST algorithms, shortest path algorithms( single-source, all pairs, sparse graphs) 5. Different types of connectivity of a graph, the algorithm for finding biconnected components of a graph 6. Graph coloring, algorithms for coloring graphs, independence sets 7. Planar graphs, generalized Petersen graphs 8. Matchings, algorithms for maximum and weighted matchings 9. Steiner trees, SMT algorithms, multicast trees 10. Routing algorithms 11. Flow networks, the Ford-Fulkerson algorithm, algorithms for the maximum flow problems, minimum cost flow 12. Network flow modeling, multicommodity flows 51 1.45 TEORIA OBLICZEŃ I ZŁOŻONOŚCI Nazwa przedmiotu: Kod: 1100-OZ0UII Forma przedmiotu: 30 godzin wykładu + 30 godzin konwersatorium Ilość punktów ECTS: 7 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin ustny; konwersatorium – zaliczenie Umiejętności wstępne: TI0LII Cele przedmiotu: Celem przedmiotu jest zaznajomienie studenta z teorią obliczeń (przyjmując jako podstawowy model maszynę Turinga) oraz teorią złożoności obliczeniowej. Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. 8. Literatura: Warianty maszyn Turinga. Własności języków rekursywnie przeliczalnych. Problemy rozstrzygalne. Złożoność obliczeniowa czasowa. Klasy złożoności obliczeniowej Problemy NP-zupełne. Złożoność obliczeniowa pamięciowa. Złożoność obliczeniowa opisowa. [1] Krasiński T. - Automaty i języki formalne; Wyd. UŁ 2007 [2] Hopcroft J., Motwani R., Ullmann, J. - Wprowadzenie do teorii automatów, języków i obliczeń ; PWN 2005. [3] [4] [5] [6] [7] Sipser M. – Wprowadzenie do teorii obliczeń. WNT 2009. Foryś M, Foryś W. – Teoria automatów i języków formalnych. EXIT 2005. Kozen D. - Automata and computability; Springer 1997. Sudkamp T. – Languages and Machines. Addison Wesley Longman. 1998.. Martin J.C. - Introduction to Languages and the Theory of Computation. McGraw Hill 1999 Koordynator: Prof. dr hab. Tadeusz Krasiński Data aktualizacji: 2009-06-07 Dui_s3 Course name: Course contents: 1. 2. 3. 4. 5. 6. 7. 8. Theory of Computation and Complexity Variants of Turing machines. Properties of recursively enumerable languages. Decidable problems. Time computational complexity. Classes of computational complexity. NP-complete problems. Space computational complexity. Kolmogorov computational complexity. 52 Nazwa przedmiotu: 1.46 WPROWADZENIE DO PROGRAMOWANIA GIER Kod: 1100-WG0OII Forma przedmiotu: 30 godz. wykład + +30 godz. laboratorium informatycznego Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: egzamin praktyczny Cele przedmiotu: Celem zajęć jest wprowadzenie do programowania gier. Przewiduje się zapoznanie studentów z metodologią projektowania gier różnego typu. Wprowadzone będą podstawowe techniki i algorytmy wykorzystywane w różnych typach gier. W trakcie zajęć laboratoryjnych studenci będą projektować i implementować własne gry z wykorzystaniem programowania obiektowego. Umiejętności wstępne: IO0OII, PR0OII, ZA0OII Treści przedmiotu: 1. 2. 3. 4. 5. Literatura: Metodologia projektowania gier komputerowych. Projektowanie i implementacja algorytmów gier logicznych. Przygotowanie i obróbka grafiki na potrzeby gier. Projektowanie i implementacja gier opartych na technologii kafelkowej. Podstawy projektowania sieciowych gier turowych. [1] Colin Moock, Essential ActionScript 3.0, O'Reilly, 2007. [2] Jobe Makar, Macromedia Flash MX Game Design Demystified: The Official Guide to Creating Games with Flash, Macromedia Press, 2003. [3] Glen Rhodes, Flash Professional 8 Game Development, Charles River Media, 2007. [4] Nik Lever, Flash MX Games: ActionScript for Artists, Focal Press, 2002. [5] Mark A. DeLoura, Game Programming Gems, Charles River Media, 2000. Koordynator: Prof. dr hab. Ryszard Pawlak Data aktualizacji: 4.02.2009 Dli_g_s6 Course name: Course contents: 1. 2. 3. 4. 5. Introduction To Game Programming Methodology of the design of computer games . Design and implementation of the algorithms for logical games. Preparing and working with graphics designed for games. Design and implementation of tiles based games. Introduction of designing web turn games. 53 1.47 WSTĘP DO INFORMATYKI Nazwa przedmiotu: Kod: 1100-WI0OII Forma przedmiotu: 30 godzin wykładu + 30 godzin konwersatorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin pisemny; konwersatorium – zaliczenie na podstawie kolokwiów (2) Umiejętności wstępne: brak Cele przedmiotu: Celem zajęć jest przekazanie podstaw niezbędnych do swobodnego poruszania się w świecie współczesnej informatyki a także zarysowanie i prezentację pojęć i tematów z jakimi studenci zetkną się podczas dalszego toku studiów. Ćwiczenia poświęcone są zdobyciu praktycznych umiejętności związanych m.in. z operowaniem różnymi systemami liczbowymi, działaniami na wyrażeniach boolowskich a przede wszystkim umiejętności zapisywania algorytmów, wyrażania ich w różnej postaci i posługiwania się nimi. Narodziny dyscypliny – rys historyczny. Systemy liczbowe ze szczególnym uwzględnieniem systemów dwójkowego, ósemkowego, szesnastkowego, dziesiętnego - konwersje. Operacje arytmetyczne w różnych systemach liczbowych. 3. Algebra Boole‟a - definicje, podstawowe prawa, twierdzenia, dowody; upraszczanie wyrażeń (mapy Karnaugha). 4. Podstawy konstruowania układów cyfrowych. 5. Architektura systemu komputerowego, maszyna Turinga. 6. Sposoby reprezentacji danych na przykładzie znaków (Unicode), liczb, pliku graficznego, pakietu stosu protokołów TCP/IP. 7. Pojęcie algorytmu. Sposoby zapisu algorytmów – schemat blokowy, pseudokod, język naturalny. 8. Języki programowania – rodzaje, klasyfikacje i podziały. 9. Systemy operacyjne – główne zadania, typy i przykłady. 10. Sieci komputerowe – najważniejsze pojęcia związane z architekturą, topologią i urządzeniami sieciowymi. Treści przedmiotu: 1. 2. Literatura: [1]. Piotr Fulmański, Ścibór Sobieski ,,Wstęp do informatyki. Podręcznik'', Wydawnictwo UŁ, Łódź 2005. [2]. J. Gleen Brookshear, ,,Informatyka w ogólnym zarysie'', WNT. Koordynator: Prof. dr hab. Władysław Wilczyński Data aktualizacji: 2009-01-30 Dli_s1, DLM_nim_s3 Course name: Introduction to Computer Science Course contents: 1. 2. Historical background. Numeral systems, especialy binary, octal and hexadecinal (conversions and atithmetic operation). 3. Boolean algebra – definitions and basic laws. Boolean formula reduction (Karnaugh map). 4. Basic of digital circuit design. 5. Turing machine, modern computer system architecture. 6. Data representation with the use of a characters (Unicode), integer and real numbers, graphic file, TCP/IP stack packet example. 7. What is an algorithm – idea and definitons. Methods of algorithm description (pseudocode, flowcharts, natural language). 8. Programming languages – types and classifications. 9. Operating systems – tasks, types, classifications and examples. 10. Computer networks – types, classifications and basic concepts. 54 Nazwa przedmiotu: 1.48 WSTĘP DO PROGRAMOWANIA (I) Kod: 1100-WP0LII Forma przedmiotu: 30 g. wykładu + 30 g. laboratorium Ilość punktów ECTS: 6 Język wykładowy: Polski Sposób zaliczenia: Zaliczenie laboratorium (pisanie programów przy komputerze) Cele przedmiotu: Wprowadzenie podstawowych pojęć związanych z programowaniem, przedstawienie sposobu budowania programu w sposób systematyczny, wraz ze sprawdzaniem jego poprawności. Umiejętności wstępne: --Treści przedmiotu: 1. Podstawowe pojęcia programistyczne. Pojęcia składni, semantyki i pragmatyki. 2. Algorytm, jego specyfikacja i implementacja. 3. Cykl tworzenia programu. Specyfikacja wymagań, analiza, tworzenie modelu, implementacja, testowanie i obsługa. 4. Różne poziomy abstrakcji. Abstrakcja wyrażeń, instrukcji, proceduralna i danych. Obiekty. 5. Styl leksykalny. Reprezentacje liczb, znaków i łańcuchów. Identyfikatory i słowa zastrzeżone. 6. Typy skalarne – całkowite zwykłe i modularne, rzeczywiste zmienno- i stałoprzecinkowe, type wyliczeniowe. 7. Struktury sterujące. Instrukcje proste i złożone. Instrukcje warunkowe i pętle. Metody zmieniania kolejności wykonywania instrukcji (skoki, wyjścia, kontynuacje, powroty, powodowanie wyjątków). 8. Tablice i rekordy. Tablice statyczne i dynamiczne. Rekordy zwykłe, z wariantami i dyskryminantami. Rekord jako pierwowzór klasy. 9. Wyjątki. Błędy czasu wykonania, ich propagacja i obsługa. 10. Podprogramy. Funkcje i procedury. Sposoby przekazywania parametrów. 11. Pliki fizyczne i logiczne, tekstowe i binarne. 12. Modułowa budowa programów. Jednostki kompilacyjne. Metody tworzenia programów. Weryfikacja programów. Literatura: [1] N. Wirth, Agorytmy + struktury danych = programy [2] C. B. Jones, Konstruowanie oprogramowania metodą systematyczną [3] A. Alagic, M. A. Arbib, Konstruowanie programów poprawnych i dobrze zbudowanych [4] J. Bentley, Perełki oprogramowania oraz materiały w formie elektronicznej. Koordynator: Prof. dr hab. Stanisław Goldstein Data aktualizacji: 12.12.2009 Course name: INTRODUCTION TO PROGRAMMING (I) Course contents: 1. Basic programming concepts. Notions of syntax, semantics and pragmatics. 2. Algorithm, its specification and implementation. 3. The cycle of program construction. Requirements specification, analysis, design, implementation, testing and maintenance. 4. Different levels of abstraction. Abstraction of expressions, instructions, procedural and data abstraction. Objects. 5. Lexical style. Representation of numbers, characters and strings. Identifiers and reserved words. 6. Scalar types – signed integer and modular, floating- and fixed-point real types, enumeration types. 7. Control structures. Simple and composed instructions. Conditional instructions and loops. Methods of changing the order of instruction execution (jumps, exits, continuations, returns, raising exceptions). 8. Arrays and records. Static and dynamic arrays. Simple records, records with variants and discriminants. Record as a prototype of a class. 9. Exceptions. Run time errors, their propagation and handling. 10. Subprograms. Functions and procedures. Methods of parameter passing. 11. Physical and logical files, text and binary files. 12. Modular construction of programs. Compilation units. Methods of program construction. Program verification. 55 1.49 WSTĘP DO RÓWNAŃ RÓŻNICZKOWYCH (I) Nazwa przedmiotu: Kod: 1100-WR0MMI Forma przedmiotu: 30 godzin wykładu + 30 godzin konwersatorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin pisemny; konwersatorium – kolokwium Umiejętności wstępne: AM1LMI (analiza matematyczna), AT0LMI (algebra liniowa) Cele przedmiotu: Celem przedmiotu jest zaznajomienie studenta z podstawowymi typami efektywnie rozwiązywalnych równań różniczkowych zwyczajnych, a także z pewnymi elementami jakościowej teorii równań różniczkowych zwyczajnych. Zaprezentowane zostaną wybrane modele biologiczne, fizyczne i ekonomiczne prowadzące do równań różniczkowych. Do badania równań wykorzystane będą komputerowe systemy obliczeń symbolicznych. W ramach konwersatorium przedstawione zostaną techniki rachunkowe pozwalające rozwiązywać podstawowe typy równań różniczkowych zwyczajnych. Treści przedmiotu: 1. Przykłady równań różniczkowych. Ich zastosowanie w fizyce. Model drapieżca –ofiara. 2. Geometryczne własności rozwiązań równań różniczkowych zwyczajnych - pola kierunków stycznych, portret fazowy równań autonomicznych. 3. Zagadnienie Cauchy‟ego. 4. Twierdzenia pozwalające rozwiązywać podstawowe typy równań różniczkowych zwyczajnych: o zmiennych rozdzielonych i sprowadzalnych do równań o zmiennych rozdzielonych (np. równań jednorodnych), skalarnych równań liniowych pierwszego rzędu, równań zupełnych i sprowadzalnych do równań zupełnych (czynnik całkujący). 5. Wektorowe równania liniowe pierwszego rzędu. Klatki Jordana. 6. Równania skalarne liniowe wyższych rzędów. 7. Twierdzenia: Peano, Picarda, o przedłużaniu rozwiązań, o ciągłej zależności rozwiązań od warunków początkowych i parametrów. 8. Elementy jakościowej teorii równań różniczkowych zwyczajnych. Pojęcie stabilności w sensie Lapunowa, układy dynamiczne. Literatura: [1] [2] [3] [4] Palczewski A. Równania różniczkowe zwyczajne; Ombach J. Wykłady z równań różniczkowych; Przeradzki B. Teoria i praktyka równań różniczkowych zwyczajnych; W. Krysicki, L. Włodarski. Analiza matematyczna w zadaniach, część II. Koordynator: Prof. dr hab. Stanisław Walczak Data aktualizacji: 2009-02-14 Ects Course name: INTRODUCTION TO DIFFERENTIAL EQUATIONS (i) Course contents: 1. 2. 3. 4. 5. 6. 7. 8. Examples of differential equations. Applications in physics. Predator-pray model. Geometrical properties. Phase portrait, direction field. The Cauchy problem. Theorems that can be applied in solving the main types of ordinary differential equations (separable first order equations, linear first order equations, exact differential equation, integrating factor) Systems of linear differential equations of the first order. Jordan‟s blocks. N-order linear equations. Picard's and Peano's thorems, theorem on prolongation of solutions, theorem on continuous dependence on parameters and initial data. Elements of qualitative theory. Lyapunov stability, dynamical systems. 56 1.50 WSTĘP DO SYSTEMÓW OPERACYJNYCH Nazwa przedmiotu: Kod: 1100-WS0OII Forma przedmiotu: Wykład 30h, laboratorium 30h Ilość punktów ECTS: 6 Język wykładowy: Polski Sposób zaliczenia: Egzamin pisemny. Zaliczenie laboratoriów - praktyczne. Cele przedmiotu: Od strony praktycznej przedmiot ma przygotować studenta do pracy z dużym, skomplikowanym systemem wielozadaniowym i wielodostępnym, pracy jako użytkownik oraz administrator. Przyswojona wiedza ma tu być jak najbardziej przenaszalna, umożliwiając późniejszą konkretyzację w rzeczywistym środowisku informatycznym. Od strony teoretycznej student powinien znać ogólną budowę systemu operacyjnego i być biegłym w używanej w teorii systemów operacyjnych nomenklaturze. Umiejętności wstępne: SP0LII Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. 8. Literatura: [1] [2] [3] [4] [5] Nomenklatura i taksonomia systemów operacyjnych Procesy, wątki, algorytmy szeregowania. Synchronizacja. Komunikacja międzyprocesowa. Zarządzanie pamięcią operacyjną. Zarządzanie pamięcią masową. Wybrane implementacje systemów operacyjnych. Kurs obsługi i administracji wybranym systemem operacyjnym. Silberschatz, Galvin – Podstawy systemów operacyjnych Milenkovic – Operating Systems concepts and design Frisch – Unix administracja systemu Silvester – System operacyjny Unix Dokumentacja elektroniczna kursowego systemu Koordynator: Prof. Dr hab. St. Goldstein Data aktualizacji: 2008-12-12 Ects? Course name: Course contents: 1. 2. 3. 4. 5. 6. 7. 8. INTRODUCTION TO OPERATING SYSTEMS Operating systems concepts and taxonomy Processes, threads, scheduling algorithms Synchronization Interprocess communication Managing computer memory Managing mass storage Selected implementations of operating systems Using and managing selectected operating system 57 Nazwa przedmiotu: Kod: 1.51 ZAAWANSOWANE ALGORYTMY 1100-ZA0OII Forma przedmiotu: 30 godz. wykładu +30 godz. laboratorium komputerowego Ilość punktów ECTS: 5 Język wykładowy: Polski Sposób zaliczenia: egzamin pisemny + zaliczenie laboratorium Cele przedmiotu: Celem przedmiotu jest zapoznanie studentów z wybranymi metodami algorytmicznymi oraz analizą tych algorytmów. W trakcie zajęć przedstawione zostaną zaawansowane algorytmy i struktury danych, dotyczące takich zagadnień jak: efektywne implementacje słowników, złożone struktury danych, kompresja, algorytmy grafowe, zaawansowane algorytmy wyszukiwania wzorca, algorytmy równoległe, problemy NP-zupełności. Umiejętności wstępne: 5. 6. 7. 8. Efektywne implementacje słowników (drzewa AVL, drzewa 2-3-4, drzewa RB) Haszowanie (adresowanie otwarte, metoda łańcuchowa rozwiązywania kolizji) Metody kodowania i kompresji ( kody Huffmana, kodowanie arytmetyczne, kody Lempel‟a-Ziv‟a (LZW) ) Wyszukiwanie wzorca w teście: algorytm Rabina-Karpa, algorytm Knutha-MorrisaPratta, algorytm Boyera-Moore‟a Algorytmy grafowe - przeszukiwanie grafu (BFS, DFS) - znajdowanie drogi (algorytmy Bellmana-Forda i Dijkstry) - wyznaczanie minimalnego drzewa rozpinającego (alg. Prima i Kruskala) 9. NP-zupełność Treści przedmiotu: 1. 2. 3. 4. Literatura: [1] Algorytmy w C++, Sedgewick R., Read Me 1999 [2] Algorytmy w C++ grafy; Robert Sedgewick, Wydawnictwo RM, 2003 [3] Wprowadzenie do algorytmów, Thomas H. Cormen , Charles E. Leiserson , Ronald L. , Rivest , Clifford Stein, Wydawnictwa Naukowo - Techniczne, 2004. [4] Algorytmy i struktury danych, L. Banachowski, K. Diks, W. Rytter, Wydawnictwa Naukowo - Techniczne, 2006 Koordynator: Prof. dr hab. Goldstein Stanisław Data aktualizacji: 2009/01/28 Dli_s34 Course name: Advanced Algorithms Course contents: 1. 2. 3. 4. 5. 6. Effective implementation of dictionaries ( AVL trees, 2-3-4 trees , RB trees) Hashing tables ( Open addressing, chains ) Encoding and compression ( Huffman‟s codes, Arithmetic coding, Lempel-Ziv (LZW) ) Pattern searching: Rabin-Karp algorithm, Knuth-Morris-Pratt algorithm, Boyer-Moore algorithm Graph algorithms - The search graph (BFS, DFS) - To find the road (Bellman-Ford and Dijkstra algorithms) - Determination of the minimum spanning tree (Prim and Kruskal algorithms.) NP-completeness 58 Nazwa przedmiotu: 1.52 ZAAWANSOWANE TECHNIKI PROGRAMOWANIA Kod: 1100-TP0UII Forma przedmiotu: 60 godzin laboratorium informatycznego Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: Zaliczenie w formie kolokwium praktycznego Cele przedmiotu: Celem przedmiotu jest rozwój umiejętności w zakresie sprawnego i efektywnego programowania z użyciem wybranego języka programowania wysokiego poziomu, przy wykorzystaniu zaawansowanych możliwości tego języka, a w szczególności programowania zorientowanego obiektowo i programowania z użyciem (zaawansowanych) bibliotek standardowych. Umiejętności wstępne: --Treści przedmiotu: 1. Zaawansowane cechy i możliwości zintegrowanych środowisk programistycznych (IDE) dostępnych dla danego języka 2. Przegląd możliwości języka i omówienie typowych błędów programistycznych 3. Klasy jako zaawansowany środek programistyczny do modelowania danych i ich przetwarzania 4. Wykorzystywanie dziedziczenia i funkcji wirtualnych (polimorfizmu) 5. Wzorce i wyjątki 6. Biblioteka standardowa i przykłady jej praktycznego zastosowania 7. Praktyczne wykorzystanie programowania wielowątkowego Literatura: Literatura zależna od wyboru języka; przykładowa literatura dla języka C++: [1] Stroustrup, B. Język C++ [2] Eckel B. Thinking in C++ : edycja polska (T. 1 i 2) [3] Eckel B. Thinking in C++ (wersja elektroniczna: http://www.mindview.net/Books/TICPP/) [4] Josuttis N. C++ biblioteka standardowa : podręcznik programisty [5] Lippman S. Istota języka C++ : zwięzły opis Koordynator: Prof. dr hab. Stanisław Goldstein Data aktualizacji: 20.02.2009 dui_s1 Course name: Advanced Programming Techniques Course contents: 1. Advanced features of Integrated Development Environments available for the programming language chosen 2. Features of the language and common programming mistakes 3. Classes as an advanced way of data modeling and processing 4. Class inheritance and polymorphism 5. Templates and exceptions 6. Standard library and its applications 7. Practical aspects of multithreading programming 59 Nazwa przedmiotu: 1.53 ZASTOSOWANIE METOD PROBABILISTYCZNYCH Kod: 1100-MP0MMI Forma przedmiotu: 30 godzin wykładu + 30 godzin konwersatorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin pisemny i ustny; konwersatorium – zaliczenie Cele przedmiotu: Celem wykładu jest zapoznanie studenta z podstawowymi narzędziami teorii prawdopodobieństwa i ich zastosowaniami ze szczególnym uwzględnieniem zastosowań w informatyce. Umiejętności wstępne: Treści przedmiotu: 1. Przypomnienie pojęć przestrzeni probabilistycznej, zdarzenia losowego, prawdopodobieństwa, niezależności zdarzeń oraz zmiennej losowej. 2. Klasyczny oraz geometryczny model prawdopodobieństwa. 3. Przykłady konstrukcji przestrzeni probabilistycznej w konkretnych zagadnieniach. 4. Typy rozkładu zmiennej losowej – ciągły, dyskretny i mieszany. Dystrybuanta i gęstość rozkładu zmiennej losowej. 5. Wartość oczekiwana, wariancja i odchylenie standardowe zmiennej losowej. 6. Podstawowe rozkłady zmiennych losowych, pojawiających się w zastosowaniach praktycznych. 7. Wektory losowe, niezależność zmiennych losowych, rozkład, wartość oczekiwana i macierz kowariancji wektora losowego. 8. Rodzaje zbieżności ciągów zmiennych losowych. 9. Twierdzenia graniczne wraz z ich zastosowaniami w statystyce. 10. Przykłady zastosowania probabilistyki związane z teorią informacji, algorytmiką i innymi gałęziami informatyki. Literatura: [1] Jakubowski J., Sztencel R. – Wstęp do teorii prawdopodobieństwa [2] Billingsley P. – Prawdopodobieństwo i miara [3] Krysicki Wł. i inni – Rachunek prawdopodobieństwa i statystyka matematyczna w zadaniach, tom I Koordynator: Prof. dr hab. Adam Paszkiewicz Data aktualizacji: 2009-02-10 Dui_s1 Course name: Applications of Probability Methods Course contents: 1. The basic objects in probability theory: the probability space, random events, the probability, independent events, random variables. 2. The classical definition of the probability and the geometric probability. 3. Selecting appropriate probabilistic models to specific problems. 4. Probability distributions (discrete, continuous and mixed). The cumulative distribution function and the probability density function. 5. The expected value, the variance and the standard deviation of a random variable. 6. Examples of distributions of random variables, which arise in applications. 7. Random vectors, the independence of random variables, the distribution, the expected value and the covariance matrix of a random vector. 8. The convergence of sequences of random variables. 9. The limit theorems in probability and their applications to statistics. 10. Applications of probability theory to information theory, algorithmics and other branches of computer science. 60 2 PRZEDMIOTY STUDIÓW STACJONARNYC PROWADZONE W JĘZYKU ANGIELSKIM STUDIÓW STACJONARNYCH PROWADZONE W JĘZYKU ANGIELSKIM NA KIERUNKU INFORMATYKA 61 Course Name: 2.1 APPLICATION SOFTWARE Code: 1100-AS0ENG Course Form: Computer lab 30h ECTS Credits: 3 Language: ENGLISH Form of Assessment: Two conditions must be fulfilled: I. attending the labs regularly, II. gaining enough points for lab assignments. The final mark depends on the extent of meeting the above set of criteria. Course Goal: The purpose of the class is getting the students acquainted with the basic applications of the MS Office package, including Word, Excel and PowerPoint, and also with elements of symbolic programming in Maple. Prerequisites: – Course Contents: 1. 2. 3. 4. 5. 6. 7. 8. 9. 1. 2. 3. 4. 5. 6. MS OFFICE Formatting text and documents. Using styles. Creating new styles and templates. Lists. Table of contents . Index. Annotations. Inserting objects and fields. Drawings. Using the equation editor – MathType; exporting to Latex. Using tables and forms. Making diagrams and charts. Mass mailing, mail merging. Macro recording. Cell formatting. Absolute, relative, and mixed addressing. Formulas and functions. Making a function graph. Managing data: importing/exporting, filtering, sorting. Pivot tables. Creating presentations: visual effects, text formatting, inserting objects, custom templates. Maple V Maple basics. Simple evaluation rules. Data types in Maple: expression sequences, lists, sets, arrays. Manipulating and converting data. I/O functions: printf-type-functions, making Maple repositories and Maple .m files. Command-line Maple. Procedures and functions: parameters (declaration, conventions, overloading), procedure options (operator, remember, system). Modules basics. Evaluation rules for complex types. Debugging. Recursive procedures. Using loops: do…od, $, seq, map, zip, select etc. for different data structures. The if…fi statement. Using the „type‟ function. Symbolic programming challenges. Bibliography: [1]. Millhollon, M., Murray, K. Microsoft Word Version 2002 Inside Out [2]. Weverka, P., Reid, D., A. Word 2000: The Complete Reference [3]. Matthews, M., S., Matthews, C., B. Office 2000 answers! [4]. Nelson, S., L., Weverka, P. Office 97: The Complete Reference [5]. Matthews, M., S., Seymour, S. Excel 4 for Windows: The Complete Reference [6]. Abell, M., L., Braselton, J., P. Maple V by Example [7]. Garvan, F. The MAPLE Book [8]. Heal, K., M., Hansen, M., L., Rickard, K., M. Maple V: Learning Guide [9]. Kamerich, E. A Guide to Maple [10]. http://www.maplesoft.com/products/maple/history/documentation.aspx Coordinator: Prof. dr hab. Tadeusz Krasiński Date of issue: 16. 02. 2009 62 Course Name: 2.2 BASIC COMPUTER SKILLS Code: 1100-BC0ENG Course Form: 30 h labs ECTS Credits: 3 Language: English Form of Assessment: Practical exam Course Goal: The main goal of this classes is to prepare students to explore themselves different operating systems and to improve their skills in everyday administration of their systems. Prerequisites: Course Contents: 1. 2. 3. 4. 5. 6. Bibliography: [1]. [2]. [3]. [4]. Installing a Linux-based operating system. Managing software (installing, removing, troubleshooting). Administrating users. Managing storage media. Shell programing. Working with desktop and remote desktops. Grant, Rickford , Ubuntu Linux dla każdego, PWN, 2008. Marcel Gagné, Moving to Ubuntu Linux, Addison Wesley Professional (e-book). Offical SUSE books, OpenSuse Community (e-book). Unix Tutorial for beginners (e-book). Coordinator: Prof. dr hab. Ryszard Pawlak Date of issue: 04.02.2009 63 Course Name: 2.3 COMPUTER ARCHITECTURE Code: 1100-CA0ENG Course Form: Lecture, 30hrs ECTS Credits: 4 Language: English Form of Assessment: Written test consisting of questions and exercises Course Goal: Presentation of logical foundations of digital techniques and devices applied to processing and storing information. There are discussed main computer sub-assemblies, its peripheral devices and problems concerning communication between that elements. Prerequisites: None Course Contents: 1. The History of Computer and other Aids to Computation. 2. Boolean Algebra and its Applications in Basic Functional Units of Computer. 3. Data Representation in Digital Computer. 4. Internal Memory of Computer: Types and Management. 5. Performing Arithmetic and Logic Operations by Processor. 6. External Memory of Computer, Bases and Interfaces. 7. Other Peripheral Devices. 8. Input-Output Operations. 9. Organization of Computer: Representing of Instructions and Data, Addressing Techniques, The Concept of Assembly Language, RISC and CISC Architecture. Bibliography: [1] T. C. Bartee – Computer Architecture and Logic Design; McGraw-Hill, Inc; [2] B. S. Chalk – Organizacja i architektura komputerów; Wydawnictwa NaukowoTechniczne, Warszawa; [3] J. Duntemann – Zrozumieć Asembler; Wydawnictwo Translator s.c., Warszawa [4] P. Metzger – Anatomia PC. Architektura komputerów zgodnych z IBM PC; Helion, Gliwice; [5] L.S. Orilia – Computers and Information. An Introduction; McGraw-Hill Book Company, New York, … [6] M. Sargent III, R. L. Shoemaker – The Personal Computer from the Iside Out; AddisonWesley Company; [7] J.E. Savage, S.Magidson, A.M. Stein – The Mystical Machine. Issues and Ideas in Comuting; Addison-Wesley Publishing Company, Massachusetts, … [8] W. Stallings – Organizacja i architektura systemu komputerowego. Projektowanie systemu a jego wydajność; Wydawnictwa Naukowo-Techniczne; Warszawa [9] K. Wojtusiewicz – Urządzenia techniki komputerowej cz. I i II; Mikom. Coordinator: Prof. dr hab. Wojciech Banaszczyk Date of issue: 26.01.2009 64 Course Name: 2.4 COMPUTER GRAPHICS 1 Code: 1100-CG1ENG Course Form: 30 hours of lectures + 30 hours of laboratories ECTS Credits: 6 Language: English Form of Assessment: Lectures - oral exam, laboratories - projects Course Goal: The aim of the lecture is a presentation of theoretical basics of computer graphic without implementation details, presentation the most important algorithms in 2D and 3D graphics. The main topics of the lecture: raster graphics, algorithm for drawing 2D primitives, properties of geometric transformation, viewing in 3D, object graphical representation. Laboratory is devoted to the realisation of algorithms of creating graphics on a computer. Prerequisites: LA0ENG, IP1ENG, IP2ENG Course Contents: 1. 2. 3. 4. 5. 6. 7. 8. History of computer graphics. Raster graphics algorithms: drawing lines and circles, filling areas. 2D and 3D transformations. Representations of geometric objects. Modeling curves and surfaces. Removal of hidden surfaces. Color in computer graphics. Modeling of the light. Fractals Bibliography: [1]. J. D. Foley, A. van Dam, S. K. Feiner, J. F. Hughes, R. L. Phillips, Introduction to computer graphics, Addison-Wesley, 1994 [2]. P. Martz, OpenGL. Distilled, Addison-Wesley, 2006 [3]. W. Jankowski, Elementy grafiki komputerowej, WNT, 2006 (in Polish) [4]. A. LaMothe, Triki najlepszych programistow gier 3D, Helion 2004 (in Polish) Coordinator: Prof. dr hab. Paweł Walczak Date of issue: 20.02.2009 65 Course Name: 2.5 COMPUTER NETWORKS Code: 1100-CN0ENG Course Form: 30 hours of lectures + 30 hours of computer labs ECTS Credits: 6 Language: English Form of Assessment: lectures – written exam; labs – practical test Course Goal: Tthe aim of the course is to provide a basic knowledge on computer networks (in particular the TCP/IP based ones), icluding the basic network technologies, and main network communication and application protocols. Prerequisites: Course Contents: 1. Basic notions, the aims of networking, ISO/OSI and TCP/IP protocol stacks; 2. Physical and media access control layers (transmission media, basic topologies and technologies, physical addressing, medium access control protocols). The Ethernet technology. Wireless networks. 3. Connectionless datagram delivery, the IPv4 and IPv6 protocols, IP addressng, ICMP; extensions of the addressing scheme (subnetting), network address translation. 4. Static and dynamic IP routing (vector-distance and link-state algorithms) 5. Transport layer protocols (TCP, UDP) 6. Dynamic configuration protocols (BOOTP, DHCP) 7. Domain Name System 8. Examples of application layer protocols (TFTP, FTP, SMTP, POP3, HTTP). 9. An introduction to network security Bibliography: [1]. [2]. [3]. [4]. D. Comer: Computer Networks and Internets D. Comer: Internetworking with TCP/IP, vol. 1 RFC documents J.Kurose, K. Ross: Computer Networking: A Top-Down Approach Featuring the Internet Coordinator: Prof. dr hab. Stanisław Goldstein Date of issue: 20.02.2009 66 Course Name: 2.6 DISCRETE MATHEMATICS Code: 1100-DM0ENG Course Form: 30 hrs lecture + 30 hrs tutorial ECTS Credits: 6 Language: English Form of Assessment: Lecture – oral or written examination; tutorial – written test Course Goal: The aim of the course is to teach the students foundations of discrete mathematics together with their applications. Prerequisites: LM0 OMI, AM1 LMI Course Contents: 1. Mathematical induction 2. Combinatorics: basic formulas and their application 3. Asymptotics of functions and sequences 4. Divisibility of natural numbers and prime numbers 5. Recursive form of a sequence 6. Generating functions 7. Recurrence relations 8. Foundations of graph theory: gamma function, paths and cycles, graph matrices, graphs of relations, degree of a vertex. Bibliography: [1] R. Johnsonbaugh „Discrete Mathematics”, Prentice Hall, Upper Saddle River, New Jersey, 1997. [2] J.A. Anderson „Discrete Mathematics with Combinatorics”, Prentice Hall, Upper Saddle River, New Jersey, 2004. Coordinator: Prof. dr hab. Adam Paszkiewicz Date of issue: 30.01.2009 67 Course Name: 2.7 ELEMENTS OF ALGEBRA AND NUMBER THEORY Code: 1100-EA0ENG Course Form: 30 hours of lectures + 30 hours of tutorial ECTS Credits: 6 Language: English Form of Assessment: Lecture - oral exam. Tutorial - test Course Goal: The goal of the course is to present the notions of number theory and abstract algebra which are necessary for the understanding of the modern applications of those branches of mathematics in computer science, e.g., in cryptography. Prerequisites: None Course Contents: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Divisibility properties and division algorithm Greatest common divisor and euclidean algorithm Prime numbers and unique factorization theorem Fermat primes, mersenne primes and perfect numbers Congruences and residue classes Relative primes and euler‟s function Rsa sheme Groups and their subgroups Symmetric groups, cyclic groups Group homomorphism and isomorphism, Rings and polynomial rings. Bibliography: [1]. Baker Andrew - Algebra and number theory, Lecture Notes, available on http://www.maths.gla.ac.uk/~ajb/course-notes.html [2]. Clark Edwin- Elementary abstract algebra, Textbook, available on http://shell.cas.usf.edu/~eclark/ [3]. Clark Edwin- Elementary number theory, Textbook, available on http://shell.cas.usf.edu/~eclark/ [4]. Connel Edwin - Elements of Number Theory: Lecture Notes available on http://www.math.udel.edu/~lazebnik/Info/teaching.html [5]. Niven, Ivan; Zuckerman, Herbert S.; Montgomery, Hugh L. - An introduction to the theory of numbers. Fifth edition. John Wiley & Sons, Inc., New York, 1991 [6]. Rotman, Joseph J. - A first course in abstract algebra. Prentice Hall, Inc., Upper Saddle River, NJ, 1996. Coordinator: Prof. dr hab. Paweł Walczak Date of issue: 16 Feb 2009 68 Course Name: 2.8 ELEMENTS OF ARTIFICIAL INTELLIGENCE Code: 1100-EI0ENG Course Form: 30h lecture + 30h laboratory ECTS Credits: 6 Language: English Form of Assessment: Lecture – written exam; Laboratory - projects (min. 10). Course Goal: IP1ENG, IP2ENG, PL1ENG, PL2ENG Prerequisites: Introduction to basics of artificial intelligence, methods and problems. History of artificial intelliegnce and most important ideas. Students acquires skills how to represent problem expressed in natural language in terms of states nad operators. The emphasis is on learning how to use discussed medthod in specyfic problem. Course Contents: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Artificial intelligence - definitions The Turing Test. Strong Artificial Iteligence and Weak Artificial Inteligence. Data and states representation and its influence of problem solution. Programming language as knowledge representation and reasoning tool: PROLOG an introduction to logic programming languages. Traversing state space with breadth-first and depth-first (and similar) algorithms. Search algorithms (best first search, hill climbing, means-ends analysis). Algorithms of the minimax type.. Backtracking algorithms. Moore machine (e.g. in boot behaviour in computer game). Decision tree. T. Munakata, “Fundamentals of the New Artificial Intelligence”, Springer-Verlag, Bibliography: [1]. 2008. [2]. E. Rich, K. Knight, „Artificial intelligence”, Mc-Graw-Hill, Inc., 1991. [3]. Michale Negnevitsky, ,,Artificial Intelligence:A Guide to Intelligent Systems'' , Addison-Wesley 2004. [4]. Stuart Russell, Peter Norvig, ,,Artificial Intelligence: A Modern Approach'', Published by Prentice Hall 2003. Coordinator: Prof. dr hab. Władysław Wilczyński Date of issue: 2009-01-30 69 Course Name: 2.9 HISTORY OF COMPUTER SCIENCE Code: 1100-HC0ENG Course Form: 30 hours of lectures ECTS Credits: 2 Language: English Form of Assessment: a test and a short essay Course Goal: To give a foundamental knowledge of the key topics and events in the history of computing. Prerequisites: Course Contents: 1. First calculators 2. The XIX century - ideas and inventions 3. Mechanical and transmitter machines 4. Computers of first generations, von Neumann architecture 5. History of data bases, computer progamming languages and software engineering. 6. Artificial Intelligence, personal computers, networks and the Internet revolution Bibliography: [1]. O‟Regan G. – A Brief History of Computing [2]. Martin D. – The universal computer. The road from Leibniz to Turing [3]. Internet resources Coordinator: Prof. dr hab. Władysław Wilczyński Date of issue: 2009-01-20 70 Course Name: 2.10 INTRODUCTION TO COMPUTER SCIENCE Code: 1100-IC0ENG Course Form: 30h lecture + 30h tutorial ECTS Credits: 6 Language: English Form of Assessment: Lecture – written exam; Tutorial – two tests. Course Goal: Prerequisites: Course is a basic introduction to most important computer science ideas and concepts. Topics vary from history and background of computer science, through data representation, logic circuit design to programming languages, operating system concepts and computer networks. During the tutorials students acquires skills how to use different numeral systems, boolean formula transformation, different data (e.g. numbers or images) representation methods. The emphasis is on learning how to describe an algorithms and how to use them to solve given problem. Course Contents: 1. Historical background. 2. Numeral systems, especialy binary, octal and hexadecinal (conversions and atithmetic operation). 3. Boolean algebra – definitions and basic laws. Boolean formula reduction (Karnaugh map). 4. Basic of digital circuit design. 5. Turing machine, modern computer system architecture. 6. Data representation with the use of a characters (Unicode), integer and real numbers, graphic file, TCP/IP stack packet example. 7. What is an algorithm – idea and definitons. Methods of algorithm description (pseudocode, flowcharts, natural language). 8. Programming languages – types and classifications. 9. Operating systems – tasks, types, classifications and examples. 10. Computer networks – types, classifications and basic concepts. Bibliography: [1]. J. Gleen Brookshear, ,,Computer Science: An Overview'', Addison Wesley Publishing Company. Coordinator: Prof. dr hab. Władysław Wilczyński Date of issue: 2009-01-30 71 Course Name: 2.11 INTRODUCTION TO DATABASES Code: 1100-ID0ENG Course Form: lecture (30 hours) and laboratory (30 hours) ECTS Credits: 6 Language: english Form of Assessment: lecture - written test, laboratory – written test Course Goal: Introduction to the world of databases, especially relational database concepts and the powerful SQL programming. Students learn about SQL language and how to query database, how to design, implement and manage database structures (such as tables, views, indexes, sequences). In addition, the lecture delves into advanced querying and report techniques, and optimising data. Prerequisites: 1100-IC0ENG, 1100-IP1ENG Course Contents: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Introduction to database theory. Relational model. Database design. Entities and relationships. Database objects (tables, views, indices, constraints). Structured Query Language. Data manipulation language. Data definition language Database transactions. Introduction to database administration. Bibliography: [1]. John Shepherd „Database management : theory and application”. [2]. David Stamper, Wilson Price „Database design and management: An applied aproach”. [3]. John Watson „Oracle Database 10g OCP all-in-one”. Coordinator: Prof. dr hab. Marcin Studniarski Date of issue: 16.02.2009 72 Course Name: 2.12 INTRODUCTION TO DIFFERENTIAL EQUATIONS (i) Code: 1100-DI0ENG Course Form: 30 hrs. lecture + 30 hrs. tutorials ECTS Credits: 6 Language: angielski Form of Assessment: lecture – oral examination; tutorials – test Course Goal: MA1ENG, MA2 ENG (Mathematical Analysis), LA0 ENG (Linear Algebra) Prerequisites: The aim of this lecture is to acquaint students with the main types of ordinary differential equations that can be effectively solved and with the elements of qualitative theory.We present applications of differential equations – differential models in biology physics and economics. We make use of symbolic calculations computers systems. In tutorials we present calculation techniques for solving the main types of differential equations presented in the lecture. Course Contents: 1. 2. 3. 4. 5. 6. 7. 9. Examples of differential equations. Applications in physics. Predator-pray model. Geometrical properties. Phase portrait, direction field. The Cauchy problem. Theorems that can be applied in solving the main types of ordinary differential equations (separable first order equations, linear first order equations, exact differential equation, integrating factor) Systems of linear differential equations of the first order. Jordan‟s blocks. N-order linear equations. Picard's and Peano's thorems, theorem on prolongation of solutions, theorem on continuous dependence on parameters and initial data. Elements of qualitative theory. Lyapunov stability, dynamical systems. Bibliography: [1]. Braun M. Differential equations and their applications: an introduction to applied mathematics; [2]. Jones D.S., Sleeman B.D. Differential equations and mathematical biology; [3]. Fulford G. et. al. Modelling with differential and difference equations; [4]. Łoboś E. Sikora B. Calculus and differential equations in exercises; [5]. Palczewski A. Równania różniczkowe zwyczajne; [6]. Ombach J. Wykłady z równań różniczkowych; [7]. Przeradzki B. Teoria i praktyka równań różniczkowych zwyczajnych; [8]. W. Krysicki, L. Włodarski. Analiza matematyczna w zadaniach, część II. Coordinator: Prof. dr hab. Stanisław Walczak Date of issue: 2009-02-14 73 Course Name: 2.13 INTRODUCTION TO NUMERICAL METHODS Code: 1100-IN0ENG Course Form: 30 hours lecture + 30 hours computer laboratory ECTS Credits: 6 Language: English Form of Assessment: lecture – written exam, laboratory – computer programs Course Goal: This course introduces students to the algorithms and methods that are commonly used for approximate solving different computational problems. Prerequisites: LA0ENG, MA2ENG, IP2ENG Course Contents: 1. Elements of the error theory. 2. 3. 4. 5. 6. Solving nonlinear equations. Solving systems of linear equations. Computing zeros of polynomials. Approximating functions. Numerical differentiation and integration. Bibliography: [1]. Yakowitz S., Szidarovszky F. – An Introduction to Numerical Computations. [2]. Kincaid D., Cheney W. – Numerical Analysis: Mathematics of Scientific Computing [3]. Higham N.J. – Accuracy and Stability of Numerical Algorithms. Coordinator: Prof. dr hab. Marcin Studniarski Date of issue: 24.02.2009 74 Course Name: 2.14 INTRODUCTION TO OPERATING SYSTEMS Code: 1100-IO0ENG Course Form: 30 hours lecture + 30 hours computer laboratory ECTS Credits: 6 Language: English Form of Assessment: lecture – written and oral exam, Tutorial – written test Course Goal: The aim of the course is to provide basic knowledge in operating systems. General concepts are presented, among others: processes and threads, memory and resources management, file systems, security. A choice of specific, popular operating systems is considered as well, which serve as examples. The goal of the laboratory classes is in turn to familiarize the students with practical aspects of an operating system (mostly Unix) use and administration. Prerequisites: BC0 ENG, IC0 ENG Course Contents: The lecture - selected topics: 1. Processes and threads 2. Interprocess communication 3. Scheduling 4. The problem of deadlocks 5. Memory management 6. Managing input and output devices 7. Security in operating systems 8. Windows, Unix – Case study The laboratory classes - selected topics: Bibliography: [1]. [2]. [3]. [4]. 1. Managing file system 2. Pipeline processing 3. Process management 4. Script programming in Linux environment 5. Operating system administration 6. Automation of administrative tasks 7. Real-life solutions in Linux environment Silberschatz A., Galvin P., Gagne G. – Operating Systems Concepts; Welsh M., Dalheimer M., Dawson T., Kaufman L. – Running Linux; Newham C., Rosenblatt B. - Learning the bash Shell; Tannenbaum A. – Modern Operating Systems; Coordinator: Prof. dr hab. Stanisław Goldstein Date of issue: 10 marca 2010 75 Course Name: 2.15 INTRODUCTION TO PROGRAMMING 1 Code: 1100-IP1ENG Course Form: 30 hrs of lecture + 30 hrs of computer lab ECTS Credits: 6 Language: English Form of Assessment: lecture – written test, lab – practical test Course Goal: to teach students to read imperative programs in the C++ language; to execute programs in order to verify them; and to write and run simple programs up to 100 lines of code. Prerequisites: Basic computer skills Course Contents: 1. 2. 3. 4. 5. 6. 7. 8. Basic programming constructs. Variables and basic types. Input and output. Loops and decisions. Main data structures and associated operations. Arrays and pointers. Functions. Recursion and its implementation. Dynamic memory allocation. Methods of program verification. The concept of an algorithm. Implementation of some classical algorithms. Bibliography: [1]. Robert Lafore, Object-Oriented Programming in C++, 4th Edition. [2]. Stanley B. Lippman, Josee Lajoie, Barbara E. Moo, C++ Primer. Forth edition. [3]. Bruce Eckel, Thinking in C++. [4]. The C++ Standard. Coordinator: Prof. dr hab. Stanisław Walczak Date of issue: February 19, 2009 Course Name: 2.16 INTRODUCTION TO PROGRAMMING 2 Code: 1100-IP2ENG Course Form: 30 hrs of lecture + 30 hrs of computer lab ECTS Credits: 6 Language: English Form of Assessment: lecture – written examination, lab – practical test Course Goal: to teach students to design, implement, test, and debug simple object-oriented programs. Prerequisites: 1100-IP1ENG Course Contents: 1. 2. 3. 4. Multifile programs. Designing, implementing and testing classes. Copy-control. Operator overloading. Object-oriented programming: inheritance, polymorphism, and virtual methods. Bibliography: [1]. Nicolai M. Josuttis - Object-Oriented Programming in C++. [2]. Stanley B. Lippman, Josee Lajoie, Barbara E. Moo, C++ Primer. Forth edition. [3]. Bruce Eckel, Thinking in C++. [4]. The C++ Standard. Coordinator: Prof. dr hab. Stanisław Walczak Date of issue: February 19, 2009 76 Course Name: 2.17 LINEAR ALGEBRA WITH ANALYTIC GEOMETRY Code: 1100-LA0ENG Course Form: 30 hours of lecture + 30 hours of tutorial ECTS Credits: 6 Language: English Form of Assessment: lecture – oral exam, tutorial – homework and test Course Goal: The aim of the subject is to provide computer science students tools for solving linear systems, matrix calculus and for description of geometric objects and tranformations Prerequisites: secondary (high) school standards for mathematics Course Contents: 1. 2. 3. 4. 5. Linear systems Vector spaces and subspaces Matrices and determinants Geometric transformations Eigenspaces and eigenvalues Bibliography: [1]. A. Beardon, Algebra and Geometry [2]. J. Hefferon, Linear Algebra [3]. K. Matthews, Elementary Linear Algebra Coordinator: Prof. dr hab. Paweł Walczak Date of issue: 25/02/2009 77 Course Name: 2.18 LOGIC WITH ELEMENTS OF SET THEORY Code: 1100-LS0ENG Course Form: 30h lecture + 30h tutorial ECTS Credits: 9 Language: English Form of Assessment: Lecture – oral exam; Tutorial – tests. Course Goal: The aim of the subject is to acquaint students with the basic notions and methods of the set theory,focusing on precise formulating of thought and acquiring the skill of proper reasoning. Prerequisites: Course Contents: 1. The positive integers. Principle of Finite Induction. 2. Logical Calculus. 3. Sets and operations. The Cartesian product. 4. Relations. The equivalence relations. 5. Functions.The image and the inverse image under function. 6. The unions and intersections of the families of sets. 7. Equivalence of sets. Denumerable and nondenumerable sets. 8. Arrangement of cardinals by magnitude. Cantor-Bernstein Equivalence Theorem. Cantor‟s Theorem of power-set. 9. The arithmetic of cardinal numbers. 10. Ordered sets. Bibliography: [1] Halmos, P., Naive Set Theory; [2] Kunen K., Set Theory. An Introduction to Independence Proofs; [3] Mc Fadden M., Moore J.W., Smith W.I., Sets, Relations & Functions; [4] Fraenkel A.A., Abstract Set Theory. Coordinator: Prof. dr hab. Władysław Wilczyński Date of issue: 12.12.2008 78 2.19 MATHEMATICAL ANALYSIS FOR COMPUTER SCIENCE STUDENTS 1 Course Name: Code: 1100-MA1ENG Course Form: 30 hours of lecture + 30 hours of tutorial + 30 hours of computer lab ECTS Credits: 9 Language: English Form of Assessment: Tutorial – written test Course Goal: The aim of the subject is to introduce students to mathematical analysis concerning the function of one variable. The main ideas of integral calculus and differential calculus will be presented. A mathematical programme assisting computer calculations will be used during the laboratory classes. Prerequisites: Course Contents: 1. 2. 3. 4. 5. 6. 7. 8. 9. Logic, elementary set theory, quantitiers. Sequences and their limits. Limits and continuity of functions of one variable. Derivative of functions of one variable. Applications of derivative. Antiderivatives. Definite integrals, Applicatons of definite integrals. Improper integrals. Bibliography: [1] J. Stewart, Calculus, Concepts and Context, Brooks/Cole, Pacific Grove 1991 [2] M. Spivak, Calculus, 2007 [3] L. Włodarski, W. Krysicki, Analiza matematyczna w zadaniach, tom 1-2, PWN, Warszawa 2005. [4] M. Fichtenholz, Rachunek różniczkowy i całkowy, tom 1-3, PWN, Warszawa 2003-05. [5] H.J. Musielakowie, Analiza matematyczna, tom 1, cz. 1-2. Poznań 1993. [6] W. Rudin, Podstawy analizy matematycznej, PWN, Warszawa 1982. Coordinator: Prof. dr hab. Władysław Wilczyński Date of issue: 12.12.2008 79 2.20 MATHEMATICAL ANALYSIS FOR COMPUTER SCIENCE STUDENTS 2 Course Name: Code: 1100-MA2ENG Course Form: 30 hrs lecture + 30 hrs tutorial ECTS Credits: 6 Language: English Form of Assessment: Lecture – examination; tutorial – written test Course Goal: The aim of the subject is to acquaint students with functions of several variables, especially Taylor‟s formula, extremas and multiple integrals. Elementary knowledge concerning differential equations will be introduced. Prerequisites: Course Contents: 1. 2. 3. 4. 5. 6. 7. 8. 9. Series of reals. Series of functions. Limits and continuity of the functions of several variables. Partial and directional derivatives. Taylors formula for functions of two variables. Extremas of the functions of several variables. Multiple integrals. Introduction to the differential equations. Applications of the differential equations. Bibliography: [1] J. Stewart, Calculus, Concepts and Context, Brooks/Cole, Pacific Grove 1991 [2] M. Spivak, Calculus, 2007 [3] L. Włodarski, W. Krysicki, Analiza matematyczna w zadaniach, tom 1-2, PWN, Warszawa 2005. [4] M. Fichtenholz, Rachunek różniczkowy i całkowy, tom 1-3, PWN, Warszawa 2003-05. [5] H.J. Musielakowie, Analiza matematyczna, tom 1, cz. 1-2. Poznań 1993. [6] W. Rudin, Podstawy analizy matematycznej, PWN, Warszawa 1982.. Coordinator: Prof. dr hab. Władysław Wilczyński Date of issue: 12.12.2008 80 Course Name: 2.21 PROBABILITY METHODS Code: 1100-PM0ENG Course Form: 30 hrs lecture + 30 hrs tutorial ECTS Credits: 6 Language: English Form of Assessment: Lecture – oral or written examination; tutorial – written test Course Goal: The aim of the course is to teach students the foundations of probability theory and its applications. Basic facts and theorems of this theory are presented together with their use in the situations in which probability theory is applied. Prerequisites: LM0 OMI, AM1 LMI Course Contents: 1. Probability as measure: definition and properties of probability 2. Geometric probability, conditional probability, the total probability formula, the 3. 4. 5. 6. 7. 8. 9. Bayes formula Independence of random events Definition of a random variable Examples and types of random variables Distribution of a random variable, distribution function, density function Expectation and variance Multidimensional random variables; covariance matrix, correlation coefficient Independence of random variables Bibliography: [1] P. Billingsley „Probability and Measure”, Wiley, New York, 1980. [2] M. Loeve „Probability Theory”, Van Nostrand, Princeton, 1963. [3] J. Lamperti „Probability”, Benjamin, New York, 1966. Coordinator: Prof. dr hab. Andrzej Łuczak, Date of issue: 30.01.2009 81 Course Name: 2.22 VISUAL PROGRAMMING Code: 1100-VP0ENG Course Form: 30- lectures, 30 -laboratory ECTS Credits: 6 Language: english Form of Assessment: lectures –final test, laboratory – final project Course Goal: The main purpose of this lecture is to acquaint the students with visual programming and Rapid Application Development tools, such as Borland Builder and Microsoft Visual Studio. Prerequisites: PL2 ENG Course Contents: 1. Overview of the Visual Studio .NET IDE, managing solutions and projects 2. Introduction to .NET and programming in C# 3. Building Windows forms, overview of Toolbox's controls – properties, method and events 4. Types of Windows application interfaces 5. Working with databases, creating tables and relationships, working with SQL statements, binding controls to data 6. Overview of the C++ Borland Builder IDE, managing a project 7. Working with databases, DataAccess and DataControls components 8. Exchanging Data over the Network using Internet components: ServerSocket and ClientSocket Bibliography: [1]. L.Powers, M.Snell, Microsoft Visual Studio 2005. Księga eksperta [2]. [3]. [4]. [5]. Ch.Petzold Programing Microsoft Windows with C# J.Liberty Programing C# S.Malik Pro ADO.NET 2.0 K.Reisdorph, K.Henderson Teach Yourself Borland C++ Builder in 21 Days Coordinator: Prof. dr hab. Stanisław Walczak Date of issue: 2010-03-10 82 Course Name: 2.23 XML APPLICATIONS IN THE INTERNET Code: 1100-XM0ENG Course Form: 30 hrs computer lab ECTS Credits: 3 Language: english Form of Assessment: laboratory – practical works Course Goal: ID0 ENG Prerequisites: The goal of subject is introduced to basic technologies which are related to meta- language eXtensible Markup Language (XML). An XML is universal means of record and exchange of information. Almost any hierarchical data structures can be described by means of XML by dint of its extensibility. During the laboratories students will learn abort practical aspects of using the fundamental standards. Course Contents: 1. 2. 3. 4. 5. 6. 7. Introduction to XML Modeling of XML documents (DTD and XML Schema). Standards of linking and navigating in XML resources (XLink, XPath, XPointer, XBase). Methods for presentation and transformation of XML data (CSS, XSLT, XSL-FO). Programming interfaces for parsing XML documents (SAX and DOM) Selected applications and descended technologies XML applications in databases (in particular XQuery language) Bibliography: [1]. Ray E.T. – XML. Wprowadzenie; [2]. Kazienko P. Gwiazda K. – XML na poważnie; [3]. Holzner S. - XML. Vademecum profesjonalisty; [4]. Marchal B. – XML w przykładach; [5]. Arciniegas F. – XML kompendium programisty; [6]. van Otegem M.- XSLT dla każdego lub Floyd M. Poznaj XSLT; [7]. Chang B., Cardina M., Kiritzov S. - Oracle9i XML Handbook; [8]. McLaughlin B., Edelson J. - Java and XML; [9]. Specifications of XML and related standards - available on web portal of W3Consortium (http://www.w3.org) Coordinator: Prof. dr hab. Marcin Studniarski Date of issue: 2008-12-12 83 84 3 PRZEDMIOTY STUDIÓW NIESTACJONARNYCH STUDIÓW NIESTACJONARNYCH NA KIERUNKU INFORMATYKA 85 Nazwa przedmiotu: 3.1 ADMINISTROWANIE SYSTEMAMI BAZODANOWYMI Kod: 1100-AB0ZLI Forma przedmiotu: Laboratorium komputerowe Ilość punktów ECTS: 3 Język wykładowy: polski Sposób zaliczenia: zaliczenie Cele przedmiotu: Zapoznanie studentów z różnymi systemami zarządzania bazami danych, uświadomienie roli uprawnień w bezpieczeństwie danych, zapoznanie z różnymi sposobami wykonywania kopii zapasowych. Umiejętności wstępne: Treści przedmiotu: 1. Przegląd otwartych systemów zarządzania bazą danych: PostgreSQL, MySQL i 2. 3. 4. 5. 6. inne. Instalacja i uruchamianie SZBD. Tworzenie i zarządzanie przestrzeniami tabel. Administracja użytkownikami. Instalacja SZBD pod systemem operacyjnym GNU/Linux i Windows. Zasady i wykonywanie kopii bezpieczeństwa działającego SZBD. Literatura: [1]. John C. Worsley, Joshua D. Drake, tłum.: Radosław Meryk "PostgreSQL. Praktyczny przewodnik", ISBN: 83-7197-754-9 [2]. Ullman J. D., Widom J. - Podstawowy wykład z systemów baz danych [3]. L. Banachowski, E. Mrówka-Matejewska, K. Stencel - Systemy baz danych. Wykłady i ćwiczenia Koordynator: Prof. dr hab. Marcin Studniarski Data aktualizacji: 2009 II 25 ZLI_b_s6 Course name: Administration of Database Systems Course contents: 1. The overview of open database systems; among others: PostgreSQL, MySQL. 2. 3. 4. 5. Installation and maintenance of database systems. The creation and maintenance of tablespaces. The administration of users. The installation of a database system under different operating systems: GNU/Linux and Windows. 6. Making a reliable backup of a working database system. 86 Nazwa przedmiotu: 3.2 ALGEBRA LINIOWA Z GEOMETRIĄ Kod: 1100-ALGZLI Forma przedmiotu: 18 godzin wykładu + 18 godzin konwersatorium Ilość punktów ECTS: 6 Język wykładowy: Polski Sposób zaliczenia: wykład – egzamin pisemny; konwersatorium – zaliczenie Cele przedmiotu: Celem przedmiotu jest zaznajomienie studenta z teoretycznymi podstawami algebry liniowej oraz przestrzeni liniowych. Przedstawione są postawowe struktury algebraiczne: grupy, pierścienie i ciała. Omówione są elementy geometrii skończenie wymiarowych przestrzeni liniowych oraz hiperpowierzchni stopnia dwa. Umiejętności wstępne: Treści przedmiotu: 1. Podstawowe struktury algebraiczne: grupy, pierścienie, ciała. 2. Liczby zespolone. 3. Przestrzeń liniowa: wektory liniowo niezależne, baza, wymiar. 4. Macierze oraz działania na nich, wyznacznik, rząd, macierz odwrotna. 5. Metody rozwiązywania układów równań liniowych (Tw. Cramera, Tw. KroneckeraCapelliego). 6. Przekształcenia liniowe oraz ich reprezentacja macierzowa. 7.Przekształcenia afiniczne. 8. Iloczyn skalarny oraz wektorowy, przestrzeń afiniczna oraz euklidesowa. 9.Przestrzenie i podprzestrzenie afiniczne, proste oraz płaszczyzny w przestrzeni wymiaru 3. 10. Formy dwuliniowe oraz kwadryki. 11. Elementy geometrii analitycznej. Literatura: [1]. B. Gleichgewicht „Algebra“, PWN, Warszawa 1976. [2]. M. Moszyńska, J. Święcicka „ Geometria z algebrą liniową“, PWN 1987. [3]. A. Białynicki-Birula „Algebra liniowa z geometrią“, PWN 1979. [4]. A. Mostowski, M. Stark „ Elementy algebry wyższej“, PWN 1977. [5]. S. Przybyło, A. Szlachtowski „ Algebra i wielowymiarowa geometria analityczna w zadaniach“, WNT 1994. Koordynator: Prof. dr hab. Paweł Walczak Data aktualizacji: 26.01.2009 ZLI_s2 Course name: LINEAR ALGEBRA WITH GEOMETRY Course contents: 1. Basic algebraic structures: groups, rings, fields. 2. Complex numbers. 3. Linear space: linearly independent vectors, base, dimension. 4. Matrices and operations: determinat, rank, inverse matrix. 5. Systems of linear equations and methods of solving ( Cramer, Kronecker-Capelli theorems). 6. Linear transformations and their matrix representations. 7. Affine transformations. 8. Scalar product and vector product, Affine and Euclidean spaces. 9. Affine space, affine subspace, lines and planes in a space of dimension 3. 10 Two-linear forms and quadrics. 11. Foundations of analytic geometry. 87 Nazwa przedmiotu: 3.3 ALGORYTMY I ZŁOŻONOŚĆ Kod: 1100-AZ0ZLI Forma przedmiotu: 18 godzin wykładu + 18 godzin laboratorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: Na podstawie wykonanych projektów Cele przedmiotu: Uzyskanie wiedzy na temat podstawowych struktur danych i podstawowych technik algorytmicznych oraz sposobów analizowania złożoności algorytmów. Umiejętności wstępne: PR0ZLI Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. Pojęcie algorytmu. Podstawy analizy algorytmów. Podstawowe techniki projektowania algorytmów. Elementarne struktury danych (tablice i listy). Abstrakcyjne typy danych (stos i kolejki). Rekurencja. Elementarne metody sortowania. Literatura: [1] R. Sedgewick Algorytmy w C++ Wydawnictwo RM, Warszawa 1999, [2] A. Drozdek C++ algorytmy i struktury danych Wydawnictwo Helion, Gliwice 2004, [3] D. Harel Rzecz o istocie informatyki Algorytmika WNT, Warszawa 2001, [4] L. Banachowski, K. Diks, W. Rytter Algorytmy i struktury danych WNT, Warszawa 2003. [5] T.H. Cormen, Ch.E. Leiserson, R.L. Rivest Wprowadzenie do algorytmów WNT, Warszawa 2001. Koordynator: Prof. dr hab. Władysław Wilczyński Data aktualizacji: 20.02.09 Course name: ALGORITHMS AND COMPLEXITY Course contents: 1. The notion of algorithm. 2. Principles of algorithm analysis. 3. Basic techniques for the design of algorithms. 4. Elementary data structures (arrays and linked lists). 5. Abstract data types (stacks and queues). 6. Recursion. 7. Elementary sorting methods. 88 Nazwa przedmiotu: 3.4 ANALIZA ALGORYTMÓW Kod: 1100-AA0ZUI Forma przedmiotu: 18 godzin wykładu + 18 konwersatorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład - egzamin pisemny, konwersatorium – zaliczenie (kolokwium) Umiejętności wstępne: MD0ZLI, WP0 LII, PS0 LII, Cele przedmiotu: Celem przedmiotu jest zaznajomienie studenta z podstawowymi zagadnieniami analizy algorytmów. Omawiane są metody sprawdzania poprawności i złożoności obliczeniowej algorytmów, abstrakcyjne struktury danych, techniki projektowania algorytmów. Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Literatura: [1]. [2]. [3]. [4]. Pojęcie algorytmu. Czym zajmuje się analiza algorytmów. Złożoność obliczeniowa algorytmów. Notacja asymptotyczna. Poprawność algorytmów. Niezmienniki pętli Rekurencje. Oszacowania asymptotyczne rekurencji (metody: podstawiania, iteracyjna, rekurencji uniwersalnej). Algorytmy typu „dziel i zwyciężaj”. Algorytmy sortowania. Analiza złożoności czasowej sortowania szybkiego. Stosy, kolejki, listy. Grafy, drzewa, drzewa binarne. Analiza probabilistyczna algorytmów. Cormen T.H., Leiserson Ch.E., Rivest R.L., Wprowadzenie do algorytmów, Banachowski L., Diks K. Algorytmy i struktury danych, Banachowski L., Kreczmar A. Elementy analizy algorytmów, Bentley J. Perełki oprogramowania. Koordynator: Prof. dr hab. Paweł Walczak Data aktualizacji: 2009-02-20 ZUI_PSI_08 s2, TiwB_08 s2 Course name: Course contents: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Analysis of Algorithms Algorithm. Analysis of algorithms. Computational complexity of algorithms. Asymptotic notation. Correctness of algorithms. Loop invariants. Recursion. Recursive algorithms. Divide and conquer algorithms. Sorting algorithms. Quicsort. List, stack, queue, Tree, binary tree, graph. Probabilistic analysis of algorithms. 89 Nazwa przedmiotu: Kod: 3.5 ANALIZA MATEMATYCZNA 1100-AM1ZLI Forma przedmiotu: 18 godzin wykładu + 18 godzin konwersatorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: Kolokwium zaliczeniowe + egzamin teoretyczny pisemny Cele przedmiotu: Zapoznanie studentów z narzędziami analizy matematycznej, w szczególności rachunku różniczkowego i całkowego funkcji jednej zmiennej. Uporządkowanie wiedzy szkolnej w tym zakresie. Zwrócenie uwagi na przydatność pow. narzędzi w zagadnieniach inżynierskich. Umiejętności wstępne: Materiał szkoły średniej Pojęcie funkcji. Przegląd funkcji elementarnych Funkcje cyklometryczne Pojęcie ciągu, granica ciągu Granica i ciągłość funkcji w punkcie. Pojęcie pochodnej, interpretacja fizyczna Ekstrema, tw. Rolla i Lagrange'a, monotoniczność a pochodna funkcji. Pochodne wyższych rzędów, funkcje wypukłe. Pojęcie całki nieoznaczonej. Metody całkowania. Całka oznaczona Riemanna vs. całka oznaczona Newtona. Podstawowe twierdzenie rachunku całkowego. 10. Zbieżność szeregów liczbowych. 11. Ciągi i szeregi funkcyjne. Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. 8. 9. Literatura: [1]. [2]. [3]. [4]. [5]. G. Fichtenholz : Rachunek różniczkowy i całkowy, PWN 2005, K. Kuratowski : Rachunek różniczkowy i całkowy Funkcje jednej zmiennej, BM nr 22 Dyczka, Dobrowolska, Jakuszenkow, Matematyka 1, HELPMATH 2008 Krysicki W. , Włodarski L., Analiza matematyczna w zadaniach, tom 1, PWN 2008. J. Banaś S. Wędrychowicz : Zbiór zadań z analizy matematycznej, WNT 2007. Koordynator: Prof. dr hab. Władysław Wilczyński Data aktualizacji: 2009-01-22 ZLI_s1 Course name: Course contents: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. MATHEMATICAL ANALYSIS The term of function. Elementary functions review. Cyclometric functions. The sequence and its limit. The limit and the continuity of function. The derivative, its physical sense/ Extrema, theorems of Rolle and Lagrange, monotonicity of function. Derivatives of higher order, convex functions. Undefinite integral. Methods of integration. Riemann integral vs. Newton integral. Fundamental theorem of integral calculus. Convergence of numeric series Functional sequences and series. 90 Nazwa przedmiotu: 3.6 ANALIZA PORTFELOWA Kod: 1100-AP0ZUI Forma przedmiotu: 18 godzin wykładu + 18 godzin pracownia komputerowa Ilość punktów ECTS: 7 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin pisemny; pracownia komputerowa – zaliczenie Cele przedmiotu: Celem przedmiotu jest zaznajomienie studentów z podstawami wiedzy o akcjach, jako instrumentach finansowych, metodach wyceny akcji a także najważniejszych parametrach statystycznych charakteryzujących akcje. Przedstawione są metody konstrukcji portfela dwu- oraz wieloakcyjnego, spełniające określone kryteria oraz ogólny model równowagi rynku kapitałowego. Umiejętności wstępne: ZMPZLI (zastosowania metod probabilistycznych) Treści przedmiotu: 1. Rynek kapitałowy i instrumenty finansowe. Instrumenty pochodne: kontrakty, opcje, warranty. 2. Wycena akcji. Czynniki determinujące wartość akcji. Wartość wewnętrzna akcji. Modele dyskontowe wyceny akcji. 3. Dochód z akcji. Oczekiwana stopa zwrotu. Prognozowanie stopy zwrotu. Rodzaje ryzyka inwestowania w akcje. Miary ryzyka. Parametry zmienności ceny akcji. 4. Portfel dwóch akcji. Oczekiwana stopa zwrotu. Kowariancja i korelacja stóp zwrotu. Mapa zysku i ryzyka portfela dwuakcyjnego. Zbiór wszystkich możliwości inwestycyjnych portfela dwóch akcji. 5. Portfel wielu akcji. Zbiór wszystkich możliwości inwestycyjnych. Zbiór efektywny. Wyznaczanie portfela o minimalnym ryzyku. Kryteria tworzenia portfela. 6. Portfel zawierający akcje i instrumenty wolne od ryzyka. Linia rynku kapitałowego (CML) 7. Modele rynku kapitałowego. Model jednowskaźnikowy Sharpe‟a. Model równowagi rynku kapitałowego CAPM Literatura: [1]. Jajuga K., Jajuga T. - Inwestycje. Instrumenty finansowe. Ryzyko finansowe. Inżynieria finansowa” [2]. Benninga S. - Principles of finance with EXCEL” [3]. Wierzbicki M., Analiza portfelowa [4]. Luenberger D. G. – Teoria inwestycji finansowych Koordynator: Prof. dr hab. Marcin Studniarski Data aktualizacji: 08.02.2009 ZUI_t_s3 Course name: Portfolio Analysis Course contents: 1. 2. 3. 4. Capital market and financial instruments. Derivatives. General principles of the security valuation. Models of discounted cash flows. Expected return for assets. Concept of risk. Measures of risk. Voliatility of stock prices. Basic statistics for a two-asset portfolio. All possible portfolios. The graph of portfolio returns. 5. Portfolio statistics for multiple assets. Efficient frontier. Minimum variance portfolio. Criteria for constructing portfolios. 6. Risky portfolios and the risk free asset. Capital Market Line. 7. The Capital Asset Pricing Model 91 Nazwa przedmiotu: 3.7 ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH Kod: 1100-ASKZLI Forma przedmiotu: 18 godz. wykładu i 18 godz. laboratorium komp. Ilość punktów ECTS: 6 Język wykładowy: Język polski Sposób zaliczenia: Kolokwium pisemne złożone z pytań testowych i zadań do rozwiązania Cele przedmiotu: Przedstawienie logicznych podstaw techniki cyfrowej i urządzeń służących do przetwarzania i przechowywania informacji. Omawia się najważniejsze podzespoły komputera, urządzeń peryferyjnych i zagadnienia dotyczące komunikacji między tymi elementami. Umiejętności wstępne: Brak specjalnych wymagań. Treści przedmiotu: 1.Wiadomości historyczne na temat urządzeń liczących i komputerów. 2. Algebra Boole‟a i jej zastosowania w układach funkcjonalnych komputera. 3. Kodowanie i jego wykorzystanie w układach komputera. 4. Pamięć wewnętrzna komputera, jej budowa, typy i zarządzanie. 5. Realizacja operacji arytmetyczno-logicznych przez procesor. 6. Nośniki pamięci zewnętrznej, magistrale i interfejsy. 7. Pozostałe urządzenia peryferyjne. 8. Realizacja operacji wejścia-wyjścia. 9. Organizacja komputera na poziomie asemblera: reprezentacje instrukcji i danych, metody adresowania, architektura RISC i CISC. Literatura: [1] T. C. Bartee – Computer Architecture and Logic Design; McGraw-Hill, Inc; [2] B. S. Chalk – Organizacja i architektura komputerów; Wydawnictwa Naukowo-Techniczne, Warszawa; [3] J. Duntemann – Zrozumieć Asembler; Wydawnictwo Translator s.c., Warszawa [4] P. Metzger – Anatomia PC. Architektura komputerów zgodnych z IBM PC; Helion, Gliwice; [5] L.S. Orilia – Computers and Information. An Introduction; McGraw-Hill Book Company, New York, … [6] M. Sargent III, R. L. Shoemaker – The Personal Computer from the Iside Out; AddisonWesley Company; [7] J.E. Savage, S.Magidson, A.M. Stein – The Mystical Machine. Issues and Ideas in Comuting; Addison-Wesley Publishing Company, Massachusetts, … [8] W. Stallings – Organizacja i architektura systemu komputerowego. Projektowanie systemu a jego wydajność; Wydawnictwa Naukowo-Techniczne; Warszawa [9] K. Wojtusiewicz – Urządzenia techniki komputerowej cz. I i II; Mikom. Koordynator: Prof. dr hab. Wojciech Banaszczyk Data aktualizacji: 26.01.2009 ZLI_s1 Course name: Architecture of Computer Systems Course contents: 1. The History of Computer and other Aids to Computation. 2. Boolean Algebra and its Applications in Basic Functional Units of Computer. 3. Data Representation in Digital Computer. 4. Internal Memory of Computer: Types and Management. 5. Performing Arithmetic and Logic Operations by Processor. 6. External Memory of Computer, Bases and Interfaces. 7. Other Peripheral Devices. 8. Input-Output Operations. 9. Organization of Computer: Representing of Instructions and Data, Addressing Techniques, The Concept of Assembly Language, RISC and CISC Architecture. 92 Nazwa przedmiotu: 3.8 BAZY DANYCH Kod: Forma przedmiotu: Ilość punktów ECTS: Język wykładowy: Sposób zaliczenia: 1100-BD0ZLI 18 godzin wykładu + 18 godzin laboratorium 6 Polski wykład – egzamin pisemny (test wyboru); laboratorium informatyczne – sprawdzian pisemny dotyczący programowania w językach SQL i PL/SQL firmy Oracle Cele przedmiotu: Celem wykładu jest zaznajomienie studenta z językami SQL i PL/SQL firmy Oracle – oczywiście z uwagi na ograniczenia czasowe – podstawowymi własnościami i strukturami programistycznymi tych języków. Głównym celem, jaki przyświeca zajęciom prowadzonym w ramach laboratorium, jest praktyczna nauka samodzielnego programowania rozmaitych kwerend w ramach języka SQL firmy Oracle oraz samodzielne tworzenie wybranych elementów kodu języka PL/SQL tej firmy, który umożliwia w odpowiedni sposób zarządzanie i manipulowanie danymi przechowywanymi w systemie baz danych Oracle. Umiejętności wstępne: PBDZLI 1. Podstawowe informacje i właściwości języków SQL i PL/SQL firmy Oracle. Treści przedmiotu: 2. Typy danych w języku SQL i PL/SQL. 3. Tworzenie tabel w języku SQL: klucze, indeksy, ograniczenia oraz komentarze dla tabeli/kolumny 4. Praca z wieloma tabelami: typy połączeń. 5. Instrukcje języka DML: SELECT, INSERT, DELETE, UPDATE. 6. Wbudowane operatory i funkcje języka SQL. 7. Wyrażenia agregujące, grupujące i warunkowe języka SQL. 8. Podzapytania nieskorelowane i skorelowane. 9. Podstawy języka PL/SQL firmy Oracle – blok, jego struktura i sekcje. 10. Pobieranie danych w języku PL/SQL – kursory: typy kursorów (jawne i niejawne). 11. Struktury sterowania PL/SQL – wyrażenia warunkowe i pętle. 12. Procedury i funkcje w języku PL/SQL. 13. Wyzwalacze DML w języku PL/SQL. Literatura: [1]. M.Abbey, M.Corey, I.Abramson, Oracle 9i. Podręcznik dla początkujących, Helion [2]. J.Gnybek, Oracle łatwiejszy niż przypuszczasz, Helion, Gliwice 2006. [3]. H.Ladanyi, SQL. Księga eksperta, Helion, Gliwice 1999. [4]. R.K.Stephens i inni, SQL w 3 tygodnie, LP&P Warszawa 1999. [5]. J.S. Bosman, S.L.Emerson i M.Darnovsky, Podręcznik języka SQL, WNT Warszawa [6]. K.Loney, Oracle Database 10g. Kompendium administratora, Helion, Gliwice 2005. [7]. B.Pribyl, S.Feuerstein, Oracle PL/SQL. Wprowadzenie, Helion, Gliwice 2002. [8]. S.Urman, Oracle 9i. Programowanie w języku PL/SQL, Helion, Gliwice 2003. [9]. S.Urman, R.Hardman, M.McLaughlin, Oracle Database 10g. Programowanie w języku PL/SQL, Helion, Gliwice 2007. [10]. www.oracle.com [11]. oryginalna dokumentacja firmy Oracle: SQL Reference [12]. oryginalna dokumentacja firmy Oracle: PL/SQL User‟s Guide and Reference Koordynator: Prof. dr hab. Marcin Studniarski Data aktualizacji: 2009/01/31 zli_s4 Course name: DATABASES Preliminary information and features of Oracle‟s SQL and PL/SQL languages. Data types in SQL and PL/SQL. Implementation of tables in SQL: constraints, keys, indexes and comments for table/column. DML language instructions: SELECT, INSERT, DELETE, UPDATE. Many-tables queries: types of joins. Operators and functions of Oracle‟ SQL language. Aggregation, grouping and conditional expression in Oracle‟s SQL language. Correlated and uncorrelated subqueries. Fundamentals of Oracle‟s PL/SQL language: block, its structure and sections. Derivation of data in PL/SQL language – cursors: cursors types (explicit cursors and implicit cursors). 11. Control instructions: conditional and loops. 12. Procedures and functions in PL/SQL language. 13. DML triggers in PL/SQL language. Course contents: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 93 Nazwa przedmiotu: 3.9 ELEMENTY SZTUCZNEJ INTELIGENCJI Kod: 1100-SI0ZLI Forma przedmiotu: 18 godzin wykładu + 18 godzin laboratorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin pisemny; Umiejętności wstępne: PR0ZLI Cele przedmiotu: Omówienie podstawowych zagadnień i problemów sztucznej inteligencji. Słuchacz powinien posiąść umiejętność opisywania przestrzeni problemu wyrażonego w języku naturalnym przy pomocy stanów i operatorów. Znaczny nacisk położony jest także na umiejętności praktycznego wykorzystania omawianych metod do rozwiązania konkretnych problemów. Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. 8. 9. Sztuczna inteligencja – definicje. Test Turinga. Silna i słaba sztuczna inteligencja (Chiński Pokój kontra Jasny Pokój) Wpływ wyboru sposobu reprezentacji problemu na jego rozwiązanie. Język jako narzędzie reprezentacji i wnioskowania: PROLOG - elementarne wprowadzenie do języków programowania w logice. Algorytmy przeszukiwania przestrzeni wszerz i w głąb. Algorytmy związane z poszukiwaniem ścieżki (best first search, hill climbing, meansends analysis). Algorytmy typu mini-max. Rozwiązywanie problemów przeszukiwania z ograniczeniami za pomocą algorytmów z nawrotami. Literatura: Zasadniczym źródłem informacji są materiały dostarczone studentom w formie skryptu (dostępne i aktualizowane na bieżąco na stronie http://math.uni.lodz.pl/~fulmanp), zarówno w trakcie ćwiczeń jak i wykładu. W skrypcie zawarto także obszerny spis polecanej (i zarazem dostępnej) literatury uzupełniającej, m.in.: [1]. M. J. Kasperski, „Sztuczna inteligencja. Droga do myślących maszyn”, Helion, 2003. [2]. E. Rich, K. Knight, „Artificial intelligence”, Mc-Graw-Hill, Inc., 1991. [3]. R. Penrose, „Nowy umysł cesarza. O komputerach, umyśle i prawach fizyki”, PWN, Warszawa 2000. [4]. Materiały dostarczane w formie skryptu (dostępne i aktualizowane na bieżąco na stronie http://math.uni.lodz.pl/~fulmanp). Koordynator: Prof. dr hab. Władysław Wilczyński Data aktualizacji: 2009-01-30 Zli_s6 Course name: Elements of Artificial Intelligence Course contents: 1. Artificial intelligence - definitions 2. The Turing Test. 3. Strong Artificial Iteligence and Weak Artificial Inteligence. 4. Data and states representation and its influence of problem solution. 5. Programming language as knowledge representation and reasoning tool: PROLOG an introduction to logic programming languages. 6. Traversing state space with breadth-first and depth-first (and similar) algorithms. 7. Search algorithms (best first search, hill climbing, means-ends analysis). 8. Algorithms of the minimax type.. 9. Backtracking algorithms. 94 Nazwa przedmiotu: 3.10 GENERATORY APLIKACJI Kod: 1100-GA0ZUI Forma przedmiotu: 18 godzin laboratorium Ilość punktów ECTS: 4 Język wykładowy: polski Sposób zaliczenia: projekt Umiejętności wstępne: AD0LII, PR0OII Cele przedmiotu: Celem tego przedmiotu jest zapoznanie studentów ze współczesnymi technikami programowania takimi jak: programowanie obiektowe, wizualne wspomaganie tworzenia programowania, budowanie interfejsu użytkownika, tworzenie oprogramowania działającego w sieciach komputerowych, programowanie bazodanowe i wielowątkowe. Przedmiot ten ma wykształcić umiejętności: analizowanie istniejących problemów w kontekście obiektowym, używanie nowoczesnych narzędzi programistycznych, tworzenie oprogramowania we współczesnych obiektowych językach programowania, takich jak C++, Java, C#. Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. Obsługa środowiska programistycznego typu RAD. Tworzenie projektów za pomocą generatorów. Komponenty wizualne i niewizualne. Właściwości komponentów. Budowanie interfejsu użytkownika. Dostęp do baz danych. Programowanie sieciowe i wielowątkowe. Tworzenie własnych komponentów. Literatura: [1]. K. Reisdorph, C++ Builder 3 (wersja polska i angielska); [2]. J. Hollingworth, B. Swart, et al. - C++Builder 6. Vademecum profesjonalisty (wersja angielska: C++Builder 6. Developer's Guide); [3]. J. Templeman, D. Vitter - Visual Studio .NET: .NET Framework. Czarna księga (wersja angielska:Visual Studio .NET: .NET Framework. Black book); [4]. B. Stroustup, Język C++ (wersja angielska: The C++ Programming Language); Koordynator: Prof. dr hab. Stanisław Goldstein Data aktualizacji: 2009-01-21 Zui_s2 Course name: Course contents: 1. 2. 3. 4. 5. 6. 7. Generators of Applications RAD programming environment maintenance. Generator-based project creation. Visual and non-visual components. Component properties. Building of user interface. Database accessing. Network and multi-threading programming. Building of custom components. 95 Nazwa przedmiotu: 3.11 GRAFIKA KOMPUTEROWA Kod: 1100-GK0ZLI Forma przedmiotu: 18 godz. wykładu + 18 godz. laboratorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład - egzamin pisemny, laboratorium – programy komputerowe Cele przedmiotu: Celem przedmiotu jest przedstawienie teoretycznych podstaw grafiki komputerowej, implementacja algorytmów tworzenia grafiki, wykorzystanie bibliotek graficznych, tworzenie interaktywnych aplikacji graficznych. Umiejętności wstępne: 1100-PR0ZLI,1100-ALGZLI Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Algorytmy rastrowe rysowania prymitywów graficznych. Macierze przekształceń. Rzutowanie. Eliminacja powierzchni niewidocznych. Oświetlenie i cieniowanie. Ray tracing. Tekstury. Modele barw. Struktury danych w grafice. Modelowanie krzywych i powierzchni. Literatura: [1]. Floey J.D., Van Dam A., Feiner S.K., Hughes J.F., Phillips R.L. - Wprowadzenie do grafiki komputerowej, [2]. Shirley P. - Fundamentals of Computer Graphics, [3]. Jankowski M. - Elementy grafiki komputerowej, [4]. Neider J., Davis T., Woo M. - OpenGL. Programming Guide, [5]. Hawkins K., Astle D. - OpenGL – programowanie gier. Koordynator: Prof. dr hab. Walczak Paweł Data aktualizacji: 2009-01-29 Zli_s2 Course name: Course contents: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Computer graphics Raster algorithms, Tansformation matrices, Projection, Hidden surfaces elimination, Light and shading, Ray tracing, Texture mapping, Color models, Data structures for graphics, Curve and surface modeling. 96 Nazwa przedmiotu: 3.12 HISTORIA INFORMATYKI Kod: 1100-HI0ZLI Forma przedmiotu: 18 godzin wykładu Ilość punktów ECTS: 2 Język wykładowy: polski Sposób zaliczenia: zaliczenie na podstawie testu i krótkiej pracy pisemnej Cele przedmiotu: Zaznajomienie studenta z historią powstawania pierwszych maszyn liczących, idei matematycznych i wynalazków technicznych wykorzystywanych w informatyce oraz historii rozwoju podstawowych gałęzi informatyki. Umiejętności wstępne: Treści przedmiotu: 1. Pierwsze maszyny arytmetyczne 2. Wynalazki i idee XIX wieku 3. Maszyny liczące ery przekaźników 4. Epoka lamp elektronowych, komputery pierwszych generacji 5. Historia przetwarzania danych, języków programowania, programów użytkowych 6. Sztuczna inteligencja, gry komputerowe, komputery osobiste, sieci i ch wpływ na życie współczesne. Literatura: [1]. Ligonniere R. – Prehistoria i historia komputerów [2]. Fulmański P., Sobieski Ś. - Wstęp do informatyki – podręcznik [3]. O‟Regan G. – A Brief History of Computing [4]. zasoby Internetu Koordynator: Prof. dr hab. Władysław Wilczyński Data aktualizacji: 20.01.2009 Zli_s6 Course name: HISTORY OF COMPUTER SCIENCE Course contents: 1. First calculators 2. The XIX century - ideas and inventions 3. Mechanical and transmitter machines 4. Computers of first generation, von Neumann architecture 5. History of data bases, computer progamming languages and software engineering. 6. Artificial Intelligence, personal computers, networks and the Internet revolution 97 3.13 JĘZYKI I PARADYGMATY PROGRAMOWANIA Nazwa przedmiotu: Kod: 1100-JPPZLI Forma przedmiotu: 18 godzin wykładu + 18 godzin laboratorium informatycznego Ilość punktów ECTS: 5 Język wykładowy: polski Sposób zaliczenia: zaliczenie wykładu – test, ćwiczenia – sprawdzian przy komputerze Cele przedmiotu: nauczyć studentów oceniać przydatność różnych paradygmatów programowania i związanych z nimi środowisk programistycznych do rozwiązywania różnego typu problemów oraz projektować, implementować i testować programy obiektowe. Umiejętności wstępne: 1100-MNPZLI Treści przedmiotu: 1. Programowanie obiektowe: dziedziczenie, polimorfizm i metody wirtualne. 2. Inne paradygmaty programowania: programowanie imperatywne, programowanie proceduralne i programowanie uogólnione. Literatura: [1]. B. Eckel, Thinking in C++. Edycja polska. [2]. R. B. Murray, C++ Strategie i taktyki. [3]. S. B. Lippman, Model obiektu w C++. [4]. S. B. Lippman, J. Lajoie, Podstawy języka C++. [5]. N. M. Josuttis, C++ Biblioteka standardowa. Koordynator: Prof. dr hab. Stanisław Walczak Data aktualizacji: 19 lutego 2009 r. Zli_s4 Course name: PROGRAMMING LANGUAGES AND PARADIGMS Course contents: 1. Object-oriented programming: inheritance, polymorphism, and virtual methods. 2. Other programming paradigms: imperative programming, procedural programming, and generic programming 98 3.14 JĘZYKI OPISU DOKUMENTÓW Nazwa przedmiotu: Kod: 1100-JODZLI Forma przedmiotu: 18 godzin wykładu + 18 godzin laboratorium informatycznego Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin pisemny, laboratorium informatyczne - zaliczenie Cele przedmiotu: Celem przedmiotu jest zapoznanie studentów z podstawami języka XML przeznaczonego do reprezentowania danych w ustrukturalizowany sposób i umożliwiającego łatwą wymianę dokumentów pomiędzy różnymi systemami. Studenci zapoznają się również z podstawami systemu La TeX. Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Wstęp historyczny - historia pisma, rozwój technik przesyłania informacji na odległość. Struktura dokumentu XML, podstawowe zasady składni języka XML. Opis struktury dokumentu za pomocą DTD. Schematy XML Schema. Przestrzenie nazw. XPath – nawigacja i wyszukiwanie w dokumencie XML. Prezentacja danych za pomocą XSL-FO. Transformacja dokumentów XML za pomocą XSLT. Zastosowania języka XML (serwisy WWW, elektroniczna wymiana danych, bazy danych). Język SVG. Zastosowanie języka XML do przechowywania i prezentowania danych specjalistycznych. Podstawowe informacje o składaniu dokumentu przy użyciu systemu La TeX. Literatura: [1]. Kazienko P., Gwiazda K. – XML na poważnie; [2]. Ray E.T. – XML. Wprowadzenie; [3]. Marchal B. –XML by example; [4]. North S. - XML dla każdego; [5]. Liberty J., Kraley M. – XML od podstaw; [6]. Lamport L., System opracowania dokumentów LaTeX – podręcznik i przewodnik użytkownika; [7]. Gołdasz J., Kubiak R., Przechlewski T., Nie za krótkie wprowadzenie do systemu LaTeX2e (on-line:ftp.gust.org.pl/pub/CTAN/info/lshort/polish/lshort2e.pdf). Koordynator: Prof. dr hab. Ryszard Pawlak Data aktualizacji: 30.01.2009 ZLI_s6 Course name: Course contents: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Documents Description Languages Historical introduction – the history of writing, development of transmission of information. Structure of XML document, basic XML syntax. Description of document structure by using DTD. XML Schema. Namespaces. XPath – navigation and finding information in XML document. Data presentation by using XSL-FO. Transformation of XML document into other formats. XML applications (WWW services, electronic data interchange, data bases). SVG language. XML applications for storing and presenting specific data. Basic information about typesetting by using La TeX system. 99 3.15 KONSTRUKCJA KOMPILATORÓW Nazwa przedmiotu: Kod: 1100-KK0ZUI Forma przedmiotu: 18 godzin wykładu + 18 godzin konwersatorium Ilość punktów ECTS: 7 Język wykładowy: Polski Sposób zaliczenia: wykład – egzamin ustny; pracownia – zaliczenie Umiejętności wstępne: Cele przedmiotu: Celem przedmiotu jest zaznajomienie studenta z procesem kompilacji. Przedstawione są etapy kompilacji wraz z ich szczegółowym opisem. Omówione są narzędzia do tworzenia analizatorów składniowych jak i leksykalnych, a także sposoby implementacji automatów skończonych.. Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. Literatura: Etapy kompilacji Analiza leksykalna, składniowa Analiza metodą wstępującą, zstępującą Generatory LEX, LLGEN i YACC Tworzenie analizatorów leksykalnych za pomocą generatora LEX Tworzenie analizatorów składniowych za pomocą generatora LLGEN i YACC Współpraca LLGEN-a z LEX-em. [1] Krasiński T. - Automaty i języki formalne; [2] A. V. Aho, R. Sethi, J.D. Ullman. - Kompilatory reguły, metody i narzędzia; [3] W. M. Waite, G. Goos. - Konstrukcja kompilatorów; [4] http://www.gnu.org/software/bison/manual [5] http://tack.sourceforgen.net/doc/LLgen.html [6] www.wazniak.mimuw.edu.pl Koordynator: Prof. dr hab. Kazimierz Włodarczyk Data aktualizacji: 2009-01-22 Zui_s2 Course name: Course contents: 1. 2. 3. 4. 5. 6. 7. Compiler Construction Phase of compilation Syntax analysis and lexical analysis Bottom-up parsing (shift-reduce parsing) and top-down parsing Gerators LEX, LLGEN and YACC Creating lexical analyzers – generator LEX Creating syntax analyzers – generators LLGEN and YACC Cooperation LLGEN with LEX. 100 3.16 LOGIKA I TEORIA MNOGOŚCI Nazwa przedmiotu: Kod: 1100- LS0ZLI Forma przedmiotu: 30 godzin wykładu + 30 godzin konwersatorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: Wykład – egzamin pisemny, konwersatorium – zaliczenie (kolokwia) Cele przedmiotu: Stosowanie rachunku zdań do dowodzenia własności zbiorów. Umiejętność dowodzenia twierdzeń. Sprawdzanie własności relacji i opis klas abstrakcji. Sprawdzanie własności funkcji i znajdowanie funkcji odwrotnej oraz funkcji złożonej. Wykazanie równoliczności różnych zbiorów. Umiejętności wstępne: Wiadomości ze szkoły średniej (matura rozszerzona) Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. 8. 9. Rachunek zdań. Metody dowodzenia twierdzeń. Zbiory – działania na zbiorach; iloczyn kartezjański. Kwantyfikatory. Sumy i iloczyny uogólnione. Relacje: własności relacji; relacja równoważności, klasa abstrakcji. Funkcja jako relacja; bijekcja; funkcja odwrotna; złożenie funkcji; obraz i przeciwobraz Równoliczność zbiorów; zbiory przeliczalne; przykład zbioru nieprzeliczalnego. Relacja częściowego porządku; porządek liniowy. Literatura: [1] H. Rasiowa, Wstęp do matematyki współczesnej [2] J. Cichoń, Wykład ze wstępu do matematyki [3] A.K. Ross, Matematyka dyskretna Koordynator: Prof. dr hab. Adam Paszkiewicz Data aktualizacji: 30.01.2009 Zli_s1 Course name: LOGIC AND SET THEORY Course contents: 1. 2. 3. 4. 5. 6. 7. 8. 9. Statement calculus Proof methods Sets, set operations, cartesian product Quantifiers Union and intersection of the family of sets Relations: properties, equivalence relation, equivalence class Function as a relation, one to one functions, inverse function, composition of functions, image and preimage of a set Equinumerosity of sets, countable sets, an example of uncountable set Partial order relations, linear order 101 Nazwa przedmiotu: 3.17 MATEMATYKA DYSKRETNA Kod: 1100-MD0ZLI Forma przedmiotu: 18 godzin wykładu + 18 godzin konwersatorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: Wykład – egzamin pisemny; konwersatorium – zaliczenie Cele przedmiotu: Celem przedmiotu jest zaznajomienie studenta z podstawowymi elementami matematyki dyskretnej wraz z ich zastosowaniami. Umiejętności wstępne: Logika i teoria mnogości (LS0ZLI) Treści przedmiotu: 1. Indukcja matematyczna 2. Asymptotyka funkcji i ciągów 3. Rekurencja: przedstawianie ciągów w postaci rekurencyjnej, szukanie postaci 4. 5. 6. 7. jawnej ciągów Funkcje tworzące ciągów Podstawy teorii grafów: funkcja gamma, drogi i cykle, macierze grafów, grafy relacji, stopnie wierzchołków Podstawowe techniki zliczania, kombinatoryka: wyprowadzenie podstawowych wzorów kombinatorycznych i ich zastosowanie w zadaniach Równania różnicowe Literatura: [1] K.A. Ross, C.H. Wright „Matematyka dyskeretna”, PWN, Warszawa, 2000. [2] H. Rasiowa „Wstęp do matematyki współczesnej”, PWN, Warszawa, 1998. [3] R. Johnsonbaugh „Discrete Mathematics”, Prentice Hall, Upper Saddle River, New Jersey, 1997. [4] J.A. Anderson „Discrete Mathematics with Combinatorics”, Prentice Hall, Upper Saddle River, New Jersey, 2004. Koordynator: Prof. dr hab. Adam Paszkiewicz Data aktualizacji: 30.01.2009 Zli_s3 Course name: DISCRETE MATHEMATICS Course contents: 1. Mathematical induction 2. Asymptotics of functions and sequences 3. Recursive form of a sequence 4. Generating functions 5. Foundations of graph theory: gamma function, paths and cycles, graph matrices, graphs of relations, degree of a vertex 6. Combinatorics: basic formulas and their application 7. Recurrence relations 102 Nazwa przedmiotu: 3.18 MATEMATYKA FINANSOWA I BANKOWA Kod: 1100-FB0ZUI Forma przedmiotu: 18 godzin wykładu + 36 godzin konwersatorium Ilość punktów ECTS: 10 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin pisemny, konwersatorium - kolokwium Cele przedmiotu: Celem przedmiotu jest przedstawienie podstawowych zagadnień dotyczących operacji finansowych i bankowych. Umiejętności wstępne: brak Treści przedmiotu: 1. 2. 3. 4. 5. 6. Literatura: Kapitalizacja prosta, złożona i ciągła. Różne rodzaje stóp procentowych i ich zastosowania. Inflacja. Dyskonto matematyczne i handlowe. Wkłady oszczędnościowe. Różne schematy spłaty długu. [1] Podgórska M., Klimkowska J. – Matematyka finansowa; [2] Smaga E. – Arytmetyka Finansowa; [3] Sobczyk M. – Matematyka finansowa, podstawy teoretyczne, przykłady, zadania. Koordynator: Prof. dr hab. Kazimierz Włodarczyk Data aktualizacji: 30.01.2009 Zui_s2 Course name: Course contents: 1. 2. 3. 4. 5. 6. Banking and Financial Mathematics Simple and compounded interest, continuous compounding. Different types of interest rates and their applications. Inflation. Mathematical and commercial discount. Regular savings. Debt repayments schemes. 103 3.19 METODY I NARZĘDZIA PROGRAMOWANIA Nazwa przedmiotu: Kod: 1100-MNPZLI Forma przedmiotu: 18 godzin wykładu + 18 godzin laboratorium informatycznego Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin pisemny, ćwiczenia – sprawdzian przy komputerze Cele przedmiotu: nauczyć studentów czytać ze zrozumieniem programy obiektowe zapisane w języku programowania C++, projektować, implementować i testować proste klasy, wykorzystywać zaawansowane techniki w projektowaniu klas, debugować programy obiektowe. Umiejętności wstępne: 1100-PR0ZLI Treści przedmiotu: 1. Projektowanie, implementacja i testowanie klas. Literatura: 2. 3. 4. 5. 6. 7. Kopiowanie obiektów. Przeciążanie operatorów. Konwersje typów. Programy wielomodułowe. Wzorce projektowe w zastosowaniach. Metody i narzędzia wspomagające budowę oprogramowania.. [1] [2] [3] [4] [5] B. Eckel - Thinking in C++. Edycja polska. S. B. Lippman, J. Lajoie, Podstawy języka C++. S. B. Lippman, Model obiektu w C++. E. Yourdon, C. Gila, Analiza obiektowa i projektowanie. R. B. Murray, Strategie i taktyki Koordynator: Prof. dr hab. Stanisław Walczak Data aktualizacji: 19 lutego 2009 r. ZLI_s3 Course name: Programming Methods and Tools Course contents: 1. Designing, implementing and testing classes. 2. Copy control. 3. Operators overloading. 4. Type conversion. 5. Multifile programs. 6. Design patterns and their applications. 7. Methods and tools supporting the programs‟ design. 104 Nazwa przedmiotu: 3.20 METODY NUMERYCZNE Kod: 1100-MN0ZLI Forma przedmiotu: 18 godzin wykładu + 18 godzin laboratorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin pisemny; laboratorium – projekty zaliczeniowe Umiejętności wstępne: AM1ZLI, ALGZLI, PR0ZLI Cele przedmiotu: Metody numeryczne zajmują się konstruowaniem i badaniem algorytmów przybliżonego rozwiązywania różnych problemów obliczeniowych. Celem wykładu jest przedstawienie podstawowych pojęć i metod analizy numerycznej. Na ćwiczeniach prezentowane będą przykłady praktycznego stosowania poznanych metod oraz badane ich charakterystyki (na podstawie napisanych przez studentów programów oraz przy wykorzystaniu znanych środowisk obliczeniowych). Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. Literatura: [1] [2] [3] [4] [5] Podstawowe pojęcia analizy numerycznej. Elementy teorii błędów. Przybliżanie funkcji - interpolacja wielomianowa i interpolacja splajnami. Różniczkowanie numeryczne. Całkowanie numeryczne - kwadratury interpolacyjne. Metody iteracyjne rozwiązywania równań nieliniowych Metody bezpośrednie i iteracyjne rozwiązywania układów równań liniowych. Wybrane algorytmy rozwiązywania innych zagadnień obliczeniowych Björck Å., Dahlquist G. - Metody numeryczne; Fortuna Z., Macukow B., Wąsowski J. - Metody numeryczne; Kincaid D., Cheney W. - Analiza numeryczna; Demidowicz B.P., Maron L.A. - Metody numeryczne, część I; Stożek E. - Metody numeryczne w zadaniach. Koordynator: Prof. dr hab. Marcin Studniarski Data aktualizacji: 2008-12-12 ZLI_S5 Course name: Course contents: 1. 2. 3. 4. 5. 6. 7. NUMERICAL METHODS Fundamental notions of numerical analysis. Elements of the error theory Approximation of functions – polynomial interpolation and spline interpolation. Numerical differentiation. Numerical integration – interpolation quadratures. Iteration methods for solving nonlinear equations Direct and iterative methods for solving linear systems. Selected algorithms of solving other computational problems. 105 Nazwa przedmiotu: 3.21 METODY PROBABILISTYKI I STATYSTYKI Kod: 1100-MPSZLI Forma przedmiotu: 18 godzin wykładu + 18 godzin konwersatorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: Wykład – egzamin pisemny, konwersatorium – zaliczenie (kolokwium) Cele przedmiotu: Stosowanie kombinatoryki w zadaniach, konstruowanie przestrzeni probabilistycznej, umiejętność wykorzystania: własności prawdopodobieństwa, wzoru na prawdopodobieństwo geometryczne, wzoru na prawdopodobieństwo całkowite i wzoru Bayesa oraz elementów statystyki opisowej. Umiejętności wstępne: Wiadomości ze szkoły średniej (matura rozszerzona). Treści przedmiotu: 1. Przeliczalna i skończona przestrzeń zdarzeń losowych. 2. Własności prawdopodobieństwa. 3. Prawdopodobieństwo geometryczne: 4. Badanie niezależności zdarzeń losowych. 5. Prawdopodobieństwo warunkowe. 6. Wzór na prawdopodobieństwo całkowite i Bayesa. 7. Statystyka opisowa. 8. Podstawy statystyki: estymacja. Literatura: [1] J. Jakubowski, R. Sztencel, Rachunek prawdopodobieństwa [2] S. Zubrzycki, Wykłady z rachunku prawdopodobieństwa i statystyki [3] A.A. Borowkow, Rachunek prawdopodobieństwa Koordynator: Prof. dr hab. Adam Paszkiewicz Data aktualizacji: 11.02.2009 Zli_s4 Course name: Methods of probability and statistics Course contents: 106 3.22 NARZĘDZIA CRM Nazwa przedmiotu: Kod: 1100-CRMZUI Forma przedmiotu: 18 godzin wykładu + 18 godzin ćwiczeń Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: Wykład – egzamin pisemny, Laboratorium informatyczne - projekty Cele przedmiotu: Celem przedmiotu jest omówienie głównych funkcji oraz organizacji systemów zarządzania relacjami z klientem, tzw. CRM (ang. Customer Relationship Management). Przedstawiane są ogólne mechanizmy działania, wdrożenia oraz utrzymania narzędzi CRM. Umiejętności wstępne: 1100-PK0OII Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. Literatura: [1] [2] [3] [4] Budowa i działanie systemów CRM Idee wdrożeniowe systemów CRM: wiedza potrzebna do ich wdrożenia a. Przygotowanie wdrożenia b. Wdrożenie c. Procesy powdrożeniowe Wady i zalety systemów CRM Cechy charakterystyczne dobrych systemów CRM Część praktyczna: stworzenie systemu zarządzania relacjami z klientem na bazie istniejącego systemu webowego opartego o narzędzia CMS Przedstawienie procesów jakie zachodzą podczas wdrażania niezależnego systemu CRM jak i podczas łączenia istniejących systemów informatycznych z współpracującym z nim systemem CRM Omówienie, zastosowanie, użycie i połączenie narzędzi CRM: a. Moduły i komponenty CMS Joomla b. CiviCRM c. SugarCRM Jill Dyche “CRM. Relacje z klientem” Agnieszka Dejnaka „CRM. Zarządzanie kontaktami z klientami” Agata Stachowich-Stanush „CRM – Przewodnik dla wdrażającego” Materiały własne dla studentów Koordynator: Prof. dr hab. Wilczyński Władysław Data aktualizacji: 25-02-2009 Zui_t_s4 Course name: CRM Tools Course contents: 1. 2. 3. 4. The construction and operations of CRM system The idea of CRM system implementation Pros and cons of CRM‟s Practical: to create a system for managing customer relationships on the basis of the existing web system based on CMS Application and use of CRM‟s and combination of: a. The modules and components Joomla CMS b. CiviCRM 5. c. SugarCRM 107 Nazwa przedmiotu: 3.23 PODSTAWY BAZ DANYCH Kod: Forma przedmiotu: Ilość punktów ECTS: Język wykładowy: Sposób zaliczenia: Cele przedmiotu: 1100-PBDZLI 18 godzin wykładu + 18 godzin laboratorium 6 Polski wykład – egzamin pisemny (test wyboru); laboratorium informatyczne – zaliczenie Celem wykładu jest zaznajomienie studenta z teoretycznymi baz danych. W ramach przedmiotu zostaną omówione podstawowe pojęcia teorii baz danych. Większa część wykładu zostanie poświęcona relacyjnemu modelowi baz danych i jego podstawowym pojęciom oraz pewnym procesom związanym z implementacją relacyjnych baz danych, jak choćby teoretycznym regułom ulepszania relacji, tj. normalizacji schematów. W ramach laboratorium student zapozna się z procesem projektowania relacyjnych baz danych. Student zostanie zaznajomiony z modelowaniem związków encji, typami relacji istniejących w modelowanej rzeczywistości i sposobami ich modelowania w relacyjnej bazie danych, sposobami wyboru kluczy głównych, typów połączeń, itp. Druga część laboratorium jest poświęcona nabyciu przez studentów praktycznej znajomości implementacji tabel i tworzenia rozmaitych rodzajów kwerend w programie Microsoft Access. Umiejętności wstępne: PR0ZLI Treści przedmiotu: 1. Teoretyczne podstawy baz danych: rozmaite definicje bazy danych, pojęcie informacji i danych, podstawowe cechy baz danych, system informacyjny, system zarządzania bazą danych. 2. Proces modelowania świata rzeczywistego. 3. Model i schemat baz danych - typy modeli: hierarchiczny, sieciowy, relacyjny, obiektowy, dedukcyjny. 4. Relacyjna baza danych: definicja i budowa relacji, pojęcie klucza, rodzaje kluczy. 5. Normalizacja bazy danych. 6. Operatory relacyjne. 7. Projektowanie schematów relacyjnych baz danych. 8. Implementacja tabel i kwerend w programie Microsoft Access. Literatura: [1]. T.Connolly, C.Begg, Systemy baz danych - projektowanie, wdrażanie i zarządzanie w praktyce, tom 1, RM 2004. [2]. T.Connolly, C.Begg, Systemy baz danych. Praktyczne metody projektowania, implementacji i zarządzania, tom 2, RM 2004. [3]. L.Banachowski, E.Mrówka-Matejewska, K.Stencel, Systemy baz danych. Wykłady i ćwiczenia, Wydawnictwo PJWSTK, 2004. [4]. P.Beynon-Davies, Systemy baz danych - nowe wydanie zmienione i rozszerzone, WNT 2007. [5]. C.J.Date, Relacyjne bazy danych dla praktyków, Helion, Gliwice 2005. [6]. C. Delobel, M. Adiba, Relacyjne bazy danych; WNT, Warszawa 1989. [7]. Elmasri R., Navathe S.B., Wprowadzenie do baz danych, Helion 2005. [8]. H.Garcia-Molina, D.J.Ullman, J.Widom, Implementacja systemów baz danych, WNT, 2003. [9]. H.Garcia-Molina, D.J.Ullman, J.Widom, Podstawowy wykład z systemów baz danych, WNT, W-wa 2007. [10]. H.Garcia-Molina, D.J.Ullman, J.Widom, Systemy baz danych. Pełny wykład, WNT, Warszawa 2007 [11]. Cassel P., Eddy C., Price J., Access 2002/XP PL dla każdego, Helion 2003. [12]. J.Ralston, Access 2002. Projektowanie baz danych. Księga eksperta, Helion 2003. [13]. C.N.Prague, M.R.Irvin, J.Reardon, Access 2003 PL.Biblia, Helion 2004. [14]. M.Groszek, ABC Access 2007 PL, Helion 2008. [15]. Riordan R.M., Projektowanie systemów relacyjnych baz danych, Wydawnictwo RM, Warszawa 2000. [16]. G.Szkatuła, A.Pogorzelec, Tworzenie relacyjnych baz danych z zastosowaniem MS Access, WSISiZ Koordynator: Prof. dr hab. Marcin Studniarski Data aktualizacji: 2009/01/31 Zli_s3 Course name: Foundations of Databases Course contents: 1. Theoretical fundamentals of databases: various definitions of database, notion of information and data, fundamental features of databases, information system, database management system. 2. Modeling process of real world. 3. Data model and schema of databases: structure of model, types of models: hierarchical, network, relational, object, deductive. 4. Relational database: definition and structure of relation, definition of a key and types of keys, decomposition rule. 5. 6. 7. 8. Databases normalization. Relational operators. Projects of schemas of relational databases. Implementation of tables and queries in Microsoft Access. 108 Nazwa przedmiotu: 3.24 PODSTAWY PROGRAMOWANIA Kod: 1100-PR0ZLI Forma przedmiotu: 18 godzin wykładu + 18 godzin laboratorium informatycznego Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – zal pisemne, ćwiczenia – sprawdzian przy komputerze Cele przedmiotu: nauczyć studentów czytać ze zrozumieniem programy imperatywne zapisane w języku programowania C++, wykonywać proste programy celem ich weryfikacji, pisać i uruchamiać proste programy o rozmiarze około 100 wierszy kodu. Umiejętności wstępne: 1100-SP0ZLI Treści przedmiotu: 1. Podstawowe konstrukcje programistyczne. 2. 3. 4. 5. 6. Literatura: Podstawowe struktury danych i wykonywane na nich operacje. Metody weryfikacji poprawności programów. Pojęcie algorytmu. Implementacje klasycznych algorytmów. Dynamiczny przydział pamięci. Rekurencja i jej implementacja. [1] Stanley B. Lippman, Josee Lajoie, Podstawy języka C++. [2] Bruce Eckel, Thinking in C++. Edycja polska. [3] Bjarne Stroustrup, Język C++. [4] Jerzy Grębosz, Symfonia C++. [5] Larry Ullman, Andreas Signer, Programowanie w języku C++. Szybki start. Koordynator: Prof. dr hab. Stanisław Walczak Data aktualizacji: 19 lutego 2009 r Zli_s2 Course name: Foundations of Programming Course contents: 1. Basic programming constructs. 2. 3. 4. 5. 6. Main data structures and associated operations. Methods of program verification. The concept of an algorithm. Implementation of some classical algorithms. Dynamic memory allocation. Recursion and its implementation. 109 3.25 PORTALE INTERNETOWE Nazwa przedmiotu: Kod: 1100-PINZLI Forma przedmiotu: 18 godzin wykładu + 18 godzin pracowni komputerowej Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin pisemny; pracownia komputerowa – projekt zaliczeniowy Cele przedmiotu: Zajęcia mają za zadanie zapoznać studentów z rodzajami portali internetowych, ich budową, architekturą informacji i najważniejszymi aspektami ich tworzenia. Ponadto, celem jest również zaznajomienie studentów ze zintegrowanym środowiskiem programistycznym Visual Studio i technologią ASP.NET. Umiejętności wstępne: PR0ZLI Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Literatura: Definicja portalu internetowego. Klasyfikacja portali internetowych. Architektura informacji. Integralność danych i bezpieczeństwo. .NET Framework i ASP.NET. Kontrolki serwera WWW. Obsługa wyjątków i kontrolki sprawdzania poprawności. Operacje na danych. Zarządzanie stanem w środowisku ASP.NET. Personalizacja. [1] http://www.w3.org/ - opisy standardów XHTML, CSS, SVG i DOM. [2] R. Connolly, ASP.NET 2.0. Projektowanie aplikacji internetowych (Core Internet Application Development with ASP.NET 2.0). [3] T. Rizzo, A. Machanic, R. Dewson and Associates, SQL Server 2005. [4] J. Liberty, B. MacDonald, C# 2005. Wprowadzenie. [5] K. Piądłowski, Portale internetowe. Koordynator: Prof. dr hab. Stanisław Walczak Data aktualizacji: 30.01.2009 Zli_b,t_s6 Course name: Course contents: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Internet Portals Definition of the Web portal. Types of portals. Information architecture. Data integrity and security. .NET Framework i ASP.NET. Web server controls. Exception handling and validation controls. Data Binding. State Management in ASP.NET. Personalization 110 Nazwa przedmiotu: 3.26 PROCESORY TEKSTU Kod: 1100-PRTZUI Forma przedmiotu: 18 godzin laboratorium informatycznego Ilość punktów ECTS: 4 Język wykładowy: polski Sposób zaliczenia: kolokwium zaliczeniowe Cele przedmiotu: Na zajęciach studenci poznają system składu dokumentów LaTeX. Omówione zostaną zasady składanie dokumentów (matematycznych i informatycznych), struktura różnych dokumentów, sposoby składania wzorów matematycznych, wstawianie do tekstu kodów programów w wybranych językach programowania oraz sposoby definiowania własnych komend i środowisk. Omówione zostaną także pakiety związane z tworzeniem prezentacji. Umiejętności wstępne: brak Treści przedmiotu: 1. Podstawowe informacje dotyczących historii TeX-a i LaTeX-a; 2. Omówienie wybranego edytora ułatwiającego pisanie z wykorzystaniem LaTeX-a (np. WinShell, LED, WinEdt); 3. Struktura dokumentu i sposobów kompilacji; 4. Formatowania dokumentu między innymi struktury dokumentu (podział na strony, akapity, rozdziały), formatowanie tekstu; 5. Omówienie wybranych środowisk LaTeX-a np. środowisk służących do tworzenia list wypunktowanych i numerowanych, wstawiania cytatów, wyrównań tekstu, twierdzeń, wzorów matematycznych także wielolinijkowych; 6. Pakiety color, graphicx, hyperref, listings, xy oraz środowiska z nimi związane. 7. Definiowanie własnych poleceń; 8. Tworzenie tabel w LaTeX-u 9. Omówienie wybranego pakietu służącego do tworzenia prezentacji Literatura: [1]. Diller A., LaTeX wiersz po wierszu, [2]. Flynn P., Formatting information (A beginner's introduction to typesetting with LaTeX) (online: ftp.gust.org.pl/pub/CTAN/info/beginlatex/beginlatex-3.6.pdf), [3]. Gołdasz J., Kubiak R., Przechlewski T., Nie za krótkie wprowadzenie do systemu LaTeX2e (on-line:ftp.gust.org.pl/pub/CTAN/info/lshort/polish/lshort2e.pdf), [4]. Greenberg H.J., A Simplified Introduction to LaTeX (on-line: ftp.gust.org.pl/pub/CTAN/info/simplified-latex/simplified-intro.ps), [5]. Lamport L., System opracowania dokumentów LaTeX – podręcznik i przewodnik użytkownika, [6]. Myszka W., Włączanie grafik do tekstów w LaTeX2e (on-line: www.immt.pwr.wroc.pl/~myszka/grafika/grafika.pdf), [7]. Sapijaszko G., Tworzenie dokumentów PDF przy pomocy LaTeX-a (on-line: www.sapijaszko.net/pedeefy.pdf) . oraz artykuły i dokumentacja zamieszczona na stronie www.gust.org.pl i w dystrybucji LaTeX-a. Koordynator: Prof. dr hab. Ryszard Pawlak Data aktualizacji: 2009-01-27 Zui_p,t_s3 Course name: TEXT PROCESSORS Course contents: 1. 2. 3. 4. 5. 6. 7. 8. 9. Basic information about history of TeX and LaTeX; Basic information about one of LaTeX‟s editors for example WinShell, LED, WinEdt; Structure of document and compilation process; Formatting commands for example commends connected with the body of document (repagination, paragraphs, sections) and text formatting; Basic information about some LaTeX‟s environments for example basic type of lists, quote environment, theorem, equation and alignment environments; Package: color, graphicx, hyperref, listings, xy; The ways of defining one‟s own environments; Table environment; Examples of LaTeX class designed to creating presentations. 111 Nazwa przedmiotu: 3.27 PROGRAMOWANIE APLIKACJI INTERNETOWYCH Kod: 1100-PAIZLI Forma przedmiotu: 30 godzin wykładu + 30 godzin pracowni komputerowej Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin pisemny; pracownia komputerowa – projekt zaliczeniowy Cele przedmiotu: Celem przedmiotu jest przedstawienie zagadnień związanych z tworzeniem dynamicznych aplikacji w systemie WWW. Do programowania logiki po stronie klienta będzie użyty język ECMAScript/JavaScript, natomiast po stronie serwera język PHP. Umiejętności wstępne: PR0ZLI Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. Literatura: Definicja aplikacji internetowej. Architektura aplikacji internetowej. Integralność danych i bezpieczeństwo. Skalowanie aplikacji internetowych. Standardy: XHTML, CSS, SVG, DOM. Języki programowania JavaScript/ECMAScript, PHP. System bazodanowy MySQL. [1] http://www.w3.org/ - opisy standardów XHTML, CSS, SVG i DOM. [2] C. Henderson, Skalowalne witryny internetowe. Budowa, skalowanie i optymalizacja aplikacji internetowych nowej generacji. [3] N. C. Zakas - JavaScript dla webmasterów. Zaawansowane programowanie. [4] J. Coggeshall - PHP5. Księga eksperta. [5] L. Welling, L. Thomson - PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty. [6] O. Campesato, Fundamentals of SVG Programming: Concepts to Source Code. Koordynator: Prof. dr hab. Stanisław Walczak Data aktualizacji: 30.01.2009 Zli_s6 Course name: Course contents: Programming of Internet Applications 1. 2. 3. 4. 5. 6. 7. Definition of web application. Web application archtecture. Data integrity and security. Scaling web applications. Web standards: XHTML, CSS, SVG, DOM. JavaScript/ECMAScript and PHP programming languages. MySQL database management system. 112 Nazwa przedmiotu: 3.28 PROGRAMOWANIE GRAFIKI Kod: 1100-PGRZLI Forma przedmiotu: 18 godzin wykładu + 18 godzin laboratorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin ustny; konwersatorium – zaliczenie Cele przedmiotu: Zaznajomienie z wykorzystaniem bibliotek graficznych do tworzenia interaktywnych aplikacji graficznych, tworzenie interfejsów graficznych, programowanie symulacji i gier. Umiejętności wstępne: Treści przedmiotu: 1. 2. 3. 4. Literatura: struktury danych w grafice komputerowej, biblioteki graficzne (OpenGL, DirectX), interfejsy graficzne (komunikacja człowiek-komputer), symulacje i gry komputerowe. [1] Foley J.D., Van Dam A., Feiner S.K., Hughes J.F., Philips R.L. – Wprowadzenie do grafiki komputerowej, [2] [3] [4] [5] Jankowski M. – Elementy grafiki komputerowej, Neider J., Davis T., Woo M. – OpenGL. Programming Guide, Hawkins K., Astle D. – OpenGL – programowanie gier, Matyka M. – Symulacje komputerowe w fizyce. Koordynator: Prof. dr hab. Paweł Walczak Data aktualizacji: 2009-01-29 Zli_t_s4 Course name: Course contents: 1. 2. 3. 4. Graphics programming Data structures in computer graphics, Graphics libraries (OpenGL, DirectX), Graphical user interface (man-computer communication), Simulations and computer games. 113 Nazwa przedmiotu: 3.29 PROGRAMOWANIE PODSTAWOWE Kod: 1100-PP0ZUI Forma przedmiotu: 18 godzin wykładu + 18 godzin laboratorium informatycznego Ilość punktów ECTS: 7 Język wykładowy: polski Sposób zaliczenia: Egzamin pisemny (wykład) / zaliczenie (laboratorium) Cele przedmiotu: Celem przedmiotu jest przedstawienie specyfiki programowania niskopoziomowego z uwzględnieniem zastosowań, w których jest wykorzystywane programowanie w językach wewnętrznych oraz zaprezentowanie metod i algorytmów specyficznych dla języków wewnętrznych i zależności między tymi metodami a architekturą systemu komputerowego. Laboratorium komputerowe służy praktycznej realizacji metod i algorytmów specyficznych dla języków wewnętrznych na przykładzie architektury procesorów x86 i języka asemblera MASM, oraz tworzeniu oprogramowania opartego o łączenie modułów tworzonych w języku wewnętrznym i językach wysokopoziomowych. Umiejętności wstępne: --Treści przedmiotu: 1. 2. 3. 4. Literatura: Specyfika programowania niskopoziomowego z uwzględnieniem zastosowań, w których jest wykorzystywane programowanie w językach wewnętrznych Metody i algorytmy specyficzne dla języków wewnętrznych i zależności między tymi metodami a architekturą systemu komputerowego Realizacja metod i algorytmów specyficznych dla języków wewnętrznych na przykładzie architektury procesorów x86 i języka asemblera MASM Zasady tworzenia oprogramowania opartego o łączenie modułów tworzonych w języku wewnętrznym i językach wysokopoziomowych [1] Carter P., PC Assembly Language (wersja elektroniczna: http://drpaulcarter.com) [2] Błaszczyk A., Win32ASM asembler w Windows [3] Hyde R., Asembler : sztuka programowania : kompletny przewodnik po języku asemblera Koordynator: Prof. dr hab. Stanisław Goldstein Data aktualizacji: 20.02.2009 Zui_06_s1 Course name: BASIC PROGRAMMING Course contents: 1. 2. 3. 4. Features of low-level programming and its applications – programming in machine languages Algorithms and methods specific to machine languages – dependencies between methods and computer architecture Realization of methods and algorithms specific to machine languages based on MASM assembler language and x86 processor architecture Programming based on merging of machine language and high-level languages 114 3.30 PROGRAMOWANIE USŁUG SIECIOWYCH Nazwa przedmiotu: Kod: 1100-PUSZUI Forma przedmiotu: 18 godz. wykład + 18 godz. laboratorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: Wykład – egzamin pisemny, laboratorium - zaliczenie Cele przedmiotu: Celem przedmiotu jest zapoznanie studentów z zasadami tworzenia aplikacji sieciowych ze szczególnym uwzględnieniem sieci TCP/IP. Umiejętności wstępne: Treści przedmiotu: 1. 2. 3. 4. 5. 6. Literatura: Mechanizmy komunikacji w sieci TCP/IP. Funkcje nawiązania i obsługi sesji TCP. Implementacja prostego klienta protokołu warstwy aplikacyjnej używającego na warstwie transportowej protokołu TCP. Implementacja przykładowego serwera używającego w warstwie transportowej protokołu TCP. Obsługa komunikacji z użyciem na warstwie transportowej protokołu UDP. Implementacja prostego klienta na przykładzie resolwera DNS. [1] Programowanie usług sieciowych Koordynator: Prof. dr hab. Stanisław Goldstein Data aktualizacji: 15.02.2008 Zui_p_s3 Course name: Programming of Network Services. Course contents: 1.Communication mechanisms in TCP/IP networks. 2. Functions tp establish a TCP session. 3. Implementation of a simple client application 4. Sample server implementation using the TCP. 5. Supports the use of transport layer protocol for UDP. 6. Implementation of a simple client for example DNS. 115 3.31 PROGRAMOWANIE W JĘZYKU WEWNĘTRZNYM Nazwa przedmiotu: Kod: 1100-JW0ZUI Forma przedmiotu: 18 godzin wykładu + 18 godzin laboratorium informatycznego Ilość punktów ECTS: 7 Język wykładowy: polski Sposób zaliczenia: Egzamin pisemny (wykład) / zaliczenie (laboratorium) Cele przedmiotu: Celem przedmiotu jest przedstawienie specyfiki programowania niskopoziomowego z uwzględnieniem zastosowań, w których jest wykorzystywane programowanie w językach wewnętrznych oraz zaprezentowanie metod i algorytmów specyficznych dla języków wewnętrznych i zależności między tymi metodami a architekturą systemu komputerowego. Laboratorium komputerowe służy praktycznej realizacji metod i algorytmów specyficznych dla języków wewnętrznych na przykładzie architektury procesorów x86 i języka asemblera MASM, oraz tworzeniu oprogramowania opartego o łączenie modułów tworzonych w języku wewnętrznym i językach wysokopoziomowych. Umiejętności wstępne: --Treści przedmiotu: 1. 2. 3. 4. Literatura: Specyfika programowania niskopoziomowego z uwzględnieniem zastosowań, w których jest wykorzystywane programowanie w językach wewnętrznych Metody i algorytmy specyficzne dla języków wewnętrznych i zależności między tymi metodami a architekturą systemu komputerowego Realizacja metod i algorytmów specyficznych dla języków wewnętrznych na przykładzie architektury procesorów x86 i języka asemblera MASM Zasady tworzenia oprogramowania opartego o łączenie modułów tworzonych w języku wewnętrznym i językach wysokopoziomowych [1] Carter P., PC Assembly Language (wersja elektroniczna: http://drpaulcarter.com) [2] Błaszczyk A., Win32ASM asembler w Windows [3] Hyde R., Asembler : sztuka programowania : kompletny przewodnik po języku asemblera Koordynator: Prof. dr hab. Stanisław Goldstein Data aktualizacji: 20.02.2009 Zui_s2 Course name: Machine Language Programming Course contents: 1. 2. 3. 4. Features of low-level programming and its applications – programming in machine languages Algorithms and methods specific to machine languages – dependencies between methods and computer architecture Realization of methods and algorithms specific to machine languages based on MASM assembler language and x86 processor architecture Programming based on merging of machine language and high-level languages 116 Nazwa przedmiotu: 3.32 PROGRAMOWANIE WIZUALNE Kod: 1100-PW0ZLI Forma przedmiotu: 18- wykład, 18 -laboratorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin testowy, laboratorium - projekt zaliczeniowy Cele przedmiotu: Celem przedmiotu jest zapoznanie studentów z metodami programowania wizualnego oraz narzędziami typu RAD (Rapid Application Development), takimi jak Borland Builder i Microsoft Visual Studio. Umiejętności wstępne: JPPZLI Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. 8. Literatura: [1] [2] [3] [4] [5] [6] Obsługa środowiska Visual Studio .NET, zarządzanie rozwiązaniami i projektami Wprowadzenie do technologii .NET i do programowania w C# Budowanie formularzy Windows, przegląd kontrolek z zakładki Toolbox – właściwości, metody i zdarzenia Typy interfejsów aplikacji w Windows Praca z bazami danych, tworzenie tabel i związków, praca z poleceniami SQL, wiązanie kontrolek z danymi Obsługa środowiska C++ Borland Builder, zarządzanie projektem Praca z bazami danych, komponenty z zakładki DataAccess i DataControls Wymiana danych w sieci poprzez komponenty z zakładki Internet: ServerSocket and ClientSocket J.Hollingworth C++ Builder 5 – Vademecum Profesjonalisty L.Powers, M.Snell, Microsoft Visual Studio 2005. Księga eksperta P.Chłosta Aplikacje Windows Forms .NET w C# Ch.Petzold Programing Microsoft Windows with C# J.Liberty Programing C# S.Malik Pro ADO.NET 2.0 Koordynator: Prof. dr hab. Stanisław Walczak Data aktualizacji: 2010-03-10 Zli_t_s4 Course name: VISUAL PROGRAMMING Course contents: 1. Overview of the Visual Studio .NET IDE, managing solutions and projects 2. Introduction to .NET and programming in C# 3. Building Windows forms, overview of Toolbox's controls – properties, method and events 4. Types of Windows application interfaces 5. Working with databases, creating tables and relationships, working with SQL statements, binding controls to data 6. Overview of the C++ Borland Builder IDE, managing a project 7. Working with databases, DataAccess and DataControls components 8. Exchanging Data over the Network using Internet components: ServerSocket and ClientSocket 117 3.33 PROJEKTOWANIE I IMPLEMENTACJA SYSTEMÓW BAZODANOWYCH Nazwa przedmiotu: Kod: 1100-IB0ZUI Forma przedmiotu: Laboratorium informatyczne (36 godzin) Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: projekt zaliczeniowy Cele przedmiotu: Celem przedmiotu jest zaprojektowanie, zaimplementowanie oraz przetestowanie wybranego systemu informatycznego. System musi wykorzystywać bazę danych. Należy wykonać wszystkie etapy obecne podczas projektowania systemu (analiza wymagań, konstruowanie modelu danych, implementacja). Umiejętności wstępne: Treści przedmiotu: 1. Język SQL – doskonalenie umiejętności konstruowania zapytań. 2. 3. 4. 5. 6. 7. Literatura: Analiza wymagań klienta. Projektowanie systemu informatycznego. Tworzenie diagramu związków encji (pojęcie encji, atrybutu, związku). Implementacja systemu bazodanowego. Testowanie sytemu. Bezpieczeństwo aplikacji. [1] Jeffrey D. Ullman, Jennifer Widom - „Podstawowy wykład z systemów baz danych.” [2] R. Barker „Case* MethodSM. Modelowanie związków encji” Koordynator: Prof. dr hab. Marcin Studniarski Data aktualizacji: 30.01.2009 Zui_s2 Course name: Design and Implementation of Database Systems Course contents: 1. SQL language – perfecting the abilities of constructing queries. 2. Client requirements analysis. 3. Designing information system. 4. Creating entity relationship diagram (notion of entity, attribute and relationship). 5. Implementing database system. 6. Testing. 7. Application security. 118 3.34 PROJEKTOWANIE I IMPLEMENTACJA SYSTEMÓW SIECIOWYCH Nazwa przedmiotu: Kod: 1100-IS0ZUI Forma przedmiotu: 36 godzin laboratorium informatycznego Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: Zaliczenie praktyczne Cele przedmiotu: Celem przedmiotu jest zapoznanie studentów z technikami administrowania siecią komputerową, serwerami usług sieciowych (na bazie systemu Linux) i oprogramowaniem klienckim. Umiejętności wstępne: TS0ZLI, SO0ZLI Treści przedmiotu: 1. Podstawowe technologie i topologie sieciowe. Projekt niewielkiej sieci 2. 3. 4. 5. 6. 7. 8. Literatura: z uwzględnieniem ograniczeń fizycznych zastosowanej technologii. Adresowanie IP, w tym adresowanie w podsieciach. Translacja adresów. Konfiguracja trasowania. Programy klienckie dla podstawowych usług sieciowych. Konfiguracja serwera nazw (serwer główny, serwer pomocniczy, serwer nazw dla domeny odwrotnej). Konfiguracja serwera DHCP, współpraca serwerów DHCP i DNS. Konfiguracja serwerów podstawowych usług ( www, ftp, poczta elektroniczna). Bezpieczeństwo serwerów. Lokalne usługi sieciowe - współdzielenie zasobów (NFS, Samba). Bezpieczeństwo sieci. Monitorowanie sieci. Konfiguracja zapory sieciowej. [1] Craig Hunt: TCP/IP. Administracja sieci [2] Ælen Frisch: UNIX. Administracja systemu [3] Materiały w wersji elektronicznej Koordynator: Prof. dr hab. Stanisław Goldstein Data aktualizacji: 20.02.2009 Course name: Design and Implementation of Network Systems Course contents: 1. Basic network technologies and topologies. Project of a small network, concerning physical limitations of the technology used. 2. IP addressing (including subnetting). Network address translation. IP routing 3. Clients of basic network services 4. Configuring a domain name server (primary and secondary server, server for a reverse domain) 5. Configuring a DHCP server, cooperation of DHCP and DNS. 6. Configuring servers of basic network services (www, ftp, electronic mail). Server‟s security. 7. Local network services – sharing resources (NFS, Samba). 8. Network security. Monitoring network traffic. Configuring a firewall. 119 3.35 PROJEKTOWANIE SYSTEMÓW BAZODANOWYCH Nazwa przedmiotu: Kod: 1100-PSBZLI Forma przedmiotu: 18 godz wykładu i 18 godz lab. komp. Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: egzamin Cele przedmiotu: Swoboda w projektowaniu dużych diagramów encji, jak również w poprawianiu typowych błędów w nich występujących, doskonalenie umiejętności projektowania i optymalizacji zapytań w języku SQL pod kątem wydajności. Umiejętności wstępne: Treści przedmiotu: 1. Sposoby efektywnego projektowania i normalizowania diagramów encji 2. Złożone zapytania języka SQL 3. Optymalizacja zapytań języka SQL. 4. Projektowanie i badanie diagramów ERD będące częścią hipotetycznych systemów informatycznych o dużej złożoności. 5. Omówienie różnych narzędzi wspomagających proces projektowania, testujących poprawność i wydajność. Literatura: [1] John C. Worsley, Joshua D. Drake, tłum.: Radosław Meryk "PostgreSQL. Praktyczny przewodnik", ISBN: 83-7197-754-9 [2] L. Banachowski, E. Mrówka-Matejewska, K. Stencel „Systemy baz danych. Wykłady i ćwiczenia.” Wydawnictwo PJWSTK, Warszawa 2004 [3] R. Barker „Case* Method. Modelowanie związków encji”, Wydawnictwa Naukowo-Techniczne, Warszawa 1996 [4] Ullman J.D., Widom J. - Podstawowy wykład z systemów baz danych; Koordynator: Prof. dr hab. Marcin Studniarski Data aktualizacji: 2009 II 25 Zli_b_s5 Course name: Design of Database Systems Course contents: 1. The ways of efficient ERD design and the normalization of databases 2. Complex SQL queries 3. Optimization of SQL queries 4. Design and examination of ERD diagrams of hyphotetical complex database systems 5. Overview of different software tools taking part in the design phase, testing the correctness and efficiency 120 3.36 PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH Nazwa przedmiotu: Kod: 1100-PSIZLI Forma przedmiotu: 18 godz wykładu i 18 godz lab komp. Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: egzamin Cele przedmiotu: Zapoznanie studenta z typowymi zagadnieniami projektowania systemów informatycznych z wielodostępem, przechowujących i przetwarzających duże ilości danych. Umiejętności wstępne: Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. 8. Literatura: Podstawy administrowania systemem zarządzania bazą danych PostgreSQL. Instalacja i uruchamianie SZBD PostgreSQL. Tworzenie przestrzeni tabel. Administracja użytkownikami (uprawnienia systemowe i obiektowe). Zarządzanie obiektami bazy danych. Tworzenie aplikacji / serwisu korzystających z SZBD, przy uwzględnieniu nowoczesnych technik inżynierii projektowej wraz z dokumentacją (typowe narzędzia wspomagające dokmentację). Uwzględnienie czynników dot. bezpieczeństwa, stabilności, zaawansowane testowanie, porównanie systemów kontroli wersji. Omówienie cykli projektowania i implementacji złożonych systemów informatycznych, zwłaszcza zespołowych, z naciskiem na te wykorzystujące bazy danych i implementujące dostęp równoległy / wieloużytkownikowy. Projektowanie i implementacja systemu własnego pomysłu. [1] John C. Worsley, Joshua D. Drake, tłum.: Radosław Meryk "PostgreSQL. Praktyczny przewodnik", ISBN: 83-7197-754-9 [2] Jaszkiewicz A. - Inżynieria oprogramowania; [3] R. Barker „Case* Method. Modelowanie związków encji”, Wydawnictwa NaukowoTechniczne, Warszawa 1996 Koordynator: Prof. dr hab. Marcin Studniarski Data aktualizacji: 2009 II 25 Zli_t_s5 Course name: Design of Computer Systems Course contents: 1. 2. 3. 4. 5. 6. 7. 8. The basics of administration of the PostgreSQL database system. Installation and maintenance of PostgreSQL database system. Creation of tablespaces. Administration of users. Administration of different database objects. The creation of application / service using a database system, using modern software engineering techniques, including the creation of documentation, maintaining security, stability, advanced testing, also the comparison of different version control systems. Overview of different design phases of hyphotetical complex computer system, especially the team-based software projects using database systems and giving multiuser access. The design and implementation of the system of the student's own idea. 121 3.37 PRZETWARZANIE OBRAZU I DŹWIĘKU Nazwa przedmiotu: Kod: 1100-PODZLI Forma przedmiotu: 18 godzin laboratorium Ilość punktów ECTS: 3 Język wykładowy: polski Sposób zaliczenia: Projekty zaliczeniowe Cele przedmiotu: Celem przedmiotu jest przedstawienie podstaw przetwarzania obrazu i dźwięku, implementacja algorytmów, tworzenie interaktywnych aplikacji. Umiejętności wstępne: 1100-GK0ZLI Treści przedmiotu: 1. Zasady tworzenia obrazu cyfrowego. 2. Formaty graficzne obrazów. 3. Przykładowe programy do obróbki obrazu. 4. Przekształcenia obrazu: geometryczne, punktowe. 5. Modelowanie histogramu. 6. Filtry: liniowe, nieliniowe. 7. Rejestracja i edycja dźwięku w komputerowych edytorach audio. 8. Formaty plików dźwiękowych. 9. Strumieniowe przesyłanie dźwięku. Literatura: [1] A. Czyżewski, "Dźwięk cyfrowy. Wybrane zagadnienia teoretyczne, technologia, zastosowania", Akademicka Oficyna Wydawnicza Exit, 2001 [2] R. Haines, „Cyfrowe przetwarzanie dźwięku”, MIKOM, 2002 [3] W. Malina, M. Smiatacz, "Metody cyfrowego przetwarzania obrazów", Akademicka Oficyna Wydawnicza Exit, 2005 [4] R. Tadeusiewicz, P. Korohoda, „Komputerowa analiza i przetwarzanie obrazów”, FPT, 1997 Koordynator: Profesor Paweł Walczak Data aktualizacji: 25.02.2009 Zli_t_s5 Course name: IMAGE AND AUDIO PROCESSING Course contents: 1. Digital image creation. 2. Graphics file formats. 3. Image editors. 4. Image transformations: geometrical, point transformations. 5. Histogram modeling. 6. Filters: linear, nonlinear. 7. Sound recording and edition - digital audio editors. 8. Audio file formats. 9. Streaming audio files. 122 Nazwa przedmiotu: 3.38 SERWERY APLIKACJI Kod: 1100-SAPZUI Forma przedmiotu: Wykład – 18 godzin, Laboratorium informatyczne - 18 godzin Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: Wykład – zal pisemne, Laboratorium informatyczne – projekty Cele przedmiotu: Celem przedmiotu jest zaznajomienie słuchaczy z programowaniem usług opartych o serwer aplikacji Microsoft. Słuchacze zdobywają wiedzę z zakresu projektowania i implementacji nowoczesnych aplikacji internetowych opartych o platformę MS .net. Dodatkowo wykorzystywane są mechanizmy udostępniane przez serwery aplikacji, np.: autoryzacji. Kolejnym celem jest przekazanie praktycznych informacji o możliwych do zastosowania wzorcach projektowych. Umiejętności wstępne: Programowanie komponentowe i obiektowe Treści przedmiotu: 1. Omówienie głównych właściwości Microsoft Server 2003, który pełni rolę serwera aplikacji. 2. Omówienie integracji infrastruktury .Net Framework z zasobami serwera. 3. Omówienie ogólnej architektury platformy .Net ułatwiającej tworzenie, instalację i obsługę aplikacji oraz usług sieci Web. 4. Administracji MS 2003 Server – jako elementem serwera aplikacji 5. Programowanie w ASP .Net, wykorzystanie języka C#. 6. Architektura i styl programowania w .Net na podstawie wzorców projektowych. Literatura: [1]. Nelson Ruest, Danielle Ruest „ Windows Server 2003. Podręcznik administratora”. [2]. Steven John Metsker „C#. Wzorce projektowe ”. [3]. Jacek Matulewski, Sławomir Orłowski „Technologie ASP.NET i ADO.NET w Visual Web Developer”. [4]. Dino Esposito „Programming Microsoft ASP.net 3.5” [5]. Jeff Webb „Developing Web applications” [6]. Andrew Troelsen „Język C# i platforma .net” Koordynator: Prof. dr hab.Wilczyński Władysław Data aktualizacji: 25.02.2009 Zui_p_s4 Course name: APPLICATION SERVERS Course contents: 1. Main characteristics of Microsoft Server 2003 as a server application. 2. Discussion of the integration infrastructure. Net Framework with the server resources. 3. Overall architecture of .NET platform - creation, installation and maintenance of applications and Web services. 4. MS Server 2003 Administration – as a part of application server 5. Programming in ASP. Net, using C #. 6. Architecture and programming on .NET platform - the basis of design patterns. 123 Nazwa przedmiotu: 3.39 SIECI KOMPUTEROWE Kod: 1100-SK0ZLI Forma przedmiotu: 18 godzin wykładu + 18 godzin laboratorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin pisemny; laboratorium – zaliczenie Cele przedmiotu: Celem przedmiotu jest zapoznanie studentów z zasadami funkcjonowania sieci komputerowych. Przedstawienie funkcji i zadań, które odpowiadają za zapewnienie komunikacji w sieci. Studenci poznają również najczęściej używane protokoły aplikacyjne. Umiejętności wstępne: Treści przedmiotu: 1. Modele funkcjonowania sieci. Model ISO OSI oraz model Amerykańskiego Departamentu Obrony. 2. Realizacja zadań warstwy dostępu do sieci na przykładzie technologii Ethernet (adresowanie fizyczne, metody dostępu do medium, przełączanie w sieci). 3. Warstwy międzysieciowa, transportowa i aplikacyjna na podstawie protokołów ze stosu TCP/IP. 4. Adresowania logiczne. Podział sieci na podsieci. 5. Rouitng statyczny i dynamiczny (algorytmy wektora odległości oraz stanu łącza). 6. Protokóły UDP i TCP. 7. Wybrane protokoły warstwy aplikacyjnej (DNS, TFTP, FTP, SMTP, POP3, HTTP). 8. Wprowadzenie do zabezpieczenia komunikacji w sieci komputerowej (cechy ochrony, zagrożenia i mechanizmy przeciwdziałania im). Literatura: [1] [2] [3] [4] D. Comer Sieci komputerowe i intersieci Richard Stevens: Biblia TCP/IP Tom 1. Protokoły. Dokumenty RFC Akademia sieci Cisco. CCNA Exploration. Semestry 1-4. Koordynator: Prof. Dr hab. Stanisław Goldstein Data aktualizacji: 15.02.2008 Zli_s_s5 Course name: COMPUTER NETWORKS Course contents: 1. Network Reference Models: Model ISO OSI and model TCP/IP, 7 layers of OSI Model – functions and tasks. 2. Network Access Layer – physical addressing, media access control. 3. Stack TCP/IP. 4. Logical addressing. 5. Static and dynamic routing. 6. Transport Layer – TCP and UDP protocols. 7. Application Layer – DHCP, DNS, TFTP, FTP, HTTP, SMTP and POP3 protocols. 8. Introduction to network security. 124 Nazwa przedmiotu: 3.40 SIECI LOKALNE Kod: 1100-SL0ZLI Forma przedmiotu: 18 godz. wykładu +18 godz. laboratorium komputerowego Ilość punktów ECTS: 6 Język wykładowy: Polski Sposób zaliczenia: egzamin pisemny + zaliczenie laboratorium Cele przedmiotu: Celem przedmiotu jest zapoznanie studentów z usługami sieci lokalnych. Szczególny nacisk położony jest na poznanie zasad działania i konfiguracji takich usług jak poczta elektroniczna, transfer plików, usługi nazewnicze i automatycznej konfiguracji hostów. Dodatkowo przedstawione są zagadnienia dotyczące bezpieczeństwa sieci komputerowych Umiejętności wstępne: Sieci komputerowe Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. 8. Literatura: [1] [2] [3] [4] historia powstania i rozwoju sieci Internet oraz stosu TCP/IP automatyczna konfiguracja hostów (DHCP, BOOTP, RARP) zadania warstwy aplikacyjnej modelu TCP/IP usługi nazewnicze (DNS) protokoły transferu plików: TFTP i FTP protokoły poczty elektronicznej – SMTP, POP3, IMAP usługa WWW (HTTP) wybrane zagadnienia bezpieczeństwa usług sieci TCP/IP Sieci komputerowe TCP/IP T.1 Douglas Comer Ilustrated TCP/IP T.1-3. Richard Stevens Ochrona danych w sieci i intersieci. Stallings W. Dokumenty RFC Koordynator: Prof. dr hab. Goldstein Stanisław Data aktualizacji: 2009/01/28 Zli_06_s5 Course name: Local Computer Networks Course contents: 1. The history of the Internet and TCP / IP 2. Automatic host configuration (DHCP, BOOTP, RARP) 3. Tasks of TCP / IP application layer 4. Naming services (DNS) 5. File transfer protocols: TFTP and FTP 6. The e-mail: SMTP, POP3, IMAP 7. Web services (HTTP) 8. Safety services of TCP / IP 125 Nazwa przedmiotu: 3.41 SYSTEMY CZASU RZECZYWISTEGO Kod: 1100-SC0ZLI Forma przedmiotu: Wykład 18h, laboratorium 18h Ilość punktów ECTS: 6 Język wykładowy: Polski Sposób zaliczenia: Zaliczenie praktyczne (projekt programistyczny) egzamin Cele przedmiotu: Celem przedmiotu jest zapoznanie studenta z programowaniem systemów wbudowanych oraz nomenklaturą związaną z reżimem czasu rzeczywistego. Przedmiot ma wykształcić praktyczne umiejętności w dziedzinie tworzenia systemów sterowania. Umiejętności wstępne: PR0 ZLI, SO0 ZLI Treści przedmiotu: 1. Wyjaśnienie pojęć – system wbudowany, system czasu rzeczywistego, omówienie standardów przemysłowych. 2. Architektura kursowego systemu, procesy, wątki, komunikacja międzyprocesowa. 3. Interfejs programisty. 4. Podstawy obsługi systemu oraz sprzęgów sprzętowych. 5. Programowanie w zintegrowanym środowisku programistycznym. 6. Tworzenie sterowników nowych urządzeń peryferyjnych. 7. Tworzenie obrazów rozruchowych. 8. Zagadnienia związane z testowaniem i zapewnieniem niezawodności systemu wbudowanego. 9. Modelowanie zagadnień związanych z przetwarzaniem w czasie rzeczywistym. Literatura: [1] [2] [3] [4] Ułasiewicz – Systemy czasu rzeczywistego QNX6 Neutrino Sacha – Systemy czasu rzeczywistego Dokumentacja elektroniczna kursowego systemu Lee, Leung, Son – Handbook of Real-Time and Embedded Systems Koordynator: Prof. Dr hab. St. Goldstein Data aktualizacji: 2008-12-12 Zli_s4 Course name: Course contents: 1. 2. 3. 4. 5. 6. 7. 8. 9. REAL-TIME SYSTEMS Concepts: embedded system and real-time system; industry standards Used system architecture, processes, threads, interprocess communication Application programming interface System and hardware interfaces management basis Programming in integrated development environment Creating drivers for new peripheral devices Creating boot images Testing practices, reliability concepts in RT and embedded systems RT modelling 126 3.42 SYSTEMY KLASY ŚREDNIEJ Nazwa przedmiotu: Kod: 1100-SKSZLI Forma przedmiotu: 18 godzin wykładu + 18 godzin laboratorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: 30 godzin wykładu + 30 godzin laboratorium Cele przedmiotu: Zdobycie przez studenta teoretycznych i praktycznych umiejętności z zakresu architektur systemów informatycznych klasy enterprise i midrange stosowanych w praktyce dużych korporacji, takich jak telekomy, firmy ubezpieczeniowe czy banki. Umiejętności wstępne: Znajomość zagadnień z zakresu systemów operacyjnych i programowania - SO0ZLI, PR0ZLI Treści przedmiotu: 1. Wprowadzenie do ogólnej problematyki systemów klasy średniej (midrange) i 2. 3. 4. 5. 6. Literatura: enterprise. Planowanie pojemności. Wzorce i antywzorce stabilności i pojemności w systemach klasy enterprise Elementy architektur SOA, zalety i wady Programowanie defensywne, programowanie zorientowane na dane – wprowadzenie do programowania w COBOLu Wprowadzenie do systemów operacyjnych klasy średniej i enterprise – podstawy z/OS [1] Nygaard, M., “Release It!”, Pragmatic Bookshelf, 2008 [2] Tanenbaum, A.S., Steen, M., „Systemy rozproszone. Zasady i paradygmaty.”, WNT [3] Horstmann, C.S., Cornell, G., „Java. Techniki zaawansowane”, Helion 2008 [4] [5] [6] [7] Oprac. zespołowe, “Java. Współbieżność dla praktyków”, Helion 2007 COBOL kurs on-line JCL kurs on-line Materiały udostępnione na stronie przedmiotu Koordynator: Prof. dr hab. Stanisław Goldstein Data aktualizacji: 24.02.2009 Zli_06_s6 Course name: Midrange Systems Course objectives: Acquirement of theoretical and practical skills pertaining the architecture of midrange and enterprise IT systems utilized in large corporations, in particular: telecoms, insurance companies and banks. Introduction to midrange and enterprise systems. 2. Capacity planning. 3. Patterns and antipatterns of stability and capacity in enterprise IT systems. 4. SOA primer. The pros and cons of the SOA approach. 5. Defensive programming, data-oriented programming – introduction to COBOL programming. 6. Introduction to midrange and enterprise operating systems – the z/OS primer. Course contents : 1. 127 Nazwa przedmiotu: 3.43 SYSTEMY OPERACYJNE Kod: 1100-SO0ZLI Forma przedmiotu: Wykład 18h, laboratorium 18h Ilość punktów ECTS: 6 Język wykładowy: Polski Sposób zaliczenia: Egzamin pisemny. Zaliczenie laboratoriów - praktyczne. Cele przedmiotu: Od strony praktycznej przedmiot ma przygotować studenta do pracy z dużym, skomplikowanym systemem wielozadaniowym i wielodostępnym, pracy jako użytkownik oraz administrator. Przyswojona wiedza ma tu być jak najbardziej przenaszalna, umożliwiając późniejszą konkretyzację w rzeczywistym środowisku informatycznym. Od strony teoretycznej student powinien znać ogólną budowę systemu operacyjnego i być biegłym w używanej w teorii systemów operacyjnych nomenklaturze. Umiejętności wstępne: SP0 ZLI Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. 8. Literatura: [1] [2] [3] [4] [5] Nomenklatura i taksonomia systemów operacyjnych Procesy, wątki, algorytmy szeregowania. Synchronizacja. Komunikacja międzyprocesowa. Zarządzanie pamięcią operacyjną. Zarządzanie pamięcią masową. Wybrane implementacje systemów operacyjnych. Kurs obsługi i administracji wybranym systemem operacyjnym. Silberschatz, Galvin – Podstawy systemów operacyjnych Milenkovic – Operating Systems concepts and design Frisch – Unix administracja systemu Silvester – System operacyjny Unix Dokumentacja elektroniczna kursowego systemu Koordynator: Prof. Dr hab. St. Goldstein Data aktualizacji: 2008-12-12 Zli_s2 Course name: Course contents: 1. 2. 3. 4. 5. 6. 7. 8. OPERATING SYSTEMS Operating systems concepts and taxonomy Processes, threads, scheduling algorithms Synchronization Interprocess communication Managing computer memory Managing mass storage Selected implementations of operating systems Using and managing selectected operating system 128 Nazwa przedmiotu: 3.44 SZTUCZNA INTELIGENCJA Kod: 1100-SI0ZUI Forma przedmiotu: 18 godzin wykładu + 18 godzin laboratorium Ilość punktów ECTS: 7 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin pisemny; laboratorium informatyczne – zaliczenie na podstawie oddawanych projektów Umiejętności wstępne: SI0ZLI Cele przedmiotu: Poszerzenie materiału z przedmiotu „Elementy sztucznej inteligencji” o nowe zagadnienia: sztuczne sieci neuronowe, algorytmy genetyczne, logika rozmyta. Znaczny nacisk położony jest na umiejętności praktycznego wykorzystania omawianych metod do rozwiązania konkretnych problemów. Treści przedmiotu: 1. Algorytmy genetyczne. 2. Sztuczne sieci neuronowe: podstawowe modele. Metody nauki dla sieci skierowanych do przodu i rekurencyjnych. 3. Elementy logikii rozmytej. Tworzenie bazy reguł rozmytych, tworzenie sterownika rozmytego. 4. Boidy – modelowanie zachowań stadnych. 5. Idea metod typu Monte Carlo. Literatura: Zasadniczym źródłem informacji są materiały dostarczone studentom w formie skryptu (dostępne i aktualizowane na bieżąco na stronie http://math.uni.lodz.pl/~fulmanp), zarówno w trakcie ćwiczeń jak i wykładu. W skrypcie zawarto także obszerny spis polecanej (i zarazem dostępnej) literatury uzupełniającej, m.in.: T. Munakata, “Fundamentals of the New Artificial Intelligence”, Springer-Verlag, [1] 2008. M. Piliński, D. Rutkowska, L. Rutkowski, “Sieci neuronowe, algorytmy genetyczne i systemy rozmyte”, PWN, Warszawa, 1997. [2] [3] L. Rutkowski, „Metody i techniki sztucznej inteligencji”, PWN, Warszawa, 2005. Koordynator: Prof. dr hab. Władysław Wilczyński Data aktualizacji: 2009-01-30 Zui_s1 Course name: Artificial Intelligence Course contents: 1. 2. 3. 4. 5. Genetic algorithm. Artificial neural networks: models. Basic learning methods for feedforward and recurent networks. Elements of fuzzy logic. Fuzzy controler. Boids - an example of emergent behavior for artificial life (e.g. bird flocks or fish schools). Idea of the Monte Carlo methods. 129 3.45 ŚRODOWISKO PRACY INFORMATYKA Nazwa przedmiotu: Kod: 1100-SP0ZLI Forma przedmiotu: 36 godzin laboratorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: laboratorium informatyczne – zaliczenie na podstawie kolokwiów odbywających się po zakończeniu omawiania każdej z grup tematycznych Umiejętności wstępne: brak Cele przedmiotu: Przedmiot ma na celu zapoznanie z podstawowym warsztatem pracy informatyka, którego znajomość jest bardzo przydatna w dalszym toku studiów. Treści przedmiotu: 1. 2. 3. 4. 5. Elementy pracy w środowisku UNIX: podstawowe polecenia, proste skrypty powłoki. Praca z narzędziami typu ftp, telnet. Składanie poprawnych typograficznie dokumentów przy pomocy systemu LaTeX. Przygotowywanie prezentacji w systemie LaTeX, np. pakiet beamer. Idea praca z systemami kontroli wersji, np SVN i raportowania błędów, np. Flyspray. Podstawy publikowania w sieci: HTML i PHP. Literatura: Ze względu na bardzo szeroki zakres tematyczny a jednocześnie jedynie wprowadzające podejście do omawianych tematów, trudno jest polecać konkretne pozycje, gdyż zwykle zawierają one zbyt obszerny materiał. Dlatego zasadniczym źródłem informacji są materiały dostarczone studentom, dostępne i aktualizowane na bieżąco na stronie http://math.uni.lodz.pl/~fulman oraz http://math.uni.lodz.pl/~czacza Jako źródło informacji uzupełniających można polecić [1] Lowell Jay Arthur, Ted Burns,. ,,UNIX. Programowanie w shellu'', MIKOM, Warszawa, 1998. [2] [3] AEleen Frisch. - ,,UNIX. Administracja systemu'', Wydawnictwo RM, 2003. [4] [5] Strona http://www.php.net – najaktualniejsze źródło informacji o języku PHP. Strona Grupy Użytkowników Systemu TeX http://www.gust.org.pl/ najaktualniejsze polskojęzyczne źródło informacji o systamach z rodziny TeX. Strona http://www.w3schools.com – bardzo bogata strona (m.in. przykłady, tutoriale) poświęcona tworzeniu aplikacji sieciowych. Koordynator: Prof. dr hab. Władysław Wilczyński Data aktualizacji: 2009-01-30 Zli_s1 Course name: Programmer's Working Environment Course contents: 1. 2. 3. 4. 5. Working with UNIX system: basic commands, shell scripts and indispensable tools like ftp or telnet. Typesetting system for scientists - LaTeX. Presentation in LaTeX (e.g. beamer package). Version control system (e.g. SVN) and bug tracking system (e.g. Flyspray). An introduction to web publishing: HTML + PHP. 130 Nazwa przedmiotu: 3.46 TECHNIKI ALGORYTMICZNE Kod: 1100-AT0ZUI Forma przedmiotu: 18 godz. wykładu +18 godz. laboratorium komputerowego Ilość punktów ECTS: 7 Język wykładowy: Polski Sposób zaliczenia: egzamin pisemny + zaliczenie laboratorium Cele przedmiotu: Celem przedmiotu jest zapoznanie studentów z wybranymi metodami algorytmicznymi oraz analizą tych algorytmów. W trakcie zajęć przedstawione zostaną zaawansowane algorytmy i struktury danych, dotyczące takich zagadnień jak: efektywne implementacje słowników, złożone struktury danych, kompresja, algorytmy grafowe, zaawansowane algorytmy wyszukiwania wzorca, algorytmy równoległe, problemy NP-zupełności. Umiejętności wstępne: Treści przedmiotu: 1. 2. 3. 4. 5. Efektywne implementacje słowników (drzewa AVL, drzewa 2-3-4, drzewa RB) Haszowanie (adresowanie otwarte, metoda łańcuchowa rozwiązywania kolizji) Metody kodowania i kompresji ( kody Huffmana, kodowanie arytmetyczne, kody Lempel‟a-Ziv‟a (LZW) ) Wyszukiwanie wzorca w teście: algorytm Rabina-Karpa, algorytm Knutha-MorrisaPratta, algorytm Boyera-Moore‟a Algorytmy grafowe i. - przeszukiwanie grafu (BFS, DFS) ii. - znajdowanie drogi (algorytmy Bellmana-Forda i Dijkstry) iii. - wyznaczanie minimalnego drzewa rozpinającego (alg. Prima i Kruskala) 6. NP-zupełność Literatura: [1] Algorytmy w C++, Sedgewick R., Read Me 1999 [2] Algorytmy w C++ grafy; Robert Sedgewick, Wydawnictwo RM, 2003 [3] Wprowadzenie do algorytmów, Thomas H. Cormen , Charles E. Leiserson , Ronald L. , Rivest , Clifford Stein, Wydawnictwa Naukowo - Techniczne, 2004. [4] Algorytmy i struktury danych, L. Banachowski, K. Diks, W. Rytter, Wydawnictwa Naukowo - Techniczne, 2006 [5] http://wazniak.mimuw.edu.pl/index.php?title=Algorytmy_i_struktury_danych Koordynator: Prof. dr hab. Goldstein Stanisław Data aktualizacji: 2009/01/28 ZUI_s1 Course name: ALGORITHMIC TECHNIQUES Course contents: 1. 2. 3. 4. Effective implementation of dictionaries ( AVL trees, 2-3-4 trees , RB trees) Hashing tables ( Open addressing, chains ) Encoding and compression ( Huffman‟s codes, Arithmetic coding, Lempel-Ziv (LZW) ) Pattern searching: Rabin-Karp algorithm, Knuth-Morris-Pratt algorithm, Boyer-Moore algorithm 5. Graph algorithms - The search graph (BFS, DFS) - To find the road (Bellman-Ford and Dijkstra algorithms) - Determination of the minimum spanning tree (Prim and Kruskal algorithms.) 6. NP-completeness 131 Nazwa przedmiotu: 3.47 TECHNOLOGIE SIECIOWE Kod: 1100-TS0ZLI Forma przedmiotu: 18 godzin wykładu + 18 godzin laboratorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin pisemny; laboratorium – zaliczenie Cele przedmiotu: Celem przedmiotu jest zapoznanie studentów z zasadami funkcjonowania sieci komputerowych. Przedstawienie funkcji i zadań, które odpowiadają za zapewnienie komunikacji w sieci. Studenci poznają również najczęściej używane protokoły aplikacyjne. Umiejętności wstępne: Treści przedmiotu: 1. Modele funkcjonowania sieci. Model ISO OSI oraz model Amerykańskiego Departamentu Obrony. 2. Realizacja zadań warstwy dostępu do sieci na przykładzie technologii Ethernet (adresowanie fizyczne, metody dostępu do medium, przełączanie w sieci). 3. Warstwy międzysieciowa, transportowa i aplikacyjna na podstawie protokołów ze stosu TCP/IP. 4. Adresowania logiczne. Podział sieci na podsieci. 5. Rouitng statyczny i dynamiczny (algorytmy wektora odległości oraz stanu łącza). 6. Protokóły UDP i TCP. 7. Wybrane protokoły warstwy aplikacyjnej (DNS, TFTP, FTP, SMTP, POP3, HTTP). Literatura: [1] [2] [3] [4] D. Comer Sieci komputerowe i intersieci Richard Stevens: Biblia TCP/IP Tom 1. Protokoły. Dokumenty RFC Akademia sieci Cisco. CCNA Exploration. Semestry 1-4. Koordynator: Prof. dr hab. Stanisław Goldstein Data aktualizacji: 15.02.2008 Zli_s3 Course name: Network Technologies Course contents: 1. Network Reference Models: Model ISO OSI and model TCP/IP, 7 layers of OSI Model – functions and tasks. 2. Network Access Layer – physical addressing, media access control. 3. Stack TCP/IP. 4. Logical addressing. 5. Static and dynamic routing. 6. Transport Layer – TCP and UDP protocols. 7. Application Layer – DHCP, DNS, TFTP, FTP, HTTP, SMTP and POP3 protocols. 132 Nazwa przedmiotu: 3.48 TEORETYCZNE PODSTAWY INFORMATYKI Kod: 1100-TI0ZLI Forma przedmiotu: 18 godzin wykładu + 18 godzin konwersatorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin ustny; konwersatorium – zaliczenie Cele przedmiotu: Celem wykładu jest zapoznanie studenta z podstawowymi narzędziami teorii prawdopodobieństwa i ich zastosowaniami ze szczególnym uwzględnieniem zastosowań w informatyce. Umiejętności wstępne: LS0ZLI Treści przedmiotu: 1. Problemy a języki formalne. 2. Języki regularne: wyrażenia regularne, automaty skończone, minimalizacja automatów skończonych, twierdzenie Kleenego, własności języków regularnych, algorytmy decyzyjne dla języków regularnych. 3. Języki bezkontekstowe: gramatyki bezkontekstowe i regularne, postacie normalne gramatyk bezkontekstowych, własności języków bezkontekstowych, automaty ze stosem. 4. Języki rekursywnie przeliczalne: maszyny Turinga, gramatyki frazowe. 5. Hierarchia Chomsky‟ego języków formalnych. Literatura: [1]. Krasiński T. - Automaty i języki formalne; Wyd. UŁ 2007 [2]. Hopcroft J., Motwani R., Ullmann, J. - Wprowadzenie do teorii automatów, języków i obliczeń ; PWN 2005. [3]. Sipser M. – Wprowadzenie do teorii obliczeń. WNT 2009. [4]. Kozen D. - Automata and computability; Springer 1997. [5]. Cohen D. - Introduction to computer theory; Wiley 1991. [6]. Martin J.C. - Introduction to Languages and the Theory of Computation. McGraw Hill 1999 Koordynator: Prof. dr hab. Tadeusz Krasiński Data aktualizacji: 2009-02-10 zli_s2 Course name: Theoretical Foundations of Computer Science Course contents: 1. Problems and formal languages. 2. Regular languages: regular expressions, finite automata, minimal finite automata, Kleene‟s Theorem, decision problems for regular languages. 3. Context-free languages: context-free and regular grammars, normal forms of contextfree languages, pushdown automata. 4. Recursively enumerable languages: Turing machines, unrestricted grammars. 5. Chomsky hierarchy. 133 3.49 TEORIA GRAFÓW I SIECI Nazwa przedmiotu: Kod: 1100-GF0ZUI Forma przedmiotu: 18 godzin wykładu + 18 godzin konwersatorium Ilość punktów ECTS: 7 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin testowy; konwersatorium – zaliczenie Cele przedmiotu: Celem przedmiotu jest przekazanie i ugruntowanie wiedzy z wybranych działów teorii grafów i sieci. Studenci zostaną zaznajomieni z szerokimi zastosowaniami omawianych zagadnień w informatyce oraz metodami formułowania praktycznych zagadnień w języku teorii grafów. Umiejętności wstępne: AT0 ZUI Treści przedmiotu: 1. Podstawowe definicje teorii grafów, metody przeszukiwania grafów 2. Grafy Eulera, algorytmy rozwiązujące problem chińskiego listonosza 3. Grafy Hamiltona, algorytmy TSP, optymalizacja naturalna, algorytmy mrówkowe 4. Własności drzew, rodzaje i własności drzew binarnych, algorytm znajdowania centrum w grafie, optymalne drzewo binarne, algorytm Huffmana, zliczanie drzew, algorytmy Prüfer'a, drzewa rozpinające, algorytmy MST, algorytmy znajdowania najkrótszych ścieżek w grafie( z jednym źródłem, między wszystkimi wierzchołkami, grafy rzadkie) 5. Różne rodzaje spójności grafu, algorytm wyznaczania dwuspójnych składowych grafu 6. Kolorowanie grafów, algorytmy kolorowania grafów, zbiory niezależne 7. Grafy planarne, uogólnione grafy Petersena 8. Skojarzenia w grafach, algorytmy wyznaczania maksymalnego skojarzenia i skojarzenia ważonego 9. Drzewa Steiner'a, algorytmy SMT, drzewa multicast 10. Algorytmy routingu w sieciach 11. Sieci przepływowe, metoda Forda-Fulkersona, algorytmy wyznaczania maksymalnego przepływu, przepływy o minimalnym koszcie 12. Modele przepływów w sieci, przepływy wieolotowarowe Literatura: [1]. T.Cormen, C.Leiserson, R.Rivest Wprowadzenie do algorytmów [2]. J.Kurose, K.Ross. Sieci komputerowe. Od ogółu do szczegółu z Internetem w tle [3]. J.Harris, J.Hirst, M.Mossinghoff Combinatorics and Graph Theory [4]. W.Lipski, Kombinatoryka dla programistów [5]. D.Jungnickel Graphs, Networks and Algorithms [6]. D.Medhi, K.Ramasamy Network Routing: Algorithms, Protocols, and Architectures Koordynator: Prof. dr hab. Stanisław Walczak Data aktualizacji: 2010-03-10 Zui_s2 Course name: GRAPH AND NETWORK THEORY Course contents: 1. 2. 3. 4. Basic graph theory Euler graphs, algorithms for solving the chinese postman problem Hamilton graphs, algorithms for TSP, natural optimization, ants algorithms Properties of trees, properties and special types of binary trees, the Huffman algorithm, counting trees, Prüfer algorithms, spanning trees, MST algorithms, shortest path algorithms( single-source, all pairs, sparse graphs) 5. Different types of connectivity of a graph, the algorithm for finding biconnected components of a graph 6. Graph coloring, algorithms for coloring graphs, independence sets 7. Planar graphs, generalized Petersen graphs 8. Matchings, algorithms for maximum and weighted matchings 9. Steiner trees, SMT algorithms, multicast trees 10. Routing algorithms 11. Flow networks, the Ford-Fulkerson algorithm, algorithms for the maximum flow problems, minimum cost flow 12. Network flow modeling, multicommodity flows 134 3.50 TEORIA OBLICZEŃ I ZŁOŻONOŚCI Nazwa przedmiotu: Kod: 1100-OZ0ZUI Forma przedmiotu: 18 godzin wykładu + 18 godzin konwersatorium Ilość punktów ECTS: 7 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin ustny; konwersatorium – zaliczenie Umiejętności wstępne: TI0ZLI Cele przedmiotu: Celem przedmiotu jest zaznajomienie studenta z teorią obliczeń (przyjmując jako podstawowy model maszynę Turinga) oraz teorią złożoności obliczeniowej. Treści przedmiotu: 1. 2. 3. 4. 5. 6. 7. 8. Warianty maszyn Turinga. Własności języków rekursywnie przeliczalnych. Problemy rozstrzygalne. Złożoność obliczeniowa czasowa. Klasy złożoności obliczeniowej Problemy NP-zupełne. Złożoność obliczeniowa pamięciowa. Złożoność obliczeniowa opisowa. Literatura: [1]. Krasiński T. - Automaty i języki formalne; Wyd. UŁ 2007 [2]. Hopcroft J., Motwani R., Ullmann, J. - Wprowadzenie do teorii automatów, języków i obliczeń ; PWN 2005. [3]. Sipser M. – Wprowadzenie do teorii obliczeń. WNT 2009. [4]. Foryś M, Foryś W. – Teoria automatów i języków formalnych. EXIT 2005. [5]. Kozen D. - Automata and computability; Springer 1997. [6]. Sudkamp T. – Languages and Machines. Addison Wesley Longman. 1998.. [7]. Martin J.C. - Introduction to Languages and the Theory of Computation. McGraw Hill 1999 Koordynator: Prof. dr hab. Tadeusz Krasiński Data aktualizacji: 2009-06-07 ZUI-s3 Course name: Course contents: 1. 2. 3. 4. 5. 6. 7. 8. Theory of Computation and Complexity Variants of Turing machines. Properties of recursively enumerable languages. Decidable problems. Time computational complexity. Classes of computational complexity. NP-complete problems. Space computational complexity. Kolmogorov computational complexity. 135 3.51 WSTĘP DO INFORMATYKI Nazwa przedmiotu: Kod: 1100-PI0ZLI Forma przedmiotu: 18 godzin wykładu + 18 godzin konwersatorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin pisemny; konwersatorium – zaliczenie na podstawie kolokwium Umiejętności wstępne: brak Cele przedmiotu: Celem zajęć jest przekazanie podstaw niezbędnych do swobodnego poruszania się w świecie współczesnej informatyki a także zarysowanie i prezentację pojęć i tematów z jakimi studenci zetkną się podczas dalszego toku studiów. Ćwiczenia poświęcone są zdobyciu praktycznych umiejętności związanych m.in. z operowaniem różnymi systemami liczbowymi, działaniami na wyrażeniach boolowskich a przede wszystkim umiejętności zapisywania algorytmów, wyrażania ich w różnej postaci i posługiwania się nimi. Treści przedmiotu: 1. Narodziny dyscypliny – rys historyczny. 2. Systemy liczbowe ze szczególnym uwzględnieniem systemów dwójkowego, ósemkowego, szesnastkowego, dziesiętnego - konwersje. Operacje arytmetyczne w różnych systemach liczbowych. 3. Algebra Boole‟a - definicje, podstawowe prawa, twierdzenia, dowody; upraszczanie wyrażeń (mapy Karnaugha). 4. Podstawy konstruowania układów cyfrowych. 5. Architektura systemu komputerowego, maszyna Turinga. 6. Sposoby reprezentacji danych na przykładzie znaków (Unicode), liczb, pliku graficznego, pakietu stosu protokołów TCP/IP. 7. Pojęcie algorytmu. Sposoby zapisu algorytmów – schemat blokowy, pseudokod, język naturalny. 8. Języki programowania – rodzaje, klasyfikacje i podziały. 9. Systemy operacyjne – główne zadania, typy i przykłady. 10. Sieci komputerowe – najważniejsze pojęcia związane z architekturą, topologią i urządzeniami sieciowymi. Literatura: [1]. Piotr Fulmański, Ścibór Sobieski ,,Wstęp do informatyki. Podręcznik'', Wydawnictwo UŁ, Łódź 2005. [2]. J. Gleen Brookshear, ,,Informatyka w ogólnym zarysie'', WNT. Koordynator: Prof. dr hab. Władysław Wilczyński Data aktualizacji: 2009-01-30 Zli_s1 Course name: Introduction to Computer Science Course contents: 1. 2. Historical background. Numeral systems, especialy binary, octal and hexadecinal (conversions and atithmetic operation). 3. Boolean algebra – definitions and basic laws Boolean formula reduction (Karnaugh map). 4. Basic of digital circuit design. 5. Turing machine, modern computer system architecture. 6. Data representation with the use of a characters (Unicode), integer and real numbers, graphic file, TCP/IP stack packet example. 7. What is an algorithm – idea and definitons. Methods of algorithm description (pseudocode, flowcharts, natural language). 8. Programming languages – types and classifications. 9. Operating systems – tasks, types, classifications and examples. 10. Computer networks – types, classifications and basic concepts. 136 Nazwa przedmiotu: 3.52 ZAAWANSOWANE ALGORYTMY Kod: 1100-AZ2ZLI Forma przedmiotu: 18 godzin wykładu + 18 godzin laboratorium Ilość punktów ECTS: 6 Język wykładowy: polski Sposób zaliczenia: Laboratorium –n a podstawie wykonanych projektów, wykład – egzamin pisemny Cele przedmiotu: Uzupełnienie wiedzy na temat złożonych struktur danych i zaawansowanych algorytmów oraz analizowanie złożoności algorytmów. Umiejętności wstępne: PR0ZLI, AZ1ZLI Treści przedmiotu: 1. 2. 3. 4. 5. 6. Drzewa, drzewa BST, równoważenie drzew, drzewa samoorganizujące się. Zaawansowane metody sortowania, Grafy. Mieszanie. Słowniki. NP- zupełność i nierozstrzygalność. Literatura: [1] R. Sedgewick Algorytmy w C++ Wydawnictwo RM, Warszawa 1999, [2] A. Drozdek C++ algorytmy i struktury danych Wydawnictwo Helion, Gliwice 2004, [3] D. Harel Rzecz o istocie informatyki Algorytmika WNT, Warszawa 2001, [4] L. Banachowski, K. Diks, W. Rytter Algorytmy i struktury danych WNT, Warszawa 2003. [5] T.H. Cormen, Ch.E. Leiserson, R.L. Rivest Wprowadzenie do algorytmów WNT, Warszawa 2001. Koordynator: Prof. Władysław Wilczyński Data aktualizacji: 20.02.09 Course name: Course contents: 1. 2. 3. 4. 5. 6. Advanced Algorithms Trees, binary search trees, balanced trees, self-organizing trees. Advanced sorting methods. Graphs. Hashing. Dictionaries. NP-completeness and intractability. 137 Nazwa przedmiotu: 3.53 ZAAWANSOWANE TECHNIKI PROGRAMOWANIA Kod: 1100-TP0ZUI Forma przedmiotu: 18 godzin laboratorium informatycznego Ilość punktów ECTS: 4 Język wykładowy: Polski Sposób zaliczenia: Zaliczenie w formie kolokwium praktycznego Cele przedmiotu: Celem przedmiotu jest rozwój umiejętności w zakresie sprawnego i efektywnego programowania z użyciem wybranego języka programowania wysokiego poziomu, przy wykorzystaniu zaawansowanych możliwości tego języka, a w szczególności programowania zorientowanego obiektowo i programowania z użyciem (zaawansowanych) bibliotek standardowych. Umiejętności wstępne: --Treści przedmiotu: 1. Zaawansowane cechy i możliwości zintegrowanych środowisk programistycznych (IDE) dostępnych dla danego języka 2. Przegląd możliwości języka i omówienie typowych błędów programistycznych 3. Klasy jako zaawansowany środek programistyczny do modelowania danych i ich przetwarzania 4. Wykorzystywanie dziedziczenia i funkcji wirtualnych (polimorfizmu) 5. Wzorce i wyjątki 6. Biblioteka standardowa i przykłady jej praktycznego zastosowania 7. Praktyczne wykorzystanie programowania wielowątkowego Literatura: Literatura zależna od wyboru języka; przykładowa literatura dla języka C++: [1] Stroustrup, B. Język C++ [2] Eckel B. Thinking in C++ : edycja polska (T. 1 i 2) [3] Eckel B. Thinking in C++ (wersja elektroniczna: http://www.mindview.net/Books/TICPP/) [4] Josuttis N. C++ biblioteka standardowa : podręcznik programisty [5] Lippman S. Istota języka C++ : zwięzły opis Koordynator: Prof. dr hab. Stanisław Goldstein Data aktualizacji: 20.02.2009 Zui_s1 Course name: Advanced Programming Techniques Course contents: 1. Advanced features of Integrated Development Environments available for the programming language chosen 2. Features of the language and common programming mistakes 3. Classes as an advanced way of data modeling and processing 4. Class inheritance and polymorphism 5. Templates and exceptions 6. Standard library and its applications 7. Practical aspects of multithreading programming 138 Nazwa przedmiotu: 3.54 ZASTOSOWANIE METOD PROBABILISTYCZNYCH Kod: 1100-MP0ZUI Forma przedmiotu: 18 godzin wykładu + 18 godzin konwersatorium Ilość punktów ECTS: 7 Język wykładowy: polski Sposób zaliczenia: wykład – egzamin pisemny i ustny; konwersatorium – zaliczenie Cele przedmiotu: Celem wykładu jest zapoznanie studenta z podstawowymi narzędziami teorii prawdopodobieństwa i ich zastosowaniami ze szczególnym uwzględnieniem zastosowań w informatyce. Umiejętności wstępne: Treści przedmiotu: 1. Przypomnienie pojęć przestrzeni probabilistycznej, zdarzenia losowego, prawdopodobieństwa, niezależności zdarzeń oraz zmiennej losowej. 2. Klasyczny oraz geometryczny model prawdopodobieństwa. 3. Przykłady konstrukcji przestrzeni probabilistycznej w konkretnych zagadnieniach. 4. Typy rozkładu zmiennej losowej – ciągły, dyskretny i mieszany. Dystrybuanta i gęstość rozkładu zmiennej losowej. 5. Wartość oczekiwana, wariancja i odchylenie standardowe zmiennej losowej. 6. Podstawowe rozkłady zmiennych losowych, pojawiających się w zastosowaniach praktycznych. 7. Wektory losowe, niezależność zmiennych losowych, wartość oczekiwana i macierz kowariancji wektora losowego. 8. Rodzaje zbieżności ciągów zmiennych losowych. 9. Twierdzenia graniczne wraz z ich zastosowaniami w statystyce. 10. Przykłady zastosowania probabilistyki związane z teorią informacji, algorytmiką i innymi gałęziami informatyki. Literatura: [1]. Jakubowski J., Sztencel R. – Wstęp do teorii prawdopodobieństwa [2]. Billingsley P. – Prawdopodobieństwo i miara [3]. Krysicki Wł. i inni – Rachunek prawdopodobieństwa i statystyka matematyczna w zadaniach, tom I Koordynator: Prof. dr hab. Adam Paszkiewicz Data aktualizacji: 2009-02-10 Zui_s1 Course name: Applications of Probability Methods Course contents: 1. The basic objects in probability theory: the probability space, random events, the probability, independent events, random variables. 2. The classical definition of the probability and the geometric probability. 3. Selecting appropriate probabilistic models to specific problems. 4. Probability distributions (discrete, continuous and mixed). The cumulative distribution function and the probability density function. 5. The expected value, the variance and the standard deviation of a random variable. 6. Examples of distributions of random variables, which arise in applications. 7. Random vectors, the independence of random variables, the distribution, the expected value and the covariance matrix of a random vector. 8. The convergence of sequences of random variables. 9. The limit theorems in probability and their applications to statistics. 10. Applications of probability theory to information theory, algorithmics and other branches of computer science. 139