Wykład 1. Projektowanie efektywnych algorytmów przetwarzania danych w sieciowych systemach usług, rzeczy i multimediów.

Podobne dokumenty
Programowanie obiektowe - 1.

Podstawy Programowania Obiektowego

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska

hierarchie klas i wielodziedziczenie

Modelowanie i Programowanie Obiektowe

Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.

Programowanie w Javie nazwa przedmiotu SYLABUS A. Informacje ogólne

Programowanie obiektowe W1 Wprowadzenie. Dr hab. inż. Lucyna Leniowska, prof. UR Zakład Mechatroniki, Automatyki i Optoelektroniki

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++

Technologie i usługi internetowe cz. 2

Technologie obiektowe

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

K_W04 K_W04 K_W04. Opis

Definiowanie własnych klas

Elektrotechnika I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES)

Metodyki i techniki programowania

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Podstawy programowania. Wprowadzenie

Wykład 9: Polimorfizm i klasy wirtualne

Programowanie obiektowe 2 - opis przedmiotu

Programowanie obiektowe

Każdy z nich posiada swoje parametry. W przypadku silnika może to być moc lub pojemność, w przypadku skrzyni biegów można mówić o skrzyni

Programowanie obiektowe

Metodyki i techniki programowania

Rok akademicki: 2012/2013 Kod: EAR s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Podstawy programowania. Wykład PASCAL. Wstęp do programowania obiektowego. dr Artur Bartoszewski - Podstawy programowania, sem.

Wzorce projektowe. dr inż. Marcin Pietroo

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) stacjonarne (stacjonarne / niestacjonarne)

PRZEWODNIK PO PRZEDMIOCIE

Specjalnościowy Obowiązkowy Polski Semestr 5

E-1EZ1-03-s2. Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Programowanie obiektowe 1 - opis przedmiotu

KARTA KURSU. Programowanie obiektowe

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Przedmioty kierunkowe

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2012/2013

Java Język programowania

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Diagramy klas. dr Jarosław Skaruz

Historia modeli programowania

Krakowska Akademia im. Andrzeja Frycza Modrzewskiego. Karta przedmiotu. obowiązuje studentów, którzy rozpoczęli studia w roku akademickim 2012/2013

Język programowania. Andrzej Bobyk

Podstawy Języka Java

Języki i paradygmaty programowania Wykład 2. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18

Programowanie obiektowe

Materiały do zajęć VII

Programowanie obiektowe Wykład 1. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20

Języki programowania II - opis przedmiotu

Definiowanie własnych klas

Rok akademicki: 2012/2013 Kod: ZIE s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Dziedziczenie jednobazowe, poliformizm

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Programowanie II C16

Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny) niestacjonarne (stacjonarne / niestacjonarne)

Programowanie MorphX Ax

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

Zaawansowane programowanie obiektowe - wykład 5

2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne

Typy klasowe (klasy) 1. Programowanie obiektowe. 2. Założenia paradygmatu obiektowego:

Zagadnienia egzaminacyjne AUTOMATYKA I ROBOTYKA. Stacjonarne I-go stopnia TYP STUDIÓW STOPIEŃ STUDIÓW SPECJALNOŚĆ

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Podstawy Programowania Programowanie Obiektowe

SYLABUS/KARTA PRZEDMIOTU

Programowanie obiektowe

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 1

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32


E-2IZ1-03-s3. Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny)

Laboratorium nr 12. Temat: Struktury, klasy. Zakres laboratorium:

Wykład 1: Wprowadzenie

przedmiot specjalnościowy obowiązkowy polski semestr V semestr zimowy nie

Informatyka, I stopień. Programowanie (PRO300.2)

KARTA KURSU. Algorytmy, struktury danych i techniki programowania. Algorithms, Data Structures and Programming Techniques

Zaawansowane programowanie w języku C++ Klasy w C++

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Programowanie I C6

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA

Do czego służą klasy?

PRZEWODNIK PO PRZEDMIOCIE

Podstawy modelowania programów Kod przedmiotu

Informatyka I stopień ogólnoakademicki niestacjonarne Teleinformatyka Zakład Informatyki dr inż. Adam Krechowicz mgr inż.

Wstęp do programowania obiektowego. Wykład 2

Projekt przejściowy 2016/2017 BARTOSZ JABŁOŃSKI

PRZEWODNIK PO PRZEDMIOCIE

Wykład 0 Informacje Podstawowe

A. USYTUOWANIE MODUŁU W SYSTEMIE STUDIÓW

private - oznacza, że wszystkie elementy klasy bazowej zmieniają się w prywatne.

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

TEMAT : KLASY DZIEDZICZENIE

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

Projektowanie obiektowe. Roman Simiński Polimorfizm

Wykład 9: Metody wirtualne i polimorfizm

Projekt przejściowy 2015/2016 BARTOSZ JABŁOŃSKI, TOMASZ JANICZEK

Interfejsy i klasy wewnętrzne

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Programowanie II C10

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

Szablony funkcji i szablony klas

PRZEWODNIK PO PRZEDMIOCIE

Rok akademicki: 2015/2016 Kod: JIS s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Enkapsulacja, dziedziczenie, polimorfizm

Transkrypt:

Wykład 1. Projektowanie efektywnych algorytmów przetwarzania danych w sieciowych systemach usług, rzeczy i multimediów. Paweł Świątek

Agenda 1. Sprawy organizacyjne 2. Zasady zaliczenia 3. Cele kursu 4. Kilka słów o Laboratorium 5. Podstawy programowania

Sprawy organizacyjne Konsultacje s. 117, b. C-3 WT 9-11 SR 11-13 Materiały: www.ii.pwr.wroc.pl/~swiatek Kontakt: pawel.swiatek@pwr.edu.pl

Literatura C.H. Cormen, R. Rivest, Wprowadzenie do algorytmów, MIT Press (wydanie najnowsze) Kurs Pythona: https://www.codecademy.com/learn/learn-python

Zasady zaliczenia Ocena z wykładu będzie uwzględniać: Ocenę z laboratorium Ocena z laboratorium będzie uwzględniać: Oceny cząstkowe za cotygodniowe zadania Postępy Obecność

Cele kursu Rozwinięcie umiejętności programistycznych Formułowanie i rozwiązywanie problemów w szczególności optymalizacyjnych Poznanie podstaw działania sieciowych systemów usług rzeczy multimediów

Laboratorium -- zasady Obecność obowiązkowa Dozwolona jedna nieusprawiedliwiona nieobecność Kolejne mogą skutkować obniżeniem oceny (2 to też ocena) Do laboratorium wymagane jest przygotowanie W skrajnych przypadkach nieprzygotowanie traktowane będzie jako nieusprawiedliwiona nieobecność Nieistotna sugestia: korzystanie z własnego komputera

Narzędzia Język programowania: Python Wersja 3 vs 2 Środowisko: PyCharm Professional 2016.3 System operacyjny: Do pracy: dowolny Środowisko wykonawcze: GNU/Linux (dla świętego spokoju Ubuntu 16.04)

Podstawy programowania 1. Instalacja środowiska 2. Wprowadzenie do języka Python 3. Struktura kodu 4. Podstawowe konstrukcje 5. Programowanie obiektowe 6. Struktury danych

Instalacja środowiska Python dla Windows np.: https://www.python.org/downloads/release/python-279/ Uwaga: Entire feature will be installed on local hard drive Dodatkowe pakiety (z prawami administratora) W przypadku Windows najpierw: Kompilator C++ dla Python http://www.microsoft.com/en-us/download/details.aspx?id=44266 Potem: pip install <nazwa_pakietu> np. pip install pyxb PyCharm https://www.jetbrains.com/pycharm/download/

Wprowadzenie do języka Python Język wysokiego poziomu Obiektowy Z dynamicznym systemem typów Automatycznie zarządza pamięcią Wieloplatformowy Interpretowalny

Struktura kodu

Podstawowe konstrukcje

Programowanie obiektowe Abstrakcja Każdy obiekt w systemie służy jako model abstrakcyjnego "wykonawcy", który może wykonywać pracę, opisywać i zmieniać swój stan oraz komunikować się z innymi obiektami w systemie bez ujawniania, w jaki sposób zaimplementowano dane cechy. Procesy, funkcje lub metody mogą być również abstrahowane, a kiedy tak się dzieje, konieczne są rozmaite techniki rozszerzania abstrakcji.

Programowanie obiektowe Hermetyzacja Czyli ukrywanie implementacji, enkapsulacja. Zapewnia, że obiekt nie może zmieniać stanu wewnętrznego innych obiektów w nieoczekiwany sposób. Tylko własne metody obiektu są uprawnione do zmiany jego stanu. Każdy typ obiektu prezentuje innym obiektom swój interfejs, który określa dopuszczalne metody współpracy.

Programowanie obiektowe Polimorfizm Referencje i kolekcje obiektów mogą dotyczyć obiektów różnego typu, a wywołanie metody dla referencji spowoduje zachowanie odpowiednie dla pełnego typu obiektu wywoływanego. Jeśli dzieje się to w czasie działania programu, to nazywa się to późnym wiązaniem lub wiązaniem dynamicznym. Co to jest referencja?

Programowanie obiektowe Dziedziczenie Porządkuje i wspomaga polimorfizm i enkapsulację dzięki umożliwieniu definiowania i tworzenia specjalizowanych obiektów na podstawie bardziej ogólnych. Dla obiektów specjalizowanych nie trzeba redefiniować całej funkcjonalności, lecz tylko tę, której nie ma obiekt ogólniejszy. W typowym przypadku powstają grupy obiektów zwane klasami, oraz grupy klas zwane drzewami. Odzwierciedlają one wspólne cechy obiektów.

Programowanie obiektowe programowanie_obiektowe.py

Struktury danych Zmienne Listy Krotki Słowniki struktury_danych.py

Dziękuję za uwagę