Z pamiętnika młodego programisty 2017-03-28 10:39:37 Z pamiętnika młodego programisty IX Dolnośląski Festiwal Nauki 14-21 IX 2006
Gdzie jesteśmy? Politechnika Wrocławska Rektor Prof. dr hab. inż. Tadeusz Luty Gdzie jesteśmy? Wydział Elektroniki Dziekan Prof. dr hab. inż. Andrzej Kasprzak Instytut Informatyki, Automatyki i Robotyki Dyrektor Instytutu Prof. dr hab. inż. Czesław Smutnicki Kierunek Elektronika i Telekomunikacja Opiekun Kierunku Prof. dr hab. inż. Tadeusz Więckowski Zakład Sterowania i Optymalizacji Kierownik Zakładu Prof. dr hab. inż. Włodzimierz Greblicki Zastosowanie Komputerów w Technice EZI Opiekun Specjalności Prof. dr hab. inż. Włodzimierz Greblicki Doradca Dziekana ds. Toku Studiów Dr inż. Jerzy Kotowski
Koła Naukowe Studentów KNS EZI Opiekun: dr inż. Jerzy Kotowski Członkowie Koła: Błażej Józefiak, V rok EZI Radosław Kaczyński, V rok EZI KNS Horyzont Opiekunowie Koła: Prof. dr hab. inż. Czesław Smutnicki dr inż. Jerzy Kotowski Sławomir Kluczewski, V rok Informatyka, ISI Bartłomiej Stefanek, V rok, ISI (Inżynieria Systemów Informatycznych)
Charakterystyka specjalności Zastosowania Inżynierii Komputerowej w Technice - EZI Absolwenci specjalności EZI uzyskują szeroką wiedzę z zakresu wykorzystania metod i środków informatyki, w tym techniki mikroprocesorowej. Nabywają umiejętności Posługiwania się technikami informatycznymi w pracach inżynierskich, Tworzenia i wykorzystywania oprogramowania dla komputerów i systemów komputerowych, Wykorzystywania technik komputerowych dla analizy, projektowania, sterowania, optymalizacji i symulacji systemów (produkcji, sterowania, zarządzania), Projektowania i eksploatacji urządzeń wykorzystujących technikę mikroprocesorową.
Program kształcenia obejmuje analizę inżynierską, w tym Charakterystyka specjalności Zastosowania Inżynierii Komputerowej w Technice – EZI c.d. Program kształcenia obejmuje analizę inżynierską, w tym metody i techniki analizy oraz modelowanie złożonych procesów produkcji, zarządzania, sterowania, zastosowania badań operacyjnych, tworzenie modeli na podstawie danych empirycznych, akwizycję i analizę danych, bazy danych, metody numeryczne, technikę przesyłania informacji w sieciach komputerowych, projektowanie i uruchamianie specjalizowanych urządzeń mikroprocesorowych.
Charakterystyka specjalności Zastosowania Inżynierii Komputerowej w Technice – EZI c.d. Dzięki szerokiej wiedzy praktycznej i teoretycznej absolwenci są przygotowani do pracy w zakresie wykorzystywania systemów sieci komputerowych w przedsiębiorstwach, w tym w działach produkcyjnych, zarządzania, zbierania i przetwarzania informacji. Są również przygotowani do pracy w mniejszych firmach, w tym także usługowych, o szerokim zakresie działalności, np. udzielania konsultacji, opracowywania jednostkowych systemów komputerowych wraz z oprogramowaniem, projektowania, konstrukcji i eksploatacji specjalizowanych urządzeń mikroprocesorowych.
Zastosowania Inżynierii Komputerowej w Technice – EZI Przykładowe tematy prac dyplomowych Przetwarzanie sygnałów EKG na stanowisku komputerowym lekarza specjalisty Modelowanie kształtu i ruchu animowanych postaci Algorytm sterowania pracą sieci wodociągowej z zanieczyszczeniami Funkcjonowanie i konfiguracja warstwy sieciowej w systemach Unix – system symulacji sieci komputerowej Sieci neuronowe w modelowaniu fraktalnych obiektów Metody redukcji wymiaru w rozpoznawaniu obrazów Optymalizacja rozmieszczenia elementów elektronicznych w pakiecie Kompresja falkowa filmów Instytutowa baza danych pracowników wyższej uczelni Heurystyczne metody poprawiania rozwiązań konstrukcyjnych w zadaniach optymalizacji rozkroju surowca
Zastosowania Inżynierii Komputerowej w Technice – EZI Przykładowy sukces Wyniki XX Ogólnopolskiego Konkursu na najlepsze prace magisterskie z informatyki, zorganizowanego w 2003 roku przez Polskie Towarzystwo Informatyczne Rozstrzygnięto XX Ogólnopolski Konkurs PTI (…). Do konkursu zgłoszono 37 prac, wykonanych w roku akademickim 2002/2003 w czternastu krajowych wyższych uczelniach: w AGH (5), w Politechnice Gdańskiej (2), (…) w Politechnice Wrocławskiej (9) (…). Na posiedzeniu w dniu 22 grudnia 2003 we Wrocławiu Komisja Konkursowa w składzie: (…) uwzględniając opinie recenzentów prac konkursowych, po dyskusji ustaliła następujące rozstrzygnięcie konkursu: …………………………… Drugą nagrodę, w wysokości 1,600 zł otrzymał mgr inż. Bartosz Jabłoński, za pracę pt. Metody porównywania generatorów animowanych postaci ludzkich, wykonaną w Politechnice Wrocławskiej (Wydział Elektroniki, Instytut Cybernetyki Technicznej, promotor: dr inż. Ryszard Klempous)
Kontakt diuna.ict.pwr.wroc.pl www.eka.pwr.wroc.pl www.pwr.wroc.pl www.festiwal.wroc.pl dr inż. Jerzy Kotowski Janiszewskiego 11/17, 219 C-3 +48 71 320 3852 jerzy.kotowski@pwr.wroc.pl
Dr inż. Jerzy W. Greblicki Sławomir Kluczewski, Bartłomiej Stefanek Co jeszcze mógłby wymyślić Einstein gdyby znał Applety Javy Plan spotkania Dr inż. Jerzy Kotowski Wprowadzenie, Idea podejścia obiektowego Radosław Kaczyński Programowanie od wczoraj do dzisiaj Błażej Józefiak Socrates. System studiów w Wielkiej Brytanii. Dr inż. Jerzy W. Greblicki 2+2=11 Sławomir Kluczewski, Bartłomiej Stefanek Grupa .net na Wydziale Elektroniki Jan Górski PIC Power Media
Generacje języków programowania W ciągu ponad 50 lat rozwoju języków programowania powstały ich cztery generacje. Dla programów napisanych w językach pierwszej generacji (FORTRAN 1, COBOL) charakterystyczny jest wspólny obszar danych globalnych, do którego odwołują się podprogramy. W językach pierwszej generacji podczas tworzenia oprogramowania możliwe było oddzielenie od siebie różnych danych, ale było to oddzielenie logiczne, a nie programowe. Cała struktura danych była widoczna dla wszystkich podprogramów, dlatego błąd w jednym z nich mógł mieć katastrofalny wpływ na cały program. Przy modyfikacji dużego systemu zasadniczą trudnością było utrzymanie spójności oprogramowania, które cechowało się wieloma powiązaniami pomiędzy podprogramami i skomplikowanym przekazywaniem sterowania.
Języki drugiej generacji Podstawami rozwoju drugiej generacji języków byłą taka modyfikacja podprogramów, by mogły one przekazywać między sobą parametry, być zagnieżdżane i mieć zróżnicowany zakres widoczności deklaracji stałych i zmiennych. Dzięki mechanizmowi przekazywania parametrów podprogramy stały się procedurami. Wymienione własności języków drugiej generacji spowodowały powstanie strukturalnych metod projektowania oprogramowania.
Języki trzeciej generacji Charakterystyczną cechą języków trzeciej generacji była modułowość. Moduł grupował dane i podprogramy mające ze sobą związek logiczny. Wyodrębnienie modułów w procesie dekompozycji funkcjonalnej pozwalało na rozdzielenie pracy pomiędzy samodzielnych programistów. Technologia ta umożliwiła utworzenie większych zespołów projektowych i powstanie bardziej złożonego oprogramowania.
Języki czwartej generacji 4GL Języki czwartej generacji, zwane językami obiektowymi (np. C++), zmieniają podejście do zagadnienia struktur danych. Języki obiektowe rozszerzają pojęcie struktury danych o nowy element zwany obiektem (dokładniej typem obiektowym). Typ obiektowy zawiera zarówno dane, jak i algorytmy posługujące się tymi danymi. Algorytmy te są często zapisywane w postaci funkcji i procedur, które łącznie określane są jako metody obiektu (funkcje składowe). Obiekt, jako pojedynczy element programu, może być przypisywany i stosowany jak każdy inny typ danych. W językach obiektowych moduły zawierają kolekcje obiektów, a nie podprogramów jak to miało miejsce w językach starszych generacji. Struktura programów napisanych przy wykorzystaniu języków obiektowych jest podobna do grafu. Fakt ten zmienia w sposób zasadniczy reguły analizy i projektowania oprogramowania.
Programowanie obiektowe Programowanie obiektowe jest metodą tworzenia oprogramowania, w której programy są organizowane jako kolekcje obiektów. Java jest językiem programowania obiektowego.
Podejście obiektowe Object Oriented Approach - OOA Podejście obiektowe modeluje sposób w jaki ludzie rozumieją i przetwarzają rzeczywistość. Przy pomocy tego podejścia ludzie tworzą coś dla ludzi. Zasadnicza część podstaw teoretycznych podejścia obiektowego składa się z idei dotyczących podstaw ludzkiego myślenia. Korzeni podejścia obiektowego należy szukać w psychologii i w naukach do niej pokrewnych. Modelowanie sposobu w jaki ludzie rozumieją i przetwarzają rzeczywistość wymaga zrozumienia: czym są przyswajane przez ludzi pojęcia dlaczego są istotne jak ich używamy i jak je przekazujemy.
Dokumentowanie pojęć Jeżeli posiedliśmy jakieś pojęcie, to oznacza, że możemy się im posługiwać . Formalizacja dowolnego pojęcia wymaga utworzenia testu do jego identyfikacji. Intensja - pełna definicja pojęcia i testu, czy pojęcie odnosi się do badanego obiektu czy nie. Ekstensja - zbiór wszystkich obiektów do których stosuje się dane pojęcie. Trójka pojęciowa: symboliczna reprezentacja + intensja + ekstensja.
Wytłumaczenie pojęcia Trójka pojęciowa Symbol pojęcia Intensja Definicja Pomysł Wytłumaczenie pojęcia Ekstensja Zbiór egzemplarzy Obiekt jest to egzemplarz pojęcia. Instrument muzyczny jest to dowolne urządzenie zdolne do wydawania melodyjnych i harmonijnych dźwięków. Fortepian jest instrumentem muzycznym.
Zastosowania podejścia obiektowego Zarządzanie projektami Metoda Martina PRINCE LFA Prezentacja zamierzeń – składanie wniosków Relacyjne bazy danych OMG, UML Projektowanie oprogramowania Praca zespołowa CASE Computer Aided Software Engineering