SylabUZ

Wygeneruj PDF dla tej strony

Computer Programming 2 - opis przedmiotu

Informacje ogólne
Nazwa przedmiotu Computer Programming 2
Kod przedmiotu 11.3-WK-CSEEP-CP2-S22
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 2022/2023
Informacje o przedmiocie
Semestr 2
Liczba punktów ECTS do zdobycia 5
Typ przedmiotu obowiązkowy
Język nauczania angielski
Sylabus opracował
  • dr inż. Paweł Wolański
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
Laboratorium 30 2 - - Zaliczenie na ocenę
Wykład 30 2 - - Egzamin

Cel przedmiotu

Mastering the ability to write Python programs using complex data structures. Ability to implement sorting, selection and search algorithms in programs. Basic knowledge of the NP-complete problem (classes P, NP, NP-complete). To familiarize the student with the basic concepts of object-oriented programming.

Wymagania wstępne

Computer programming 1.

Zakres tematyczny

Lecture

  1. Python programming. Defining your own classes. Objects and references to objects. Constructors. Hermetization.. Object arrays. Reading and writing to text files.
  2. Methods for constructing effective algorithms. Recursion, divide and conquer 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-making and optimization problems. Classes of computational complexity of decision-making problems: P, NP, NP-complete.

Lab

  1. Defining your own classes.
  2. Creating and operating 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 a computer lab - writing and running self-written programs in Python, on topics given by the instructor, analysis of these programs and analysis of the algorithms used. Students will work on some programs in groups of 2-3 people. In the last three laboratories, each student works on an independently designed application that is a simple database containing all the skills acquired during classes. The application must be accompanied by documentation consistent with 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. An exam verifying the effects of education in the field of knowledge and skills. The exam consists of two parts, written and oral. The condition for taking part in the oral part is to obtain 30% of the points in the written part. Obtaining 50% of the points in the written part guarantees a positive grade.

Lab. The final grade is based on the points obtained during the classes. Points are obtained for tests written during classes, applications presented during the last classes, and activity during classes.

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

Literatura podstawowa

  1. Python Crash Course, Eric Matthes, No Starch Press,US, 2023
  2. Fluent Python: Clear, Concise, and Effective Programming, Luciano Ramalho, O'Reilly, 2022
  3. Head-First Python (2nd Edition), Paul Barry, O'Reilly Media, 2016
  4. Learning Python (5th Edition), Mark Lutz, O'Reilly Media, 2013

Literatura uzupełniająca

  1. http://pl.python.org
  2. https://docs.python.org/3/

Uwagi


Zmodyfikowane przez dr Ewa Synówka (ostatnia modyfikacja: 14-01-2024 19:34)