SylabUZ

Wygeneruj PDF dla tej strony

Programowanie komputerów 2 - opis przedmiotu

Informacje ogólne
Nazwa przedmiotu Programowanie komputerów 2
Kod przedmiotu 11.3-WK-IiEP-PK2-W-S14_pNadGen3JVWA
Wydział Wydział Matematyki, Informatyki i Ekonometrii
Kierunek Computer science and econometrics
Profil ogólnoakademicki
Rodzaj studiów pierwszego stopnia z tyt. licencjata
Semestr rozpoczęcia semestr zimowy 2019/2020
Informacje o przedmiocie
Semestr 2
Liczba punktów ECTS do zdobycia 5
Typ przedmiotu obowiązkowy
Język nauczania polski
Sylabus opracował
  • dr Katarzyna Jesse-Józefczyk
  • dr Florian Fabiś
Formy zajęć
Forma zajęć Liczba godzin w semestrze (stacjonarne) Liczba godzin w tygodniu (stacjonarne) Liczba godzin w semestrze (niestacjonarne) Liczba godzin w tygodniu (niestacjonarne) Forma zaliczenia
Wykład 30 2 - - Egzamin
Laboratorium 30 2 - - Zaliczenie na ocenę

Cel przedmiotu

Gaining the skill of writing programs using complex data structures. Gaining ability to implement sorting, selection and search algorithms in programs. Basic knowledge of the NP-completeness problem (classes P, NP, NP-complete). To acquaint the student with the basic concepts of object-oriented programming.

Wymagania wstępne

Computer programming 1.

Zakres tematyczny

LECTURE

1. Programming in Java. Defining your own classes. Objects and references to objects. Constructors. Hermetization. Arrays of objects. Reading and writing to text files.

2. Methods for constructing effective algorithms. Recursion, the "divide and win" method, greedy algorithms.

3. Basic search algorithms. Linear, binary, interpolation search.

4. Basic sorting and selection algorithms.

5. Classes of computational complexity of problems. Decision and optimization problems. Classes of computational complexity of decision problems: P, NP, NP-complete.

LABORATORY

1. Defining your own classes.

2. Creating and manipulating on arrays of objects.

3. Reading and writing to text files.

4. Dynamic data structures (stacks, queues, lists).

5. Writing a program that is a simple database.

Metody kształcenia

Lecture: problem lecture.

Laboratory: laboratory exercises in the computer lab - writing and launching self-written Java programs on the topics asked by the teacher, analysis of these programs and analysis of the algorithms used. On some programs students will work in groups of 2-3 people. During the last three exercises, each student works on a self-designed application that is a simple database containing all the skills acquired in class. A student must also prepare a documentation of the application accordingly to the given specification.

Efekty uczenia się i metody weryfikacji osiągania efektów uczenia się

Opis efektu Symbole efektów Metody weryfikacji Forma zajęć

Warunki zaliczenia

Lecture. Examination of learning outcomes in terms of knowledge and skills. The exam consists of two parts, written and oral. The condition of joining the oral part is obtaining 30% of points from the written part. Obtaining 50% of the points from the written part guarantees a positive assessment.

Laboratory. The final grade is issued on the basis of points obtained in class. Points are obtained for tests written during classes and activity during classes.

 Final course grade. The final grade consists of the laboratory grade (50%) and exam grade (50%). The condition of taking the exam is a positive grade from the laboratory. The condition of passing the subject is a positive grade from the exam.

Literatura podstawowa

1.     J. Cutajar, Beginning Java Data Structures and Algorithms, Packt Pub, 2018.

2.     T. Gaddis, Starting Out with Java: From Control Structures through Objects (7th Edition)., Pearson, 2019

 

Literatura uzupełniająca

1.      T.H. Cormen, Ch.E. Leiserson, R.L. Rivest: Wprowadzenie do algorytmów, WNT, 1997.

2.      P. Wróblewski: Algorytmy, struktury danych i techniki programowania, wyd. II popr., Helion, 2001.

 

Uwagi


Zmodyfikowane przez dr Alina Szelecka (ostatnia modyfikacja: 21-11-2020 06:10)