Section outline

  • Обектно-ориентирано програмиране с Java

    • Основната цел на курса е да изложи принципите на Обектно ориентираното програмиране (ООП) и да покаже приложението им с техниките за програмиране на Java. По време на курса, принципите на ООП се представят посредством програмни приложения на Java като се използват предимствата на J2SE 7.0. Курсът дава практически умения за прилагане на концепциите на ООП съобразно синтаксиса, техниките и стила за програмиране, използвани в JDK 1.7.x при решаване на широк кръг информационни проблеми.

      Обучението включва интерактивни лекции, упражнения в компютърна лаборатория, самостоятелна работа, 2 контролни работи, теоритичен изпит, разработка и представяне на проект.

      Лекциите се провеждат в четвъртък от 18ч. в зала 200, а упражненията - в петък от 18ч. в зала 321.


      Формиране на оценката:

      20% - практическо контролно №1

      30% - практическо контролно №2 (обхваща целия материал)

      25% - теоритичен тест

      25% - курсов проект


      Критерии за оценяване:

      <60% - слаб 2

      <70% - среден 3

      <80% - добър 4

      <90% - много добър 5

      >=90% - отличен 6



    • Основни книги за курса


  • Въведение в Java и NetBeans 

    · OOA и OOD релации между класове. Критерии за добър стил на програмиране.

    · Средата NetBeans. Стандартен вход и изход. Примитивни типове данни. Аритметични команди, команди за условен преход и оператори за сравнения.


  • Java ООП 

    · Класове и обекти. Конструктори, методи, данни.

    · Референтни типове. Логически оператори. Преобразуване на типове данни.


  • Структури и библиотеки

    · Структури за управление - if, for, while, switch. Област на видимост.

    · Библиотеки (import, package). Класът Math. Swing компоненти за създаване на графични изображения. Генериране на случайни числа.


  • Масиви

    · Масиви в Java. Дефиниране на масиви и типични приложения.

    · Многомерни масиви. Методи с променлив брой аргументи.


  • Java ООП II

    · Overloading, референцията this, get и set методи. Принцип на композицията.

    · Модификатори за достъп - public, private, protected, default. Модификатори static и final.


  • Алгоритми за търсене и сортиране

    · Търсене - последователно, бинарно.

    · Сортиране - метод на мехурчето, метод с избиране, метод с вмъкване, метод с преброяване.

    · Рекурсия - merge sort, binary search.


  • Наследственост и полиморфизъм

    · Наследяване и полиморфизъм. Йерархии от класове.

    · Абстрактни класове, интерфейси. Наследственост при интерфейси. final класове и методи.


  • Вътрешни и анонимни класове

    · Вътрешни и анонимни класове. Скриване на имплементацията - closure. Наследственост при вътрешни класове. Callback.

    · Събития. Контролер на събития. Приложение в графичния интерфейс.


  • Изключения. Изброим тип.

    · Обработка на изключения. Класът Exception. Try, catch, finally. Прихващане и предаване на изключение. Потребителски изключения.

    · Данни от изброим тип enum.


  • Графичен потребителски интерфейс

    · Swing компоненти. JFrame. Layout managers. Обработка на събития.

    · Стандартни компоненти. Наследяване на визуални компоненти. Graphics.


  • Задължително контролно No. 1 - включва материала до Графичен потребителски интерфейс включително

    Ще се проведе на 14 декември (петък) по време на упражнения

    Контролното няма да се повтаря и има 20% тежест в крайната оценка.


    По време на контролното:
    - няма да се използват компютри, внесени отвън
    - няма да се използват книги, файлове и програми освен NetBeans и JDK Help

  • MVC. Клиент-сървър приложения.

    · Model-View-Controller. Сериализиране. Файлове с произволен достъп.

    · Client-Server приложения. Stream Socket.


  • Весела Коледа и

    Честита Нова Година!

  • Многонишково програмиране

    · Thread. Фази на изпълнение.

    · Синхронизация - synchronized, wait() и notify(), ArrayBlockingQueue, заключване на споделен обект.

    · Синхронизация и Swing - Callable, Future, SwingWorker.


  • Колекции

    · Клас Arrays, интерфейс Collection и клас Collections. Интерфейс Iterator.

    · ArrayList, LinkedList и Vector. Set. Map.

    · Методи за работа с колекции. Хеширане.


  • Задължително контролно No. 2 - включва целия материал

    Ще се проведе на 18 януари (петък) по време на упражнения

    Контролното няма да се повтаря и има 30% тежест в крайната оценка.


    По време на контролното:
    - няма да се използват компютри, внесени отвън
    - няма да се използват книги, файлове и програми освен NetBeans и JDK Help