CITB408 Програмиране на Java
Анотация:
В курса CITB408 Програмиране с Java се изучава синтаксисът на езика Java и концепциите за изграждане на обектно-ориентирани софтуерни решения. Курсът е разделен на теоретична и практическа част. Теоретичната част на курса се провежда в лекционна зала и представлява описание на синтаксиса и семантиката на основните програмни структури на езика Java. Разглеждат се и теми свързани с подходите за писане на „добър“ код и изграждане на модулни и лесно разширяеми обектно-ориентирани приложения. Представени са примери за използване на регулярни изрази при обработване на символни низове. В практическата част на курса се решават конкретни задачи, след разглеждане на сходни примерни задания. По време на всички занятия се акцентира на използването на добри практики при проектиране и реализиране на малки софтуерни проекти, с Java базирани технологии.
Преподавател(и):
гл. ас. Христина Костадинова д-р
Описание на курса:
Компетенции:
При завършване на курса обучаваните ще могат:
• да разработват обектно-ориентирани софтуерни приложения на Java;
• да използват в софтуерни проекти способи за управление на изключения;
• да записват данни във файлове, да прочитат информация, която е записана във файлове;
• да запазват състоянието на обектите, с които работят (сериализират данните);
• да извличат символни низове от текст като използват регулярни изрази;
• да избират най-подходящите колекции от данни, според изискванията на бизнес логиката и да манипулират ефективно елементите в тези колекции;
• да спазват принципите за разработване на модулни и лесноразширяеми обектно-ориентирани проекти
Предварителни изисквания:
Обучаваните трябва да имат базови знания по език за програмиране и основните концепции при проектиране и разработване на обектно-ориентирани софтуерни приложения.
Форми на провеждане:
Редовен
Учебни форми:
Лекция
Език, на който се води курса:
Български
Теми, които се разглеждат в курса:
- Въведение в java. Примитивни типове данни. Оператори в java. Приоритет на изпълнение на операторите. Контролиращи структури в Java. if, switch, while, do-while, for, break, continue. Класове и обекти в Java – част 1. ООП. Член-данни и методи. Конструктори. Ключови думи this, final и static. Тип Изброим (Enum).
- Класове и обекти в Java – част 2. Наследяване и полиморфизъм. Използване на super. Предефиниране на методи
- Абстрактни класове. Интерфейси. Пакети.
- Масиви в Java. Контрол върху версиите на кода (Source Control)
- Build Tools. Тестове (Unit Testing)
- Управление на изключения. Вход и изход в Java. Сериализация
- SOLID Принципи
- Generics. Comparable. Comparator. Методи equals() и hashCode()
- Collections Framework. List. Queue
- Collections Framework. Set. Map. Stream API. Lambda изрази
- Символни низове в Java. String, StringBuffer и StringBuilder. Регулярни изрази (Regular Expressions)
- Collections Framework. Set. Map. Stream API. Lambda изрази
- Шаблони за дизайни при разработване на ООП приложения (Design Patterns)
- Представяне на проекти
Литература по темите:
1. Herbert Schildt, Danny Coward, Java: The Complete Reference, Thirteenth Edition 13th Edition, McGraw Hill, 2024
2. Joshua Bloch, Effective Java 3rd Edition, 2018
3. Raoul-Gabriel Urma, Mario Fusco, Alan Mycroft Modern Java in Action: Lambdas, Streams, Functional and Reactive Programming 2nd Edition, Manning, 2018
4. Eric Freeman, Elisabeth Robson, Bert Bates, Kathy Sierra, Head First Design Patterns: A Brain-Friendly Guide, O'Reilly Media, Inc., 2004
5. Alexander Shwets, Dive into Design Patterns, 2024