Programowanie II
Informacje ogólne
Kod przedmiotu: | 1100-3INZ27 |
Kod Erasmus / ISCED: | (brak danych) / (brak danych) |
Nazwa przedmiotu: | Programowanie II |
Jednostka: | Wydział Fizyki |
Grupy: |
Nanoinżynieria; przedmioty dla III roku |
Punkty ECTS i inne: |
4.00
|
Język prowadzenia: | polski |
Kierunek podstawowy MISMaP: | chemia |
Założenia (opisowo): | Zakłada się, że uczestnicy zajęć posiadają podstawowe umiejętności programowania w języku Python; znają składnię tego języka i umieją napisać prosty program tworząc własne funkcje oraz wykorzystując popularne biblioteki. |
Tryb prowadzenia: | mieszany: w sali i zdalnie |
Skrócony opis: |
Celem zajęć jest doskonalenie umiejętności programowania. Studenci zapoznają się z podstawami programowania obiektowego, a także z technicznymi aspektami programowania: systemem kontroli wersji (git), tworzeniem dokumentacji, testami jednostkowymi. Po uzgodnieniu z prowadzącym możliwe jest realizowanie zajęć w innym języku programowania: Rust, C++ lub Java |
Pełny opis: |
Programowanie obiektowe 1) Zawansowane konstrukcje z języka Python: dekoratory, argumenty nazwane 2) Podstawy programowania obiektowego: definicja klasy i jej składowych 3,4) Programowanie obiektowe: dziedziczenie klas; budowanie zależności między klasami. Enkapsulacja i polimorfizm. Klasy abstrakcyjne i interfejsy 5) Reguły SOLID 6) Wzorzec projektowy Dekorator 7) Wzorzec projektowy Strategia Dobre praktyki programistyczne 8) Wersjonowanie kodu programem git: scalanie zmian, tworzenie gałęzi, pull request itp. 9) Organizacja kodu w moduły i pakiety, tworzenie dokumentacji 10) Tworzenie testów jednostkowych (pytest, unitest), narzędzia wspierające jakość kodu (np. pylint, black). Praca z dużymi projektami 11) Popularne biblioteki w Pythonie (np. pandas, matplotlib, requests, pytorch). 12) Wprowadzenie do frameworków (np. Flask) 13) Omówienie projektów zaliczeniowych |
Literatura: |
Mark Lutz. "Python. Kurs dla nauczycieli i studentów" Steven F. Lott, Dusty Phillips. "Programowanie zorientowane obiektowo w Pythonie. Tworzenie solidnych i łatwych w utrzymaniu aplikacji i bibliotek" |
Efekty uczenia się: |
Student rozumie: 1) Podstawy programowania obiektowego, w tym koncepcje takie jak klasy, obiekty, dziedziczenie, polimorfizm i enkapsulacja. 2) Znaczenie dobrych praktyk programistycznych, takich jak przestrzeganie konwencji PEP 8, pisanie czytelnego kodu oraz dokumentowanie projektów. 3) Zasady projektowania obiektowego, w tym reguły SOLID i zastosowanie wzorców projektowych takich jak Dekorator i Strategia. 4) Znaczenie testowania oprogramowania i jego wpływ na jakość oraz niezawodność kodu. 5) Różnicę między bibliotekami a frameworkami oraz ich zastosowanie w rozwijaniu aplikacji. Student umie: 1) Tworzyć klasy i obiekty w Pythonie, definiując ich atrybuty i metody oraz budując relacje między klasami. 2) Zastosować wzorce projektowe (np. Dekorator, Strategia) w praktycznych projektach programistycznych. 3) Przeprowadzić wersjonowanie kodu przy użyciu systemu kontroli wersji Git, w tym zarządzać gałęziami, łączyć zmiany i wykonywać pull requesty. 4) Tworzyć testy jednostkowe przy użyciu bibliotek takich jak pytest lub unittest oraz analizować wyniki testów. 5) Zorganizować duży projekt programistyczny, korzystając z bibliotek (np. pandas, matplotlib) lub frameworków (np. Flask) oraz odpowiednio dokumentować i testować kod. |
Metody i kryteria oceniania: |
Aby zaliczyć przedmiot, należy: 1) mieć minimum 2/3 obecności na zajęciach (przy założeniu, że odbędzie się 15 zajęć w semestrze, dopuszcza się co najwyżej 5 nieobecności na zajęciach) 2) przesłać rozwiązania zadań realizowanych na ćwiczeniach w terminie do 2 tygodni od zakończenia 3) oddać projekt zaliczeniowy 4) Zdać egzamin pisemny Ocena końcowa jest wypadkową oceny z ćwiczeń (stanowiących 2/3 punktów; przyznanych za rozwiązania zadań + projekt) oraz oceny z egzaminu (1/3 punktów) |
Zajęcia w cyklu "Semestr letni 2024/25" (zakończony)
Okres: | 2025-02-17 - 2025-06-08 |
Przejdź do planu
PN WT ŚR WYK
LAB
CZ PT |
Typ zajęć: |
Laboratorium, 45 godzin
Wykład, 15 godzin
|
|
Koordynatorzy: | Dominik Gront | |
Prowadzący grup: | (brak danych) | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: | Zaliczenie na ocenę |
Właścicielem praw autorskich jest Uniwersytet Warszawski, Wydział Fizyki.