Curriculum

Практически курс по Java и Java EE програмиране – учебен план

# Лекция Лектори Дата
1. Представяне на курса “Java и Java EE програмиране” – учебна програма, лекторски състав, изпити и сертификация

Въведение в Java – въведение в програмирането, въведение в езика Java и средата за разработка Eclipse, ключови думи, идентификатори, променливи, декларации, оператори, програмни конструкции, условни конструкции, цикли, масиви

Марио Пешев 9.10.2010
2. Методи – дефиниране и извикване на методи

Алгоритми – алгоритми и алгоритмично мислене,  обработка на поредици, вложени цикли, обработка на масиви, алгоритми за търсене, алгоритми за сортиране, комбинаторни алгоритми

Класове и обекти – дефиниране на класове, използване на класове, конструктори, свойства, статични членове (полета, методи, свойства)

Данаил Алексиев 16.10.2010
3. Обектно-ориентирано програмиране (ООП) – принципи на ООП, класове и обекти, наследяване, абстракция, капсулация, полиморфизъм

ООП в Java – наследяване в Java, наследяване на класове, ключова дума super, припокриване на виртуални методи, полиморфизъм в Java, оператор instanceof, ключова дума final, абстрактни класове и абстрактни методи, интерфейси

Марио Пешев 23.10.2010
4. Символни низове – символни низове и обработка, деклариране, създаване, отпечатване, сравнение, конкатенация, търсене на подниз, извличане на подниз, разцепване по разделител, замяна на подниз с друг, изтриване на подниз, промяна на регистъра, изтриване на празен префикс и суфикс, построяване на низове чрез StringBuilder, форматиране на низове

Вход / изход , потоци и файлове – потоци и работа с потоци, четене и писане от текстов файл, обработка на входно-изходни грешки

Структури от данни в Java – абстрактни структури от данни, списък (ArrayList<T>), стек (Stack<T>), опашка (Queue<T>), дървета и дървовидни структури, множество, речник (HashMap<K, T>)

Данаил Алексиев 4.12.2010
5. Практически изпит върху основите на Java програмирането – алгоритмични задачи върху масиви, цикли и структури от данни Михаил Стойнов 18.12.2010
6. Релационни бази данни – RDBMS системи, таблици, връзки, множественост на връзките, нормализация, проектиране на E/R диаграми, ограничения, индекси, съхранени процедури, тригери, транзакции и изолацияЕзик

SQL – DML операции, селектиране на данни (SELECT), филтриране, сортиране, съединения на таблици (вътрешни и външни), вложени SELECT заявки, агрегатни функции и групиране, вградени SQL функции, типове данни в Oracle, DDL операции, промяна на релационната схема, добавяне, промяна и изтриване на данни (INSERT, UPDATE, DELETE)

Росен Спасов 8.01.2011
7. JDBC – достъп до бази данни от Java през JDBC, архитектура на JDBC, JDBC драйвери, свързване към Oracle, изпълнение на SQL команди, прочитане на резултата от заявка, параметрични заявки, извличане на генерирания първичен ключ, извикване на съхранена процедура, използване на транзакции

XML – езикът XML, XML синтаксис, пространства от имена, схеми (XSD, DTD), обработка на XML данни, търсене с XPath, трансформация с XSL шаблони

Обработка на XML – XML парсери в Java платформата, библиотеката JAXP, DOM, SAX и StAX парсери, четене и построяване на документи чрез DOM парсера, четене и построяване на документи чрез StAX парсера, изпълнение на XPath заявки, XSL трансформации

Светлин Наков 29.01.2011
8. JPA и ORM – въведение в Object-Relational Mapping (ORM) технологиите за съхранение на данни, технологията Java Persistence API (JPA), entity класове, съхраняеми  полета и свойства, множественост и посока, наследяване, управление на съхраняеми класове (persistence context, entity manager interface, persistence units), конфигурационен файл persistence.xml, Java Persistence Query Language (JPQL) и изпълнение на заявки

Hibernate – архитектура на Hibernate, съответствия между таблици и класове, релации между класовете, управление на съхраняеми класове, отваряне на Hibernate сесия, извличане, създаване, промяна и изтриване на съхранени обекти, използване на HQL заявки, използване на транзакции

Михаил Стойнов 5.02.2011
9. Практически изпит по бази данни – проектиране на база данни в Oracle, обработка на данни от базата данни с JPA или Hibernate (добавяне, промяна, изтриване, справки), работа с XML Михаил Стойнов 12.02.2011
10. Основи на уеб технологиите – HTTP и WWW, моделът заявка-отговор, HTTP заявки (GET и POST), HTTP отговори, HTTP статус кодове, cookies, използване на инструменти за разработчици (Firebug, IE Developer Toolbar, Wireshark sniffer)

Основи на HTML – езикът HTML, текст, картинки, препратки, форматиращи тагове, параграфи, списъци, таблици, форми и контроли (текстови контроли, пароли, отметки, radio-бутони, падащи списъци, бутони), рамки (frames)

Основи на CSS – създаване и използване на CSS стилове, селектори и дефиниции на стилове, шрифтове, фонове, контури, box-моделът, подравняване, позициониране (абсолютно и плаващо), отмествания (margin, padding), z-index, видимост, скролиране

Светлин Наков 20.02.2011
11. Основи на JavaScript – DHTML, JavaScript синтаксис, типове данни, оператори, управляващи конструкции, цикли, масиви, класове и обекти, диалози за вход от потребителя, достъпване на DOM дървото чрез JavaScript, дебъгване на JavaScript приложения, библиотеки Prototype и jQuery, технологията AJAX

Създаване на уеб сайтове с HTML и CSS – преминаване от картинка към XHTML+CSS, плаващи DIV елементи и подредба, някои тънкости (имитация на таблици, хоризонтално и вертикално центриране на DIV и неговото съдържание), сайтове базирани на рамки (frames), сайтове базирани на таблици, сайтове базирани на DIV елементи, примери от живота

Свилен Иванов 26.02.2011
12. Java сървлети – технологията на Java уеб приложенията, Java сървлети, използване на HTTP сесия, имплементиране на login/logout, забрана на кеша на уеб браузъра

Сървър за уеб приложения Tomcat – работа със сървъра за Java уеб приложения Apache Tomcat, инсталация и стартиране, структура на директориите, WAR архиви и деплоймънт на уеб приложения,  структура на WAR архив, конфигурационен файл web.xml, свързване на сървлет към URL

? 5.03.2011
13. JavaServer Pages (JSP) – технологията JSP, JSP изрази, предефинирани променливи, скриптлети, декларации, директиви, статично и динамично включване на файл, използване на application обекта, клиентско и сървърно пренасочване, екраниране на HTML символи, JSPX файлове

Unified Expression Language – унифициран език за изрази (expression language) в JSP и JSF технологиите, използване на JavaBeans, достъп до обекти и техните свойства, ${expression} и #{expression} синтаксис

Библиотека JSTL – библиотека с тагове JSTL – структурни тагове, условни конструкции, цикли, форматиране и интернационализация, тагове за работа с XML, тагове за работа с SQL

? 12.03.2011
14. Потребителски JSP тагове – технология на потребителските тагове (JSP custom tags), създаване и използване на потребителски тагове, използване на JSTL в таговете, тагове с параметри

Основи на JSF – архитектура на технологията JavaServer Faces (JSF), MVC архитектура, faces сървлет, пример за просто JSF приложение, конфигурационен файл faces-config.xml, компонентен модел на JSF, често използвани JSF тагове (форми, таблици, изгледи, съобщения, конвертори, валидатори), използване на managed beans, свързване на данни (data binding), модел на навигацията, правила за навигация

? 19.03.2011
15. JSF в детайли – модел на събитията и прихващане на събития, показване на съобщения, модел на валидацията, модел на конверсиите, стандартни конвертори, потребителски конвертори, работа с ресурси, JSF жизнен цикъл, използване на AJAX в JSF 2.0 ? 26.03.2011
16. RichFaces – библиотека с JSF компоненти JBoss RichFaces, таблици и списъци, свързване на данни със списъчни контроли (data binding), контроли за дървовиден изглед, календар, прозорци и модални диалози, AJAX форми, AJAX валидатори, менюта, други UI компоненти ? 2.04.2011
17. Spring Framework – запознаване със Spring Framework, шаблонът IoC (Inversion of Control) и Dependency Injection, аспектно-ориентирано програмиране(AOP), интерфейсът BeanFactory, контекст на приложението и конфигурационен файл applicationContext.xml

Spring и достъп до данни – достъп до услуги и ресурси в Spring Framework, източници на данни, DataSource, JdbcTemplate, DAO обекти, транзакции

? 9.04.2011
18. Интеграция на Spring и JPA – конфигуриране на Spring + JPA проект, Spring DAO шаблони, domain model, data access layer, имплементация на DAO класове  чрез наследяване на JpaTemplate, service layer, конфигурация

Интеграция на Spring и JSF – конфигуриране на DelegatingVariableResolver, ContextLoaderListener и RequestContextListener

Spring + JPA + JSF интеграция – цялостен пример за уеб приложение, което интегрира Spring Framework, JPA и JSF

? 16.04.2011
19. Практически изпит по разработка на уеб приложения със Spring Framework, JPA и JSF – изграждане на просто уеб приложение с Oracle база данни, слой за достъп до данни базиран на JPA и Spring и JSF базиран потребителски интерфейс ? 23.04.2011
20. Maven – система за автоматизация на построяването и управлението на Java проекти Apache Maven, POM, структура на директориите на Maven базирани проекти, дефиниране на зависимости, конзолни команди, интеграция с Eclipse

Интеграция на Spring, JSF и JPA с Maven – цялостен пример

? 30.04.2011
21. Въведение в Java EE – платформата Java EE, enterprise приложения, архитектура на Java EE, Java EE APIs, сървъри за приложения, компоненти, контейнери, конектори, създаване и деплоймънт – EAR архиви с Ant.

Enterprise JavaBeans (EJB) – SL and SF Session Beans, Entity Beans, MessageDriven Beans. Управление на състоянието, паралелност, транзакционнност.

Иван Ваклинов 14.05.2011
22. JMX – Introducing managed java objects. Типове MBeans.

JMS – технология JMS за комуникация между компоненти и приложения по модел производител-консуматор, JMS съобщения, JMS приложения, имплементация на JMS сървър и JMS клиент

Web Services – инфраструктура на уеб услугите – HTTP, SOAP, WSDL, моделът SOA, моделът REST услуги, JAX-WS, JAX-RS, създаване, деплойване и извикване на уеб услуга с JAX-WS, деплойване и извикване на REST услуга с JAX-RS

SOA концепция и подходи при имплементиране на SOA архитектури.

Милена Душанова 11.06.2011

(датата е още непотвърдена)