Syllabus 2012/2013 Podstawy programowania
Transkrypt
Syllabus 2012/2013 Podstawy programowania
Syllabus 2012/2013 Podstawy programowania - konwersatorium dr Jolanta Bachan 2012-10-10 Wydział: Wydział Neofilologii Program: filologia Specjalność: językoznawstwo i nauka o informacji Rok studiów: I Semestr: zimowy i letni 1. Cel kursu Kurs ma na celu zapoznanie studentów z podstawami tworzenia programów komputerowych, zarówno w języku skryptowym jak i języku obiektowym. Studenci uczą się jak tworzyć programy, które będą mogli wykorzystać w swoich badaniach językoznawczych na danych tekstowych, liczbowych i dźwiękowych. Na zajęciach studenci zapoznają się z językiem Delphi i w nim tworzą własne aplikacje. 2. Plan zajęć Zajęcia mają charakter czysto praktyczny: studenci wprowadzani są w kolejne zagadnienia związane z programowaniem poprzez prezentowanie krótkiego materiału teoretyczny połączonego z fragmentem kodu źródłowego programu. Zadaniem studentów jest odtworzenie prezentowanych programów oraz stworzenie własnych aplikacji, w których wykorzystują nowo poznane funkcje języka. Studenci pracują przy komputerach w środowisku Windows. 3. Tematy zajęć 1. Algorytmy i schematy blokowe. 2. Składnia języka Delphi. Tworzenie pierwszych aplikacji konsolowych w języku skryptowym oraz prezentacja środowiska obiektowego Delphi. 3. Typy danych – wprowadzenie. Literały liczbowe, łańcuchowe, logiczne, wyliczeniowe, zbiorowe. Przypisywanie danych do zmiennych. 4. Typy danych liczbowych • Literały zmiennoprzecinkowe i literały całkowitoliczbowe • Operatory liczbowe (+, -, *, /, div, mod) • Funkcje i procedury liczbowe (max, min, mean, sqr, sqrt) • Konwersja typów danych (StrToInt, StrToFloat, IntToStr, FloatToStr) • Formatowanie danych zmiennoprzecinkowych (FormatFloat, c:2:2) • Randomize, Random, RandomRange oraz moduł Math 5. Typy danych tekstowych • Znaki ASCII i ANSI oraz funkcje Ord i Chr • Łańcuchy znaków • Operatory łańcuchowe (+, =, <, <=, >, >=, <>) • Funkcje i procedury Copy, Insert, Delete, StringOfChar i Length, StringReplace, WrapText, Concat, StuffString, Move, UpperCase Jolanta Bachan 1/3 Syllabus 2012/2013: Podstawy programowania 6. Struktury sterujące • Pętle FOR, WHILE, REPEAT ... UNTIL • Instrukcje warunkowe IF ... THEN – ELSE IF ... THEN – ELSE • CASE OF • Operatory logiczne AND – OR – XOR – NOT 7. Wyliczenia, przedziały i zbiory • IF x IN set • Funkcje Include i Exclude 8. Tablice • Tablice statyczne i dynamiczne, tablice jedno- i wielowymiarowe • Procedura SetLength oraz funkcja Chop • Kopiowanie tablic 9. Operacje wejścia-wyjścia • Pobieranie danych ze standardowego wejścia ReadLn oraz drukowanie danych za pomocą Write i WriteLn • Tworzenie, otwieranie i dopisywanie do pliku. Polecenia Assign, Rewrite, Reset, Append oraz Close. • Pętle WHILE NOT Eof (End of File) & Eoln (End of Line) • Dostęp do pliku – tylko do odczytu, tylko do zapisu, dostęp do odczytu jak i zapisu, zmienna FileMode • Funkcja GetCurrentDir 10. Typ TstringList • Moduł Classes • LoadFromFile i SaveToFile • Create, Free, Clear • Count • CommaText, DelimitedText, QuoteChar, Delimiter • Names, Values, ValueFromIndex • Sort 11. Rekordy • Definiowanie typu rekordowego • Pakowanie rekordów – packed record • Wypełnianie pól rekordowych 12. Sortowanie danych • Sortowanie przez wybieranie • Sortowanie przez wstawianie • Sortowanie bąbelkowe • Sortowanie szybkie (QuickSort) • Metoda Dziel i Zwyciężaj • Sortowanie przez scalanie • Sortowanie kubełkowe • Sortowanie przez kopcowanie 13. Pojęcia: stos, kolejka, sterta, LIFO, FIFO. 14. Programowanie obiektowe Jolanta Bachan 2/3 Syllabus 2012/2013: Podstawy programowania Obiekty – ich właściwości i zdarzenia • Formularz: Form • Komponenty standardowe: Label, Edit, Button, RadioButton, CheckBox, Memo, ListBox, ScrollBar • Komponenty dodatkowe: StringGrid, Image • Komponenty systemowe: Timer, MediaPlayer • Komponenty dialogowe: OpenDialog, SaveDialog, ColorDialog • Okna dialogowe: ShowMessage, MessageBox i InputBox • Application.MessageBox: przyciski OK, YES-NO i CANCEL oraz ikonki Information, Question, Warning oraz Error. 15. Kilka formularzy w jednym projekcie • Application.Initialize → CreateForm → Run 16. Klasy • Tworzenie własnych klas • Konstruktory i destruktory • Dziedziczenie klas • Sekcje klasy (private, public, protected, published) 17. Wyrażenia regularne 18. Prezentacja istniejących narzędzi do pracy z danymi tekstowymi i zapoznanie studenta z takimi zagadnieniami jak: tokenizacja, lista wyrazowa, normalizacja tekstu, kolokacje i bigramy, konkordans,statystyki, dysambiguacja znaczenia wyrazów, tłumaczenie automatyczne 19. Tworzenie programów własnych studentów • 4. Forma zaliczenia Aktywne uczestnictwo w zajęciach. Odrabianie zadań domowych. Napisanie samodzielnie prostych programów w Delphi w klasie na zaliczenie. 5. Bibliografia Bachan, Jolanta. Basics of Programming: Delphi – strona internetowa zajęć. <http://www.bachan.speechlabs.pl/en/teaching/win2012_2013/programming >, 2012-10-10. Bird, S., Klein, E. Loper, E. 2009. Natural Language Processing with Python – Analyzing Text with the Natural Language Toolkit. O'Reilly Media, <https://sites.google.com/site/naturallanguagetoolkit/book >, 2012-10-10. Boduch, Adam. 2002. Delphi 6. Ćwiczenia praktyczne. Helion. Delphi Basics. <http://www.delphibasics.co.uk/ >, 2012-10-10. Jassem, Krzysztof. 2012. PSI-Toolkit. Narzędzia do automatycznego przetwarzania języka polskiego udostępnione publicznie. <http://psi-toolkit.wmi.amu.edu.pl/about.html >, 2012-1010. Korepetytor Delphi. Kwasowiec, Włodzimierz. 2008. Sztuka programowania w Pascalu od podstaw. Translator Sterna, Wojciech. 2004. Delphi od podstaw. Mikom. Jolanta Bachan 3/3 Syllabus 2012/2013: Podstawy programowania