Logowanie

Języki

  • Polski
  • English

Studia licencjackie dzienne - program po zmianach w roku 2004  

Program Studiów Informatycznych
na Uniwersytecie Wrocławskim

Dzienne studia licencjackie


Zatwierdzony 17 czerwca 1997 roku przez

Radę Wydziału Matematyki i Informatyki Uniwersytetu Wrocławskiego

(z późniejszymi zmianami)

Dotyczy studentów wpisanych na pierwszy semestr po
1 września 2004


Spis treści

2. Dzienne studia licencjackie

2.1. Tok studiów
2.1.1. Minima punktowe
2.1.2. Przedmioty obowiązkowe
2.1.3. Ukończenie studiów
2.2. Przedmioty obowiązkowe
2.2.1. Matematyka dla informatyków I
2.2.2. Matematyka dla informatyków II
2.2.3. Programowanie
2.2.4. Matematyka dyskretna
2.2.5. Algorytmy i struktury danych
2.2.6. Metody numeryczne
2.3. Sylwetka absolwenta studiów licencjackich
2.4. Przechodzenie pomiędzy tokiem magisterskim i licencjackim

Program dziennych licencjackich studiów informatycznych na Uniwersytecie Wrocławskim jest oparty na tych samych zasadach, co program studiów magisterskich i różni się od niego jedynie szczegółowymi wymaganiami dotyczącymi minimów punktowych, zestawem przedmiotów obowiązkowych oraz zasadami uzyskiwania stopnia końcowego – w tym przypadku stopnia licencjackiego. W szczególności treść Rozdziałów 1 i 2
programu dziennych studiów magisterskich obowiązuje na studiach licencjackich, z uwzględnieniem opisanych niżej różnic.

2.1. Tok studiów

2.1.1. Minima punktowe

Dla zaliczenia kolejnych semestrów studenci dziennych studiów licencjackich są zobowiązani uzyskać liczbę punktów równą wymaganiom dla studiów magisterskich. Punkty mogą być uzyskiwane za:

  • przedmioty obowiązkowe dla studiów licencjackich,
  • przedmioty obowiązkowe dla studiów magisterskich,
  • przedmioty informatyczne podstawowe i zaawansowane,
  • kursy narzędzi informatyki,
  • seminaria (najwyżej za 2 seminaria),
  • przedmioty nieinformatyczne (najwyżej za 2 przedmioty),
  • języki obce,
  • wychowanie fizyczne (najwyżej 9 punktów).

Student studiów licencjackich zalicza semestr również wtedy, gdy spełni wszystkie warunki konieczne do zaliczenia tego semestru na dziennych studiach magisterskich.

2.1.2. Przedmioty obowiązkowe

Tablica 1. Przedmioty obowiązkowe na dziennych studiach licencjackich

nazwa przedmiotu w. ćw. rep. prac. pkt. semestr odpowiednik w toku
studiów magisterskich
1. Matematyka dla informatyków I (lic) 45 30 30 9 pierwszy Analiza matematyczna,
Logika dla informatyków
2. Matematyka dla informatyków II (lic) 45 30 30 9 drugi Algebra
3. Programowanie (lic) 45 30 30 15 9 drugi Programowanie
4. Matematyka dyskretna (lic) 45 30 30 9 drugi Matematyka dyskretna
5. Algorytmy i struktury danych (lic) 45 30 30 15 9 trzeci Algorytmy i struktury danych
6. Metody numeryczne (lic) 45 30 30 9 trzeci Analiza numeryczna
7. Licencjacki projekt programistyczny 30 30 4 szósty brak

Studenci dziennych studiów licencjackich są zobowiązani zaliczyć przedmioty obowiązkowe wymienione w
Tablicy 1. Mogą oni jednak w miejsce swoich przedmiotów obowiązkowych zaliczać ich odpowiedniki z toku studiów magisterskich. W przypadku zaliczania przez studenta przedmiotów w toku studiów magisterskich i licencjackich obowiązują następujące zasady uznawania w toku licencjackim przedmiotów zaliczanych w toku magisterskim:

  • studentom, którzy zaliczyli odpowiednik (z toku studiów magisterskich) przedmiotu obowiązkowego ze studiów licencjackich zalicza się ten przedmiot i przyznaje się liczbę punktów przypisaną zaliczonemu odpowiednikowi;
  • po uzyskaniu punktów za odpowiedniki przedmiotów obowiązkowych nie można uzyskać ponownie punktów za dane przedmioty obowiązkowe w toku licencjackim;
  • zaliczenie zajęć pomocniczych (ćwiczeń itp.) do odpowiednika przedmiotu obowiązkowego uprawnia studenta do przystąpienia do egzaminu z danego przedmiotu obowiązkowego.*

* Uprawnienie to jest istotne w przypadku, gdy student nie zda egzaminu z przedmiotu obowiązkowego na studiach magisterskich. Wówczas na podstawie zaliczenia zajęć pomocniczych do tego przedmiotu może przystąpić do egzaminu z przedmiotu obowiązkowego dla studiów licencjackich, który obejmuje mniejszy zakres materiału. Takie rozwiązanie pozwala, w przypadku niepowodzenia na studiach magisterskich, kontynuować naukę na studiach licencjackich.

Przedmioty obowiązkowe 1–6 są przedmiotami semestralnymi i odbywają się w wymiarze 45 godzin wykładu, 30 godzin ćwiczeń, 30 godzin repetytorium i— w przypadku „Programowania” oraz „Algorytmów i struktur danych” — 15 godzin pracowni. Każdemu z tych przedmiotów przypisuje się 9 punktów. Przedmiot obowiązkowy Licencjacki projekt programistyczny jest prowadzony w wymiarze 30 godzin zajęć typu konwersatoryjnego i ma przypisane 4 punkty.

Studentom studiów magisterskich nie zalicza się punktów za przedmioty obowiązkowe w toku studiów licencjackich.

2.1.3. Ukończenie studiów

Absolwenci studiów licencjackich uzyskują dyplom licencjacki z informatyki. Warunkiem ukończenia studiów licencjackich jest zaliczenie sześciu semestrów studiów, obrona pracy licencjackiej oraz zdanie egzaminu licencjackiego.

Do zaliczenia 6. semestru jest konieczne uzyskanie określonej w rozdziale 2.1.1 liczby punktów, zaliczenie przedmiotów obowiązkowych (Tablica 1) oraz:

  • uzyskanie przynajmniej 18 punktów za lektorat języka angielskiego,
  • uzyskanie przynajmniej 6 punktów za lektorat inny niż języka angielskiego,
  • uzyskanie nie mniej niż 9 punktów za kursy narzędzi informatyki,
  • zaliczenie przynajmniej jednego seminarium,
  • zaliczenie jednego przedmiotu nieinformatycznego,
  • zaliczenie przedmiotu Bazy Danych lub przedmiotu Bazy Danych 2,
  • zaliczenie przedmiotu Systemy Operacyjne lub przedmiotu Systemy Operacyjne 2.

Praca licencjacka ma formę projektu programistycznego (zespołowego lub indywidualnego) i oprócz części programistycznej powinna zawierać część opisową zawierającą dokumentację i opis projektu. W celu zapewnienia opieki pracowników nad tworzeniem pracy prowadzi się przedmiot Licencjacki projekt programistyczny.

Egzamin licencjacki odbywa się po zakończeniu 6. semestru studiów
i ma formę pisemną. Zakres i sposób przeprowadzenia egzaminu ustala Rada Instytutu Informatyki.

2.2. Przedmioty obowiązkowe

2.2.1. Matematyka dla informatyków I

Cel zajęć i wskazówki metodyczne

Zdobycie przez studentów umiejętności posługiwania się językiem matematycznym, poznanie podstawowych pojęć i posługiwanie się oprogramowaniem do obliczeń symbolicznych w zakresie analizy matematycznej.

Program wykładu

  1. Podstawowe pojęcia teoriomnogościowe i operacje na zbiorach, relacje, funkcje, relacje równoważności, konstrukcje indukcyjne.
  2. Język logiki, kwantyfikatory.
  3. Liczby rzeczywiste i zespolone.
  4. Ciągi liczbowe, szeregi, pojęcie granicy.
  5. Pojęcie całki i pochodnej, szukanie ekstremów.
  6. Funkcje wielu zmiennych, pochodne cząstkowe.

2.2.2. Matematyka dla informatyków II

Cel zajęć i wskazówki metodyczne

Zdobycie przez studentów podstawowych umiejętności w zakresie metod
algebraicznych z wykorzystaniem oprogramowania do obliczeń symbolicznych.

Program wykładu

  1. Arytmetyka modularna, grupy, podgrupy, rząd elementu.
  2. Pierścienie wielomianów i pierścień ilorazowy wielomianów.
  3. Przestrzenie liniowe, liniowa niezależność, baza, podprzestrzenie.
  4. Przekształcenia liniowe, macierze i wyznaczniki.
  5. Układy równań liniowych.
  6. Iloczyn skalarny, ortogonalność.
  7. Transformaty.

2.2.3. Programowanie

Cel zajęć i wskazówki metodyczne

Celem wykładu jest zapoznanie studentów z problematyką tworzenia oprogramowania, ze szczególnym uwzględnieniem struktury języków programowania, kompilacji programów i zaawansowanych konstrukcji językowych wspierających tworzenie programów. Zasadniczo jako języka programowania ilustrującego omawiane zagadnienia używa się C++. Dlatego zakłada się, że studenci posiedli umiejętność programowania w języku
ANSI C na poziomie podstawowym. Konstrukcje języka C++ nie występujące w języku C są omawiane na wykładzie. Niektóre mechanizmy, nie występujące w języku C++ lub trudne do opisania w tym języku omawia się na przykładzie języków Ada 95 (modularyzacja programów, programowanie współbieżne), Standard ML (programowanie funkcjonalne) i Prolog (programowanie logiczne). Zakłada się, że po zakończeniu zajęć studenci będą posiadać elementarną zdolność programowania w tych trzech językach. W porównaniu z przedmiotem o tej samej nazwie wykładanym na studiach magisterskich, większy nacisk jest położony na praktyczną stronę omawianych zagadnień, natomiast problemy matematycznej teorii języków programowania są ograniczone do niezbędnego minimum.

Egzamin z przedmiotu Programowanie sprawdza wiadomości z tego przedmiotu, a także z przedmiotów Wstęp do informatyki i ANSI C.

Program wykładu

  1. Składnia (6 godz.). Opis składni języków. Opis składni języka C. Notacja EBNF. Drzewa rozbioru. Automatyczna analiza składniowa. Konstruowanie parserów dla prostych języków (wyrażenia itp). Wyrażenia: operatory, priorytety, kierunki łączności. Odwrotna notacja polska. Algorytm przekładu wyrażeń na odwrotną notację polską z użyciem stosu. Automaty skończone i wyrażenia regularne. Wyszukiwanie wzorca w tekście z użyciem automatu skończonego.
  2. Programowanie niskopoziomowe (6 godz.). Język maszynowy, asembler i język wysokiego poziomu. Budowa kompilatorów: schematy przekładu instrukcji, generowanie kodu wynikowego.
  3. Konstruowanie oprogramowania metodą systematyczną (1 godz.). Projektowanie oprogramowania metodą wstępującą i zstępującą. Strukturalna, proceduralna i obiektowa technika programowania. Projektowanie, programowanie i kodowanie strukturalne.
  4. Programowanie imperatywne (4 godz.). Dane i typy danych. Przydział pamięci dla typów złożonych. Instrukcje sterujące. Diagramy przepływu. Wyjątki. Bloki i procedury. Przekazywanie parametrów. Zarządzanie pamięcią. Stos wywołań i pamięć dynamiczna. Rekursja, rekursja ogonowa.
  5. Specyfikacja i weryfikacja programów (4 godz.). Asercje. Reguły wnioskowania. Dowodzenie własności programów. Wyprowadzanie programów z niezmienników.
  6. Parametryzacja i modularyzacja programów (6 godz.). Polimorfizm. Wzorce w C++. Moduły i rozdzielna kompilacja. Pliki nagłówkowe w C++. Pakiety w Adzie. Abstrakcyjne i konkretne typy danych.
  7. Problemy inżynierii oprogramowania (4 godz.). Proces tworzenia oprogramowania. Specyfikacja problemu. Projektowanie rozwiązania: metoda wstępująca, zstępująca i mieszana. Strategie: „dziel i rządź”, „programowanie z nawrotami”, „metoda kolejnych ulepszeń”, algorytmy zachłanne. Implementacja: oprogramowanie przyjazne, prototypowanie, efektywność. Testowanie (przygotowywanie danych testowych). Pielęgnacja oprogramowania. Dokumentacja: dokumentacja wewnętrzna programisty). Dokumentacja zewnętrzna (podręcznik użytkownika).
  8. Programowanie obiektowe (6 godz.). Obiekty. Ukrywanie danych. Dziedziczenie. Obiekty w języku C++.
  9. Programowanie funkcjonalne (7 godz.). Podstawy programowania w języku Standard ML. Trwałe i ulotne struktury danych. Skutki uboczne. Przetwarzanie list. Algorytmy rekurencyjne.
  10. Programowanie współbieżne (8 godz.). Zadania w Adzie. Mechanizm spotkań. Problem pięciu filozofów.
  11. Programowanie logiczne (8 godz.). Podstawy programowania w języku Prolog.

Literatura

  1. Saud Alagić, Michael A. Arbib, Projektowanie programów poprawnych i dobrze zbudowanych, WNT, 1982.
  2. L. Banachowski, A. Kreczmar, Elementy analizy algorytmów, WNT, 1982 (wyd. 1), 1989 (wyd. 2).
  3. Edsger Wybe Dijkstra, Umiejętność programowania, WNT, 1978
    (wyd. 1), 1985 (wyd. 2).
  4. A. Nico Haberman, Dewayne E. Perry, Ada dla zaawansowanych, WNT, 1989.
  5. Henry F. Ledgard, Mała księga programowania obiektowego, WNT, 1998.
  6. Michael Marcotty, Henry F. Ledgard, W kręgu języków programowania, WNT, Warszawa 1991.
  7. Ian C. Pyle, Ada, WNT, 1986.
  8. Ravi Sethi, Programming Languages: concepts and constructs, Addison-Wesley, 1989 (wyd. 1), 1996 (wyd. 2).
  9. Bjarne Stroustrup, Język C++, WNT, 1994.
  10. Dennie Van Tassel, Praktyka programowania, WNT, 1982.
  11. Niklaus Wirth, Algorytmy + struktury danych = programy, WNT, 1989 (wyd. 2), 1980 (wyd. 1).
  12. Niklaus Wirth, Wstęp do programowania systematycznego, WNT, 1987 (wyd. 2), 1978 (wyd. 1).

2.2.4. Matematyka dyskretna

Cel zajęć i wskazówki metodyczne

Zapoznanie studentów z podstawowymi technikami matematyki dyskretnej, w tym rachunku prawdopodobieństwa i statystyki.

Program wykładu

  1. Pojęcie algorytmu.
  2. Asymptotyka funkcji liczbowych w zastosowaniu do szacowania złożoności algorytmów, rozwiązywanie równań rekurencyjnych.
  3. Grafy, grafy dwudzielne, grafy skierowane, ścieżki i spójność, drzewa rozpinające, metody przeszukiwania grafów, przechodnie domknięcie.
  4. Dyskretne przestrzenie prawdopodobieństwa, zmienne losowe, wartość oczekiwana, prawdopodobieństwo warunkowe, niezależność, wariancja,
    nierówności Markowa i Czebyszewa, schemat Poissona, granice Chernoffa, pojęcie rozkładu normalnego jako aproksymacji dla procesu Bernoulliego, elementy statystyki.

2.2.5. Algorytmy i struktury danych

Cel zajęć i wskazówki metodyczne

Zapoznanie studentów z podstawowymi technikami konstrukcji algorytmów.

Program wykładu

  1. Metody zachłanne, strategia „dziel i rządź”, programowanie dynamiczne.
  2. Podstawowe struktury danych: drzewa, tablice hashujące.
  3. Programowanie liniowe.
  4. Heurystyki: relaksacje, branch and bound, algorytmy genetyczne, algorytmy randomizacyjne.

2.2.6. Metody numeryczne

Program wykładu

Elementy teorii błędów w analizie numerycznej

  1. Numeryczna reprezentacja liczb. Arytmetyka zmiennopozycyjna. Przykłady

    „poprawnych” i „niepoprawnych” algorytmów obliczeniowych.

  2. Rozwiązywanie równań nieliniowych.
  3. Metody: bisekcji, Newtona i stycznych. Wyznaczanie zer wielomianów. Przykłady. Zastosowania.

Przybliżanie funkcji

  1. Istnienie wielomianu interpolacyjnego. Wzór interpolacyjny Lagrange'a. Ilorazy różnicowe. Postać Newtona wielomianu interpolacyjnego. Reszta wzoru interpolacyjnego. Przykłady.
  2. Metoda najmniejszych kwadratów. Układy ortogonalne. Wygładzanie danych. Zastosowania.

Całkowanie numeryczne

  1. Złożony wzór trapezów. Algorytm Romberga. Wielomiany Legendre'a. Kwadratura Gaussa-Legendre'a. Przykłady. Zastosowania.
  2. Rozwiązywanie układów równań liniowych.
  3. Uwarunkowanie zadania. Eliminacja Gaussa. Rozkład trójkątny macierzy. Błędy zaokrągleń w eliminacji Gaussa. Metody iteracyjne. Liniowe zadanie najmniejszych kwadratów. Przykłady. Zastosowania.

2.3. Sylwetka absolwenta studiów licencjackich

Oferta dydaktyczna studiów licencjackich pozwala na wykształcenie absolwentów przygotowanych do zawodów:

  • administratora systemów i sieci komputerowych,
  • administratora i zarządcy baz danych,
  • programisty,
  • nauczyciela informatyki.

Pomocą studentom w wyborze przedmiotów, które pozwolą uzyskać
wykształcenie w wybranych specjalnościach, służą opiekunowie lat i wszyscy inni pracownicy dydaktyczni Instytutu Informatyki.

2.4. Przechodzenie pomiędzy tokiem magisterskim
i licencjackim

Studenci studiów licencjackich pragnący ukończyć studia magisterskie i uzyskać tytuł magistra informatyki mają następujące możliwości realizacji tego celu:

  • Po ukończeniu studiów licencjackich jest możliwe kontynuowanie nauki na uzupełniających studiach magisterskich.
  • Studenci studiów licencjackich mogą także starać się o przeniesienie na studia magisterskie w trakcie studiów licencjackich. Przeniesienie takie jest możliwe, o ile student studiów licencjackich, korzystając z przysługującego mu prawa wyboru przedmiotów z całej oferty dydaktycznej Instytutu Informatyki, będzie realizował program studiów magisterskich i po zaliczeniu pewnego semestru studiów licencjackich wykaże, że spełnił również warunki zaliczenia tego samego semestru studiów magisterskich.

Student studiów magisterskich może być, na swój wniosek, przeniesiony na studia licencjackie, jeśli:

  • był ostatnio wpisany na semestr wyższy niż pierwszy i spełnił wymogi dla warunkowego zaliczenia tego semestru studiów licencjackich;
  • był ostatnio wpisany na semestr pierwszy i spełnił wymogi dla zaliczenia pierwszego semestru studiów licencjackich.

Adres:
Instytut Informatyki
Uniwersytetu Wroclawskiego
ul. Joliot-Curie 15
50-383 Wroclaw
Sekretariat
tel.: 71 375 7800
tel.: 71 325 1271
fax: 71 375 7801
sekretariat@ii.uni.wroc.pl
Dziekanat
tel.: 71 375 7892
dziekan@ii.uni.wroc.pl
sprawy studenckie:
dziekanat@ii.uni.wroc.pl
Portiernia
tel.: 71 375 7958
Redaktor strony WWW
redaktor@ii.uni.wroc.pl
Projekt
MAKOS