Studia Podyplomowe - Programowanie w Środowisku Internetu
CeleCel kształcenia pod_program.jpgStudia przeznaczone są dla osób pragnących specjalizować się w projektowaniu i budowie systemów informatycznych pracujących w środowisku Internetu. Studia łączą wiedzę z zakresu teorii i praktyki programowania oraz baz danych, z uwzględnieniem specyfiki środowiska sieci Internet. Celem jest przygotowanie słuchaczy studiów do projektowania i programowania zaawansowanych systemów informatycznych realizujących przetwarzanie w architekturze klient-serwer, osadzonych w środowisku WWW.
Profil słuchacza / wymogiStudia przeznaczone są dla osób pragnących specjalizować się w projektowaniu i budowie aplikacji pracujących w środowisku Internetu obsługiwanych przez przeglądarkę www. Wymagania: - student powinien sprawnie posługiwać się przynajmniej jednym dowolnym językiem programowania.
Szczegółowe informacjeStudia Podyplomowe: Programowanie w Środowisku Internetu
Uzyskiwane kwalifikacje:
- absolwent będzie potrafił samodzielnie zaprojektować, zbudować i wdrożyć aplikację działającą w środowisku Internetu z wykorzystaniem takich technologii jak: HTML, PHP, Java, JavaScript, MySQL, PostgreSQL. Absolwent będzie potrafił także projektować serwisy internetowe (bez umiejętności realizacji elementów grafiki tych serwisów za pomocą specjalistycznych programów graficznych).
Uwagi:
- studia "Programowanie w środowisku Internetu" nie mogą być traktowane jako nauka programowania dla początkujących.
Motywacja
Dla milionów użytkowników komputerów korzystanie z sieci Internet stało się codziennością. Oczekiwania korporacyjnych jak i domowych użytkowników Internetu ciągle rosną - pragną oni nie tylko korzystać z klasycznych usług internetowych, chcą za pośrednictwem sieci prowadzić interesy, handlować, umilać sobie czas wolny.
Oczekiwania te stawiają nowe wyzwania przed informatykami realizującymi usługi sieciowe. Funkcjonalność oferowana przez klasyczne, statyczne serwisy WWW jest niewystarczająca. Współczesne serwisy WWW to coraz bardziej rozbudowane i złożone systemy informatyczne, których tworzenie wymaga umiejętności programowania, znajomości baz danych, technologii internetowych oraz grafiki i multimediów.
Serwisy internetowe zmieniają bowiem swoje oblicze. Ewoluują w stronę systemów informacyjnych dynamicznie zmieniających swoją zawartość, dostarczając użytkownikowi dużych możliwości interakcji. Z drugiej strony obserwujemy zjawisko przeniesienia do środowiska Internetu systemów informatycznych, działających do tej pory jako aplikacje jednostanowiskowe lub w obrębie sieci lokalnych. Stawia to przed twórcami takich systemów nowe wyzwania.
Sieć Internet staje się zatem środowiskiem działania współczesnych systemów informatycznych. Architektura sieci oraz specyfika jej usług sprawia, że tworzenie tych systemów wymaga od programistów zmiany sposobu myślenia oraz poznania nowych języków, narzędzi i technik programowania. Studia podyplomowe Programowanie w środowisku Internetu dedykowane są dla wszystkich, którzy pragną rozwinąć swoją dotychczasową wiedzę programistyczną o umiejętności projektowania i tworzenia aplikacji przeznaczonych do działania w środowisku sieci Internet.
Grupa docelowa
Studia podyplomowe Programowanie w środowisku Internetu poświęcone są nauce programowania systemów informatycznych działających w środowisku Internetu. Aby ten cel mógł zostać spełniony od słuchaczy tych studiów wymaga się podstawowej wiedzy ogólnej na temat podstaw programowania oraz znajomości przynajmniej jednego języka programowania. Zatem od słuchaczy wymaga się znajomości takich zagadnień jak:
• pojęcie zmiennej, proste typy danych, instrukcje sterujące przebiegiem programu (instrukcje warunkowe, iteracyjne).
• podprogramy i ich zastosowanie, procedury, funkcje, przekazywanie parametrów, programowanie strukturalne.
• przetwarzanie tablic i plików, wykorzystanie rekordów.
Pożądana jest również ogólna wiedza na temat podstaw systemów operacyjnych oraz sieci komputerowych.
Koncepcja organizacji kształcenia
Studia rozpoczynają się w pierwszym semestrze od kształcenia prowadzonego dwuwątkowo. Pierwszy wątek poświęcony jest nauce programowania, drugi, prowadzony równolegle, poświęcony jest językom znaczników oraz zasadom budowania aplikacji sieciowych. Krótka charakterystyka wątków:
• Przypomnienie, wyrównanie i pogłębienie znajomości podstaw programowania, nauka podstawowych metodyk i paradygmatów programowania oraz wyrobienie umiejętności programowania strukturalnego z wykorzystaniem języka PHP. Następnie słuchacze poznają koncepcję programowania obiektowego i nabywają umiejętności programowania obiektowego w języku Java.
• Programista systemów działających na platformie WWW traktuje przeglądarkę jako tzw. cienkiego klienta realizującego wizualizację przetwarzania odbywającego się na serwerze. Ten wątek kształcenia przygotowuje słuchaczy do poprawnego budowania wyników przetwarzania ujmowanych w formie dokumentu HTML. Nauka poświęcona jest językom znaczników ze szczególnym naciskiem na XHTML (różnice w stosunku do HTML'a) oraz XML, a także kreatywnym metodom wykorzystania stylów (CSS) jako środka oddzielenia treści dokumentu od jego formy. Przewidywane jest również poznanie możliwości wykorzystania języka JavScript.
Po pierwszym semestrze słuchacze potrafią programować strukturalnie w języku PHP oraz obiektowo w języku Java, są również przygotowani do wykorzystania przeglądarki WWW jako klienta odbierającego poprawne dokumenty HTML reprezentujące wyniki przetwarzania. Uczymy po nowemu, dążąc do pełnego oddzielenia formatowania od treści, z wykorzystaniem technik programowania w języku JavaScript - dla poprawy funkcjonalności u uatrakcyjnienia warstwy wizualnej aplikacji. Pozwala to na tworzenie prostych systemów realizujących przetwarzanie danych po stronie serwera a wizualizujących jego wyniki w przeglądarce WWW.
Drugi semestr poświęcony jest rozszerzeniu wiedzy o podstawy relacyjnych baz danych oraz nabycie umiejętności programowania w języku SQL. Nauka programowania w PHP przechodzi na poziom bardziej zaawansowany, następuje powiązanie z bazami danych i językiem SQL.
Bazując na zdobytych do tej pory umiejętnościach z zakresu programowania, baz danych i technologii WWW, studenci uczą się zasad realizacji projektu informatycznego - od fazy analizy, poprzez projektowanie aż po fazę programowania, poznając odpowiednie metodyki i notacje. Odbywa się to z wykorzystaniem XHML'a, CSS, bazy danych oraz języka SQL oraz PHP jako języka nadrzędnego.
Uzupełnieniem kształcenia w zakresie projektowania i realizacji aplikacji internetowych jest rozwijanie umiejętności programowania w języku Java, oraz wykorzystanie tego języka do programowania serwletów wykonywanych w technologii JSP. Celem kształcenia w tym wątku jest przygotowanie słuchaczy do tworzenia złożonych aplikacji internetowych opartych o język Java, technologię JSP oraz bazy danych obsługiwane z wykorzystaniem JDBC. Umiejętności programowania w języku Java będą rozwijane o zaawansowane elementy tego języka.
Kształcenie podsumowuje praca dyplomowa, będąca praktyczną realizację aplikacji internetowej opartej o jedną z poznanych wcześniej technologii.
5. Główne przedmioty kształcenia - charakterystyka ogólna
• Inżynieria programowania - obejmująca najważniejsze metodyki i paradygmaty programowania, połączona z nauką i doskonaleniem umiejętności programowania w językach PHP i Java.
• Programowanie aplikacji internetowych w języku PHP - programowanie systemów informatycznych pracujących w środowisku sieci Internet z wykorzystaniem języka PHP.
• Projekt systemu - realizacja indywidualnych projektów.
• Bazy danych. Podstawy relacyjnych baz danych oraz programowanie z wykorzystaniem języka SQL.
• Projektowanie sieciowych systemów informatycznych - celem przedmiotu jest opanowanie umiejętności analizy, projektowania i programowania systemów informatycznych dedykowanych dla środowiska sieci Internet, realizujących przetwarzanie w architekturze klient serwer.
• Programowanie aplikacji internetowych w języku Java - programowanie systemów informatycznych pracujących w środowisku sieci Internet z wykorzystaniem języka Java i technologii JSP.
• Zaawansowane techniki programowania - programowanie aplikacji sieciowych z wykorzystaniem zaawansowanych elementów języka Java i jego bibliotek.
• Pracownia dyplomowa.
6. Główne przedmioty kształcenia - opis szczegółowy
6.1 Semestr pierwszy
Inżynieria programowania. Przedmiot poświęcony jest powtórzeniu, ugruntowaniu i pogłębieniu istotnych informacji z podstaw programowania i teorii struktur danych, z uwzględnieniem zasad metodycznego budowania, rozwoju i pielęgnacji programów. Słuchacze uczą się programowania strukturalnego z wykorzystaniem języka PHP, następnie poznają koncepcję programowania obiektowego i nabywają umiejętności programowania obiektowego w języku Java.
Języki znaczników. Ten przedmiot przygotowuje słuchaczy do poprawnego budowania dokumentów HTML będących wynikiem przetwarzania programowego. Przedmiot prezentuje protokół HTTP, koncepcje języków opisu strony - HTML, XHTML, DHTML oraz XML. W ramach części praktycznej przewidziane jest tworzenie złożonych dokumentów (X)HTML'owych, walidacja kodu, dyskusja nad odpowiednią zawartością metaznaczników, pozycjonowanie w wyszukiwarkach, pisanie kodu poprawnie interpretowanego przez różne przeglądarki. Wszystko poświęcone umiejętności projektowania właściwego układu logicznego strony, bez ozdobników.
Projektowanie warstwy wizualnej aplikacji sieciowych. Przedmiot poświęcony jest metodom projektowania poprawnie zbudowanych stron WWW - one właśnie w aplikacjach internetowych stanowią warstwę wizualną, realizującą funkcję interfejsu użytkownika. Przedmiot ukierunkowany jest na poznanie mechanizmu wykorzystania stylów CSS do formatowania elementów stron oraz do projektowania zaawansowanych układów, w zakresie niezbędnym dla programisty aplikacji sieciowych. Kształcenie obejmuje omówienie wykorzystania stylów do budowania układów stron, porównanie z projektowaniem układów z wykorzystaniem tabel, podobieństwa i różnice, wady i zalety, dyskusję nad specyfiką przeglądarek, metody i sztuczki pozwalające obejść błędne interpretacje stylów. Dodatkowo przedstawione metody wykorzystania języka JavaScript do programowania niezbędnych elementów warstwy wizualnej.
Programowanie aplikacji internetowych w języku PHP. Przedmiot poświęcony jest programowaniu aplikacji dedykowanych dla środowiska sieci Internet. Przedmiot ten bazuje na poprzednio omówionych przedmiotach, następuje tu połączenie umiejętności programowania w PHP ze znajomością protokołu HTTP, języków znaczników, stylów CSS oraz języka JavScript do realizacji zadań po stronie klienta. Nadrzędnym celem jest opanowanie umiejętności budowania aplikacji z wyraźnym oddzieleniem przetwarzania realizowanego po stronie serwera od części klienckiej, działającej w przeglądarce WWW. W efekcie studenci przygotowani są do tworzenia dynamicznych serwisów WWW, niewymagających korzystania z baz danych.
Projekt systemu. W ramach tego przedmiotu słuchacze budują własną aplikacje internetową, z wyraźnym oddzieleniem treści ((X)HTML) od warstwy wizualnej (CSS) z wykorzystaniem skryptów PHP realizujących przetwarzanie po stronie serwera oraz JavaScript do realizacji przetwarzania po stronie klienta.
6.2 Semestr drugi
Bazy danych. Podstawy relacyjnych baz danych na przykładzie MySQL'a. Zasady projektowania baz danych, diagramy ERD, modele - logiczny i fizyczny, normalizacja. Potem intensywny kurs języka SQL zarówno dla operacji administracyjnych jak i wyszukiwawczych.
Programowanie aplikacji internetowych w języku Java. Główny cel tego przedmiotu jest zbieżny z celem przedmiotu Programowania aplikacji internetowych w języku PHP, poświęcony jest on jednak głównie programowaniu po stronie serwera z wykorzystaniem języka Java i technologii JSP w zastosowaniach typowych dla współczesnych aplikacji e-commerce.
Projektowanie sieciowych systemów informatycznych. Celem przedmiotu jest opanowanie umiejętności analizy, projektowania i programowania systemów informatycznych dedykowanych dla środowiska sieci Internet, realizujących przetwarzanie w architekturze klient serwer. Bazując na zdobytych do tej pory umiejętnościach z zakresu programowania, baz danych i technologii WWW, studenci uczą się zasad realizacji projektu informatycznego - od fazy analizy, poprzez projektowanie aż po fazę programowania, poznając odpowiednie metodyki i notacje. Nabyte umiejętności powinny pozwalać na stworzenie różnorodnych aplikacji - począwszy od elementów typu forum dyskusyjne, wortal, portal internetowy, skończywszy na systemach e-commerce.
Zaawansowane techniki programowania. Przedmiot poświęcony jest pogłębieniu znajomości języka Java oraz metod jego wykorzystania do programowania systemów dedykowanych dla środowiska Internetu. Przewiduje się omówienie zaawansowane możliwości bibliotek Swing i AWT, wielowątkowości, tworzenia aplikacji rozproszonych, technologii CORBA, JavaBeans, wykorzystania języka XML.
Pracownia dyplomowa. Konsultacje poświęcone realizacji pracy dyplomowej będącej rozbudowaną aplikacją sieciową zrealizowaną w jednej z poznanych technologii.