Програмиране с Java (Advanced ниво)

Цели на курса

Обучението изгражда стабилни основи за кариерно развитие от начинаещ към напреднал софтуерен инженер. В курса се развиват силно практически умения в следните области:

  • Дизайн и анализ на алгоритми
  • Писане на качествен и лесен за поддържане код
  • Многонишково (конкурентно) програмиране
  • Шаблони за дизайн и проектиране на обектно-ориентиран код
  • Тестване на програмен код

Езикът за програмиране, който се използва в курса е Java, но повечето от знанията, които курсистите ще придобият са приложими за всички езици. Курсът балансира теоретични познания с практически умения и съдържа много примери и добри практики използвани в реални проекти. В края на курса ще бъде изготвен и защитен индивидуален курсов проект.

Курсът е предназначен за:

  • хора без професионален опит, но преминали успешно курс за Програмиране с Java в SoftAcad (или друга академия), които желаят да задълбочат познанията си
  • работещи Java програмисти, желаещи да усъвършенстват уменията си с цел повишаване на професионалното си ниво
  • опитни QA специалисти, които се занимават с писане на автоматизирани тестове и желаят да подобрят уменията си за писане на качествен код

Лекциите са на български език, но е задължително курсистите да имат минимални познания по английски език. Курсът изисква базови познания по програмиране с езика Java (възможност за самостоятелно разработване на малки програми). Ако никога преди това не сте програмирали, този курс не е за вас. В този случай, препоръчваме да започнете с обучението ни за начинаещи Програмиране с Java.

Продължителност на курса

Продължителността на курса е 3 месеца (материалът ще бъде вместен в 25 занятия, общо 100 астрономически часа). Всяка седмица са предвидени 2 занятия по 4 астрономически часа. Занятията се състоят от лекции, демонстрации и упражнения, като се цели практическата насоченост на материала.

Лектор на курса: Божидар Димитров

  • Бакалаварска степен със специалност „Компютърни Системи и Технологии“ към ТУ София
  • 5+ Години опит като софтуерен инженер
  • Преподавател в академията TalentBoost на VMware в периода 2013 – 2015г.
  • Преподавател в ТУЕС по C и Python
  • Първо място – за най-добър програмист в „Панорама на Българското образование“ 2009
  • Три награди в международния форум “Computer Space 2009”
  • Интереси и сертификати в областта на Квантовото програмиране и Изкуствения интелект.

Получаване на сертификат

Всеки участник ще получи сертификат при успешно завършване.

Цена на курса в град София

Цената на курса е 290 лв. на месец (870 лв. за цялото обучение). За удобство на клиентите, преди началото на курса се заплаща 2/3 от сумата (580 лв.), а в началото на третия месец от обучението и останалата част от 290 лв.

Безплатен ваучер на стойност 114 лв.

При записване на курс, всеки получава и безплатен хостинг на стойност 114 лева, предоставен от партньорите ни ICN.BG. Ваучерът дава право на 12 месеца безплатен хостинг от план „Икономичен“.

Практическа част по време на занятия

За упражненията и практическата част по време на занятията всеки курсист трябва да носи личен лаптоп. Софтуерът, който е необходим за обучението, е безплатен и не е необходимо да бъде инсталиран преди началото на курса.

В кои дни се провежда курсът и кога ще започнат нови групи?

Вижте графика тук.

Програма на курса

1. Откъде започва всичко – Двоична алгебра
- Бройни системи
- Двоични Функции
- Булеви Операции
- Закон на Де Морган

2. Сърцето на програмата – Дизайн и анализ на алгоритми:
- Въведения в дизайна на алгиритми
- Изчисляване на сложността на алгоритъма
- Основни алгоритми – търсене и сортиране
- Рекурсията в дълбочина
- Методът „Разделяй и Владей“

3. Форми на програмата – Структури от данни
- Анализ и имплементация на списъци, опашки и стекове. Основни операции
- Анализ и имплементация Дървета и Графове. Основни алгоритми
- Heap, Hash функции, Hash таблици

4. Структирите от данни в практиката – Java Collections
- Основни интерфейси и имплементации на стандартните колекции в Java
- Правилно използване на стандартните колекции в Java
- Основни инструменти

5. Запознаване в дълбочина със виртуалната машина на Java (JVM)
- Модел на изпълнение на Java програми
- Организация на паметта в JVM
- Видове алгоритми за управление на памета. (Garbage Collection)
- Анализ на Java програми

6. Конкурентно програмиране
- Въведение в конкурентното програмиране
- Нишки и синхронизационни примитиви
- Синхронизирани колекции в Java
- Fork-Join
- Паралелни потоци

7. Писане на качествен и лесен за поддържане код
- Защо е важно да пишем качествен код?
- Конвенции в Java
- Утвърдени принципи за писане на качествен код

8. Проектиране на обектно-ориентиран дизайн
- Въведение в писането на обектно-ориентирани програми
- Унифициран език за моделиране (UML)
- Основни принципи на обектно-ориентирания дизайн – „Силна Кохезия“, „Слаба Свързаност“, „Принцип на най-малкото знание“

9. Тестване на програмен код (Unit Testing)
- Въведение в тестването на програмен код
- Как да пишем добри тестове
- Разработване на програми базирано на тестването(test driven development)

10. Шаблони за Дизайн
- Защо са ни нужни
- Видове шаблони за дизайн

CLOSE
CLOSE
Sign up for our Newsletter

Enter your email and stay on top of things,