СПОНСОРИРАН ОТ

Стани Back-end Junior Developer със SQL, PL/SQL, Pro*C, C и С++! Обучението е напълно безплатно за курсистите! Отдели само 6 месеца и ще получиш нужната основа за бърз старт!
НАЧАЛО
ОКТОМВРИ 2023
6 МЕСЕЦА
НАПЪЛНО БЕЗПЛАТНО
9 ЧАСА СЕДМИЧНО
ОНЛАЙН ПРОВЕЖДАНЕ
ПОДХОДЯЩ ЗА ХОРА С ПОЗНАНИЯ, СРЕДНО НАПРЕДНАЛИ
РАБОТА В СОФИЯ, ПРАКТИКА НА МЯСТО В ОФИС
ПОДХОДЯЩ ЛИ Е ЗА МЕН ТОЗИ КУРС
Искаш да се занимаваш с програмиране? Разглеждал си курсове, дори имаш един-два зад гърба си или учиш в университет по специалността? Искаш да направиш завой в кариерата? Имаш познания, но нямаш практически опит с програмиране?
Този курс е за теб!
NB! Курсът е подходящ за хора, които живеят в София или имат намерение да се изместят при одобрение. В последния месец от обучението ще имаш и задължителни, практически занятия със синиър програмисти от CODIX. Те ще са на място в офис, ако обстановката го позволява.
В това обучение ти ще придобиеш умения, необходими за всеки Junior back-end програмист – да разбираш и създаваш back-end логиката, благодарение на която работи софтуерът. По-конкретно ще се научиш да пишеш на едни от най-широко разпространените и широкоприложими програмни езици C и С++, да работиш с бази данни и да ги вграждаш в език-приемник. Освен стабилни познания по back-end програмиране, този курс ще ти даде шанс да стартираш кариера след завършването му. Ако вече си решил, че това е твоят професионален път, не се колебай!
КАК ДА ИЗВЛЕЧЕШ МАКСИМАЛНА ПОЛЗА ОТ КУРСА
За период от 6 месеца ще очакваме от теб да се съсредоточиш върху лекциите, писането на код и усвояването на предложените от лекторите и менторите ни знания и по този начин да промениш своя път в професията!
Необходимо е да присъстваш на онлайн лекциите с лекторите, на срещите с менторите, както и да отделяш поне по 5 часа всеки ден за решаване на задачи, проучвания и самоподготовка. Ще ти е нужно да имаш добра интернет връзка, слушалки с микрофон, камера и разбира се – настолен компютър или лаптоп.
Онлайн срещите с менторите за обсъждане на задачите за самоподготовка ще са в и извън работно време по предварително установен график и присъствието е задължително!
Да си програмист си е занаят – колкото повече се упражняваш, толкова по-добър ставаш. Точно заради това в обученията на Code Academy са заложени много практически задачи и проекти за създаване на софтуер по реални задания. В обучението са включени и обучения по ефективна комуникация. Това е необходимо, защото програмирането е социално занимание – програмистите работят в екипи и от ефективната им комуникация се определя бързината и ефикасността на свършеното задание.
НУЖНО ЛИ Е ДА ИМАМ ПОЗНАНИЯ В ОБЛАСТТА
Трябва да имаш основа, за да надграждаш върху нея. Обучението започва от самото начало, но ритъмът е форте и ще искаме от теб сериозна концентрация. За да можеш да напредваш в темповете на групата и да усвояваш материала ритмично, е задължително да познаваш отлично бройни системи, типове, променливи, оператори и цикли. Да си решавал задачи. Също и да имаш поне теоретично понятие какво са функциите и структурите от данни.
Ако си напълно начинаещ, първо трябва да получиш нужните знания с курса “Въведение в програмирането с езика С”.
Задължително е също да имаш познания по английски език и умения за водене на бизнес кореспонденция – писмено и говоримо. Имай предвид, че ще те изпитаме.
КАКВО ЩЕ НАУЧА
В края на това обучение за професия Back-end Junior Developer със SQL, PL/SQL, Pro*C, C и С++ ще си готов да започнеш кариера в компания, която разработва собствен софтуер за управление на големи комплексни финансови системи. По време на 6-месечния интензивен курс ще усвоиш материал, ще си се упражнявал, също ще си писал практически проекти, възложени от CODIX, в екип, ръководен от ментор с многогодишен опит.
КАК ЩЕ ПРОТЕЧЕ КУРСЪТ
Специализираното обучение включва лекции и упражнения два или три пъти седмично, в работно време. Лекциите се водят от изключително опитни колеги програмисти с дългогодишен стаж. Допълнително сме предвидили практически насочени срещи с груп ментори – джуниър програмисти, обикновено наши бивши курсисти, успешно реализирани при наш партньор. На тези срещи ще се коментират домашни и ще получаваш насоки как да ставаш все по-добър от бъдещите си колеги. Срещите с груп менторите ще се провеждат извън работно време в деня преди провеждането на лекцията. Присъствието на лекции и срещи с ментори е задължително, в противен случай няма да успееш да завършиш успешно обучението си.
ТЕМИ ЗА ТОЗИ КУРС
1. Въведение – структура на програмите на С – билд процес, компилатор – бройни системи – Запознаване с конзолата. – Запознаване с IDE – Visual Studio Code
2. Променливи и константи – signed и unsigned тип – типове с плаваща запетая – float, double – Достъп до променлива – L-value и R-value – Видимост и време на живот – локални, глобални и статични променливи – Константи – дефиниране, декларация,използване на препроцесора за създаване на константа – Целочислени литерали, Литерали с плаваща запетая, Символни литерали – Низови (string) литерали в С – Big and Little Endian (подредба на байтовете: старши байт първи или младши байт първи)
3. Оператори, изрази и стейтмънти – Модификатори на променливи – auto (подразбира се във блок),register, static, extern – Аритметични оператори – Релационни и логически оператори – Инкрементиране и декрементиране – Оператори за сравнение
4. Управление на последователността на изпълнение – Оператори и блокове – Условна конструкция if-else – Условна конструкция if-else-if – Конструкция switch – Цикъл с предусловие – while() – Цикъл с постусловие – do {/* изпълнява ако е изпълнено */} while () – Цикъл for (;;) – Безусловен преход goto
5. Функции – Спецификация на функция – Дефиниция на функция, прототип на функция – параметри на функцията и връщан тип – Указател като параметър – Указател към функция – Функция с произволен брой аргументи. – Overloading на функции – Рекурсивна функция – Inline функция – Видимост на функции – Стек и извикване на функция
6. Указатели и масиви – Указатели и адреси – Указатели и масиви – Адресна аритметика – Указатели и масиви – Конст пойнтер – Какво е референция – Масиви от указатели – указатели към указатели – многомерни масиви – Инициализация на масив от указател – Аргументи от командния ред
7. Структури – Дефиниция, декларация, инициализация – Достъп до елементите на структура – Разполагане в паметта – Структура като формален параметър – Връщане на структура от функция – Масиви от структури – Указатели към структури – typedef – Обединения – Битови полета
8. Преобразуване на типове – Неявно преобразуване на типове – преобразуване от един тип в друг (type casting) – преобразуване на типове с изрично указване на типа
9. Препроцесор – директиви – препроцесорни оператори – макроси
10. Динамични структури – Елемент на динамична структура – Рекурсивна структура – Списък – Стек и опашка – Дърво
11. Вход/Изход – Стандартни Вход / Изход / Грешки – Свързване на входа и изхода на програми (pipe) – Небуфериран вход/изход – Режим на отваряне на небуфериран файл – Буфериран вход/изход – Функции от стандартната библиотека за вход/изход – Режим на отваряне на файла при буфериран вход / изход – Бинарни и текстови файлове
12. Управление на грешките – грешки при анализа на обекта на автоматизация – грешки в спецификацията – грешки при компилиране – грешки при свързване – грешки по време на изпълнение (runtime errors) – грешки в стандартна С библиотека – сигнали за грешки – Обработка на изключения със setjmp/longjmp
13. Управление на паметта – видове памет – вътрешна, външна, виртуална – управление на RAM памет – използване на паметта – статично, автоматично, динамично – стандартни функции за динамичната памет – грешки при използването на динамичната памет – Средства за откриване на грешки при използване на динамична памет
14. Многонишково програмиране на С – Multithreading – заключване с mutex – Producer – Consumer – context_t
1. Въведение – синтаксис на С++
2. Елементи – класове – обекти – капсулация – абстракция – полиморфизъм – ползи от ООП
3. Структура с методи – структури в С и С++ – методи и данни – указател this – конструктор/деструктор – упражнения
4. Класове – синтаксис – наследяване – презареждане – базов конструктор – упражнения
5. Полиморфизъм – абстрактни класове – виртуални методи – виртуален деструктор – множествено наследяване – интерфейси – упражнения
6. Масиви и вектори в С++ – std::array позволяващ да направим масив с фиксиран размер от всеки тип. – деклариране и инициализация на масив std::array – достъп и модифициране на елементите на масива – arr.at(i) – std::array методи – size(), std::sort(), front(), back() – std::vector декларация и инициализация на вектор – достъп и модифициране на елементите на – std::vector методи – vec.size(), vec.capacity(), vec.max_size()
7. Стрингове в С++ – C style string и разликата му с STL std::string class – Базови операции със STL strings – сравнение, Конкатинация (concatenation), извличане на подстрингове, търсене. – Операции със стрингове – извличане на подстринг и изтриване на подстринг.
8. Изключения – алтернативна обработка на грешки – създаване на изключение – обработка на изключения – наследяване на изключения – упражнения
9. Смарт пойнтери – Уникални поинтери std::unique_ptr – Споделени поинтери std::shared_ptr – Слаби поинтери std::weak_ptr a_ptr – RAII – Resource acquisition is initialization – Придобиването на ресурс чрез инициализация
10. Многонишково програмиране със С++ – Управление: Стартиране на нишка, завършване на работата на нишката, използване на RAII за изчакване завършването на нишката – Защитаване на даните с mutexes – Използване на std::lock_guard objec – Мъртва хватка – проблеми и решения – гъвкавост на заключването с std::unique_lock – трансфер на собствеността на мютекса между скоуповете – атомарни операции в С++
1. Въведение – основни понятия – шаблони – метапрограмиране – контейнери – итератори – алгоритми
2. Контейнери – списъци – масиви – стекове – опашки – множества – хешове – упражнения
3. Итератори – наредба – навигация с итератори – управление на достъпа до данните – упражнения
4. Алгоритми – обработка на данни – сортиране – последователно търсене – двоично търсене – акумулиране – запълване – заместване – реверсиране – упражнения
5. Други – функции и функтури – управление на низове – потоци и файлове – генератори – помощни класове за указатели – нишки и гардове – упражнения
1. Въведение в БД – архитектура на БД, езици за управление на БД, теория на релационните бази данни – релация, атрибут, запис, поле, изглед, ключове, индекси, типове релации
2. Въведение в БД – архитектура на БД, аномалии при вмъкване, изтриване и актуализиране. Нормални форми на БД
3. Въведение в SQL – езици в SQL – DDL, DML и DCL, основни констрейни (constraints), индекси, вградени типове данни, създаване, изтриване на таблици, INSERT, UPDATE, DELETE – въвеждане, промяна на данни и изтриване на записи.
4. ANSI SQL оператор SELECT – псевдоними, клаузи where, оператори за сравнение, логически оператори, LIKE, IN, BETWEEN изрази, ORDER BY оператор, агрегатни функции – COUNT, MAX, MIN и т.н., клаузи HAVING и GROUP BY. Вложени заявки
5. ANSI SQL оператори JOIN, UNION, INTERSECT, EXCEPT – обединения на заявки, външни свързвания, вътрешни свързвания
6. ANSI SQL Съхранени процедури и тригери – капсулиране, създаване и изтриване, NEW и OLD клаузи
7. ANSI SQL Индекси и виртуални таблици (INDEXES и VIEWS) – основни принципи, кълстерни и неклъстерни индекси, операции при индексиране, partitioning, създаване, модификация и изтриване.
8. ANSI SQL – Aliases and Synonims. Схеми. Tablespaces. Sequences. Вградени функции. Логически, аритметични и побитови оператори. User defined operators. User defined functions.
9. ANSI SQL – Sessions, Transactions and Locks – основни оператори, параметри на сесия, ACID check, transactions – Explicit and implicit modes, COMMIT, ROLLBACK, вложени транзакции, дистрибутирани транзакции, transaction isolation levels. Locking modes, deadlocks.
10. ANSI SQL Security – Database auditing. Използване на Views, Constraints, Stored procedures and Triggers for Security.
1. Въведение в PL/SQL
2. Основи на PL/SQL
3. Функции, тригери, съхранени процедури
4. Пакети
5. Курсори
6. Колекции
7. Code optimization and tuning
1. Въведение – понятия – езици приемници – примерна програма – предимства на ESQL
2. Вграждане на SQL, PL/SQL – синтаксис – структура – обмен на данни – упражнения
3. Препроцесор – препроцесорна обработка – примерен Makefile – опции на препроцесора – препроцесорен контрол на мета данните – упражнения
4. Променливи за връзка – индикаторни променливи – входни променливи – изходни променливи – указатели – масиви – структури и записи – упражнения
5. Статичен и динамичен SQL – статично вграждане – динамично съзадаване на SQL – предварителна обработка – упражнения
6. Обработка на грешки – грешки при препроцесорната обработка – грешки при изпълнение – област за комуникация – за/против goto – диагностика – упражнения
7. Курсори – деклариране – отваряне/затваряне/навигация – извличане на данни – курсорни променливи – упражнения
8. Транзакции – синтаксис и структура – деклариране и параметри – диаграми на изпълнение – вложени транзакции – разпределение транзакции – безизходна ситуация – упражнения
ЗАПЛАЩАНЕ
Обучението се заплаща изцяло от CODIX. Курсът е БЕЗПЛАТЕН за курсистите и участието в него е обвързано с определени условия и изисквания. Последвай линка и прочети повече за CODIX!
КАК ДА КАНДИДАТСТВАМ ЗА КУРСА
Ако имаш интерес към това обучение, се регистрирай.
След като го направиш, на посочения от теб e-mail ще получиш потвърждение за регистрацията си. Допълнително ще се свържем с теб по телефона и ще ти изпратим инструкции и дата за входящ тест! Следи електронната си поща, за да не пропуснеш важна информация!
След като получим резултатите ти, ще ги обработим и ще ти върнем обратна връзка със следващи стъпки.
Успешно издържалите теста ще поканим на лично интервю.
Одобрените след интервю кандидати ще получат договор за обучение.
Старт на обучението октомври 2023 г.