Този документ съдържа всички материали от курса Java за начинаещи 22-23. Курса се провежна по графика всяка седмица във Вторник и Четвъртък (с изключение на регламентираните в програмата почивки). Часовете в които започваме са съответно 18:30 до 21:00 часа.
Курса се провежда в два семестъра - като материалите за всеки един от тях е разделен в папка с название @semester_n , в която ще намерите всички материали по срещи. Списъка с описанието на всяка среща, по дата с включен линк към детайли за срещата можете да намерите в настоящия документ.
За да участвате в този курс в е необходим ентусиазъм и подходящите инструменти
- Java Java платформа и инструменти за разработка
- Eclipse Eclipse - среда за разработка на Java код
- InteliJIdea InteliJ Idea - среда за разработка на Java код
Като допълнителен инструмент в рамките на инициативата ще усвоите работа с:
- GIT Система за управление на версиите - GIT
- Github for windows Система за менежиране на Git в контекста на GitHub
🚀 Среща 1 / [10.03.2022] - Въведение в Java
- Въведение в Java;
- Какво представлява JVM и JDK;
- Създаване на първата ни Java програма;
- Извеждане на информация на екрана.
🚀 Среща 2 / [15.03.2022] - Променливи и типове данни
- Променливи и типове данни;
- Целочислени типове;
- Числа с плаваща запетая;
- Низове и съхранение на текст;
- Булеви променливи.
🚀 Среща 3 / [17.03.2022] - Оператори за сравнение
- Мистероизната сила на оператора + при работа със стрингове и числа;
- Оператори за сравнение;
- Тернарен оператор и избор на множество възможности;
- Въвеждане на данни от конзолата.
🚀 Среща 4 / [22.03.2022] - Логически оператори
- Типът данни char и неговата роля в галерията от примитивни типове;
- синтаксис за визуално отделяне на дълги числови изрази;
- константи и работа с ключовата дума final;
- първи стъпки в логическите оператори (логически И и логическо НЕ);
- мъдри мисли и съвети свързани с писане на качествен код.
🚀 Среща 5 / [24.03.2022] - Аритметични оператори
- аритметични оператори *, /, %
- операции с аритметичен оператор % - свързани с отривани на числови последователности
- логически оператор ИЛИ
- условни конструкции if / else
- сравнение между тернарен оператор ?: и if / else
🚀 Среща 6 / [29.03.2022] - Условни конструкции
- вложени if / else конструкции
- else if конструкции
- живот / видимост на променлива в рамките на IF конструкция
- работа с .equals() при сравнение на низове
🚀 Среща 7 / [29.03.2022] - Мистериозния клас Random
- функционалност за генериране на случайни числа
- разлика между класа Math и класа Random
🚀 Среща 8 / [05.04.2022] - Цикли и глобални променливи
- цикли
- първи стъпки в методите
- глобални променливи
🚀 Среща 9 / [07.04.2022] - Методи и работа с тях
- упражнение
🚀 Среща 10 / [12.04.2022] - Връщане на стойност от метод
- Въведение в Git / работа с VCS
- Връщане на стойности от методи
- Работа със switch
🚀 Среща 11 / [14.04.2022] - Статични методи и класове
- упражнение
- Предаване на параметри на методи
- Метод overloading
- Статични и инстанционни методи
- Създаване на нови класове съдържащи статични методи
- ключовата дума continue
🚀 Среща 12 / [19.04.2022] - Работа с низове и FOR цикли
- упражнение
- особености на return
- работа с низове
- цикъл for
🚀 Среща 13 / [21.04.2022] - Масиви и техните особености
- упражнение
- масиви и работа с масиви
🚀 Среща 14 / [26.04.2022] - Модификатори за достъп
- упражнение
- модификатори за достъп до полета и методи
- масив от обекти
🚀 Среща 15 / [28.04.2022] - Конструктор getter / setter
- упражнение
- клас конструктор
- работа с geter и setter
🚀 Среща 16 / [03.05.2022] - Работа с пакети
- упражнение
- класове и обекти
- пакети и импортиране на пакети
- ключовата дума this
🚀 Среща 17 / [05.05.2022] - Мистериозния клас Object
- упражнение
- мистериозния клас - Object
- цикъл for за работа с колекции
🚀 Среща 18 / [10.05.2022] - Упражнения с класове и обекти
- упражнение
🚀 Среща 19 / [12.05.2022] - Референтни типове и команди
- упражнение
- подаване на параметри тип Object
- референтни типове
🚀 Среща 20 / [17.05.2022] - Многомерни масиви - част 1
- многомерен масив
- разпределение на данни в масив
- движение на данни в многомерен масив
- използване на масиви като карти за символи
🚀 Среща 21 / [19.05.2022] - Многомерни масиви - част 2
- Форматиране на низове с помоща на printf
- видимост на класове в пакети
- работа с методи от пакета Math
🚀 Среща 22 / [31.05.2022] - Многомерни масиви - част 3
- работа с методите Math.max и Math.min
- концепции за компонентно тестване на методи
🚀 Среща 23 / [02.06.2022] - ООП принципи - наследяване
- Още за Object и неговата роля в Java;
- Какво е наследяване;
- Работа с модификатор за достъп protected;
- Полиморфизъм и полиморфно поведение - при презаписване на стойности.
🚀 Среща 24 / [07.06.2022] - ООП принципи - абстракция
- Създаване на договори и рестрикции
- Работа с абстракни класове
- Работа с комплексно наследяване
- Още примери за полиморфно поведение
- RUN time vs COMPILE time
🚀 Среща 25 / [09.06.2022] - Енумерации и конзолни цветове
- Работа с цветове и стилове в конзолата
- Работа с енумерации
- Преизползване на конструктори, при наследяване
- Оператор за множестно аргументи (...)
🚀 Среща 26 / [14.06.2022] - Файлове и изключения - част 1
- Какво са изключения - и как информират програмиста за проблеми
- Run time и Compile time изключения
- Операции с файлове за четене и писане на информация
- Особености при работа с числа и символи (особено отрицателни)
🚀 Среща 27 / [16.06.2022] - Файлове и изключения - част 2
- Работа с BufferedReader при четене на линии от файл
- Трикове и идеи как да управляваме, файловете си по-лесно
- Операции с низове
🚀 Среща 28 / [21.06.2022] - Въведение в базите данни - част 1
- какво са базите данни и имат ли почва у нас
- Какви инструменти са ни необходими за да започнем работа
- Създаване на база данни
- Селектиране на база данни
- Създаване на таблица - особености и типове данни
- Добавяне на нов ред в таблица
- Актуализация на информация в таблица
- Изтриване на информация в таблица
- Търсене и намиране на информация в таблица
- Изтриване на таблица
🚀 Среща 29 / [23.06.2022] - Въведение в базите данни - част 2
- рестрикции в таблици
- работа с първични и външни ключове
- работа с графичен интерфейс на MySQL Workbench
- оператора WHERE и работа с логически конструкции
- работа с функции в SQL
- комбиниране на данни от множество таблици (JOIN)
🚀 Среща 30 / [28.06.2022] - Въведение в JavaFx - част 1
- Графични системи и библиотеки
- Два варианта за създаване на JavaFx проект
- Какво е Maven като част от популярните Build системи (рабоат Maven Repository)
- Работа с POM.XML файл - структура и организация
- Въведение в концепцията за модулите в Java
- Първата ни JavaFX програма
🚀 Среща 31 / [30.06.2022] - Въведение в JavaFx - част 2
- Създаване на UI компоненти с помоща на JavaFX класове
- Разделяне и организиране на код
- Работа със събития и обработчици на събития
- Интерфейси и тяхната функция в програмирането
- Анонимни класове и техните особености
- Работа с анимации (обработка на данни във фонов режим)
🚀 Среща 32 / [05.07.2022] - Въведение в JavaFx - част 3
- Въведение в концепцията за XML и маркиране на структрута
- Добавяне на FXML към структурата на проекта ни
- Трансформация на код от програматична към FXML форма
- Работа със събития във FXML
- Работа с контролери във FXML
- Стилизиране на UI контроли с помоща на CSS
- Стилови правила характерни за UI контроли в контекста на документацията на FXML
🚀 Среща 33 / [07.07.2022] - Въведение в JavaFx - част 4
- Какво е MVC и как е свързано с текущо разработваното приложение
- Работа с колекции - класа ArrayList
🚀 Среща 34 / [12.07.2022] - Работа с JDBC - част 1
- какво е JDBC
- сваляне и инсталация на JDBC за работа с MySQL
- особености на драивърите
- връзка с базата данни
- работа със стеитмънти
- шаблони за дизайн - Singleton
🚀 Среща 35 / [14.07.2022] - Работа с JDBC - част 2
- разработка на Query Builder абстракция
- концепция за модели и репозитори
- работа с Generic и интерфейси
🚀 Среща 36 / [19.07.2022] - Работа с интерфейси и generic
- още детайли за работа с Generic и интерфейси от близо
- работа със списъчни структури
🚀 Среща 1 / [15.09.2022] - Въведение в структурите от данни
- работа със свързан списък
- работа със стек
- работа с опашка
- реализация на структури от данни с помоща на интерфейси и генерични струкутри
🚀 Среща 2 / [20.09.2022] - Алгоритми за търсене и сортиране
- сортиране по метода на мехурчето
- сортиране по метода на пряката селекция
- двуично търсене
🚀 Среща 3 / [22.09.2022] - Структури от данни - част 2
- работа с итератори
- работа с генератори
- работа с ламбда функции