Uniwersytet im. Adama Mickiewicza w Poznaniu - Centralny System Uwierzytelniania
Strona główna

Podstawy programowania

Informacje ogólne

Kod przedmiotu: 09-PP-12
Kod Erasmus / ISCED: 11.3 Kod klasyfikacyjny przedmiotu składa się z trzech do pięciu cyfr, przy czym trzy pierwsze oznaczają klasyfikację dziedziny wg. Listy kodów dziedzin obowiązującej w programie Socrates/Erasmus, czwarta (dotąd na ogół 0) – ewentualne uszczegółowienie informacji o dyscyplinie, piąta – stopień zaawansowania przedmiotu ustalony na podstawie roku studiów, dla którego przedmiot jest przeznaczony. / (0612) Projektowanie i administrowanie baz danych i sieci Kod ISCED - Międzynarodowa Standardowa Klasyfikacja Kształcenia (International Standard Classification of Education) została opracowana przez UNESCO.
Nazwa przedmiotu: Podstawy programowania
Jednostka: Katedra Metodologii Lingwistyki
Grupy: Moodle - przedmioty Szkoły Nauk o Języku i Literaturze
Punkty ECTS i inne: 0 LUB 3.00 (w zależności od programu) Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.

zobacz reguły punktacji
Język prowadzenia: język polski
Rodzaj przedmiotu:

obowiązkowe

Kierunek studiów:

Językoznawstwo i Nauka o Informacji

Poziom przedmiotu:

I stopień

Cele kształcenia:

Celem zajęć jest zapoznanie studentów z różnymi strukturami danych, metodami konstrukcji algorytmów, metodami analizy ich kosztów oraz analizy poprawności. Wskazane zostaną praktyczne możliwości wykorzystania wiedzy programistycznej w pracy językoznawcy, a przede wszystkim wskazanie możliwości dla dalszego kształcenia się w tej dziedzinie i świadomego, kreatywnego korzystania z narzędzi programistycznych. Kurs ma na celu zapoznanie studentów z podstawami tworzenia programów komputerowych i paradygmatami programowania na przykładzie kilku języków programowania niższego i wyższego poziomu. Studenci uczą się jak tworzyć i modyfikować i używać programy komputerowe, które będą mogli wykorzystać w swoich badaniach językoznawczych na danych tekstowych, liczbowych i dźwiękowych.

Rok studiów (jeśli obowiązuje):

I rok

Skrócony opis:

Kurs obejmuje zagadnienia z zakresu podstaw programowania, algorytmów i użycia oprogramowania dla programistów. Studenci poznają metody tworzenia, modyfikacji i użycia programów komputerowych.

Pełny opis:

Treści kształcenia:

Algorytmika:

1. Wprowadzenie do algorytmiki i struktur danych. Zadania algorytmiczne i niealgorytmiczne. Sposób zapisu algorytmów. Metody reprezentowania informacji. Znajdowanie algorytmu, graniczenia algorytmów.

2. Podstawowe paradygmaty programowania. Języki wyższego i niższego poziomu. Narzędzi programistyczne.

3. Struktury sterujące służące do budowy algorytmu. Iteracja, następstwo. Warunek. Procedury w algorytmach.

4. Struktury danych. Abstrakcyjne typy danych. Tablice, zbiory, listy, stosy, kolejki drzewa.

5. Typ rekordowy, tablice. Podstawowe operacje.

6. Typ wskaźnikowy, przydział pamięci.

7. Lista, stos, kolejka – podstawowe operacje.

8. Drzewa binarne i grafy.

9. Struktury plikowe. Pliki tekstowe, indeksowanie, Szyfrowanie

10. Selekcja i wyszukiwanie – algorytmy słownikowe, hashowanie.

11. Rekurencja, i iteracja zmiana na algorytm iteracyjny.

12. Wyszukiwanie na listach i drzewach.

13. Algorytmy sortowania w tablicach i na listach.

14. Graf zorientowany, drzewo – algorytmy przeszukiwania.

15. Poprawność algorytmu. Błędy przy konstrukcji i zapisie algorytmu. Złożoność obliczeniowa.

16. Maszyny Turinga. Automaty skończone.

Inne realizowane treści:

- wyrażenia regularne

- analiza istniejących programów w celu zilustrowania zagadnień programistycznych

- wykorzystanie zdobytej wiedzy do modyfikacji istniejących programów

- wykorzystanie zdobytej wiedzy do tworzenia własnych programów

- analiza i przetwarzanie korpusów językowych za pomocą programów skryptowych (tokenizacja, lista wyrazowa, normalizacja tekstu, kolokacje i bigramy, konkordans,statystyki, dysambiguacja znaczenia wyrazów, tłumaczenie automatyczne)

- prezentacja i porównanie języków: Basic UNIX shell scripting, Perl, Python, Ruby, Delphi, Praat

Literatura:

Podstawowa:

Wirth N. 2002. Algorytmy + struktury danych = programy, WNT, Warszawa.

Wróblewski P. 1996. Algorytmy, struktury danych i techniki programowania, Helion, Gliwice.

Harel D. 2000. Rzecz o istocie informatyki, WNT, Warszawa.

Python – Dokumentacja. http://www.python.org/doc/

Church, K.W. UnixTM for Poets.

Bird, S., Klein, E. Loper, E. 2009. Natural Language Processing with Python – Analyzing Text with the Natural Language Toolkit. O'Reilly Media, <http://www.nltk.org/book>

Jurafsky, Daniel, and James H. Martin. 2009. Speech and Language Processing: An Introduction to Natural Language Processing, Speech Recognition, and Computational Linguistics. 2nd edition. Prentice-Hall.

Ruslan, M. (Ed.) 2002The Oxford Handbook of Computational Linguistics. Oxford University Press

Dodatkowa:

Boduch, A.. 2002. Delphi 6. Ćwiczenia praktyczne. Helion.

Schwartz, R.L, Olson, E., Christiansen, T. 1997. Learning Perl on Win32 Systems. O'Reilly

Friedl, J. 2001. Wyrażenia regularne. Helion. O'Reilly

Efekty uczenia się:

Po zakończeniu modułu (przedmiotu) i potwierdzeniu osiągnięcia efektów kształcenia student:

- zna podstawowe tematy, pojęcia i zagadnienia dotyczące badań językoznawczych z obszaru informatyki/algorytmiki

- zna treść, formę i funkcję podstawowej terminologii z zakresu językoznawstwa komputerowego i informatyki/algorytmiki

- ma uporządkowaną wiedzę ogólną na temat językoznawstwa komputerowego i informatyki/algorytmiki

- ma co najmniej elementarną wiedzę o powiązaniach nauk filologicznych z informatyką/programowaniem

- zna podstawowe metody badawcze i interpretacyjne mające zastosowanie do języków programowania i technologii mowy

- umie samodzielnie zdobywać wiedzę z wykorzystaniem słowników, leksykonów oraz innych tradycyjnych i multimedialnych źródeł informacji, aby rozwiązać problem programistyczny

- potrafi wyszukiwać, analizować, oceniać i selekcjonować informacje z różnych źródeł

- potrafi właściwie korzystać ze zdobytej wiedzy przedmiotowej w celu formułowania i analizy problemów badawczych oraz w celu uzasadniania swoich wyborów

- potrafi samodzielnie napisać proste programy w języku skryptowym

Metody i kryteria oceniania:

Warunkiem zaliczenia przedmiotu jest zaliczenie 2 testów praktycznych przy komputerze (tj. napisanie 3 prostych programów w języku skryptowym) pod koniec semestru oraz zaliczenie pisemnego egzaminu końcowego, możliwe 2 nieusprawiedliwione nieobecności w semestrze; końcowa ocena na podstawie wyniku egzaminu pisemnego (<61% - ndst, 61-70% dst, 71-75% dst+, 76-85% db, 86-90% db+, 91%< bdb)

Zajęcia w cyklu "Semestr zimowy 2020/2021" (zakończony)

Okres: 2020-10-01 - 2021-02-28
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Konwersatorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: (brak danych)
Prowadzący grup: Jolanta Bachan, Grażyna Demenko
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie
Konwersatorium - Zaliczenie
Wykład - Zaliczenie

Zajęcia w cyklu "Semestr zimowy 2021/2022" (zakończony)

Okres: 2021-10-01 - 2022-02-23
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Konwersatorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: (brak danych)
Prowadzący grup: (brak danych)
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie
Konwersatorium - Zaliczenie
Wykład - Zaliczenie

Zajęcia w cyklu "Semestr zimowy 2022/2023" (zakończony)

Okres: 2022-10-01 - 2023-02-26
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Konwersatorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: (brak danych)
Prowadzący grup: (brak danych)
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie
Konwersatorium - Zaliczenie
Wykład - Zaliczenie
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet im. Adama Mickiewicza w Poznaniu.
ul. Wieniawskiego 1
61-712 Poznań
tel: +48 61 829 4000
kontakt deklaracja dostępności USOSweb 7.0.3.0 (2024-03-22)