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

Стани Back-end Junior Developer със SQL, PL/SQL, Pro*C, C и С++! Обучението е напълно безплатно за курсистите! Отдели само 6 месеца и ще получиш нужната основа за бърз старт!

НАЧАЛО

ЯНУАРИ 2024

6 МЕСЕЦА

9 ЧАСА СЕДМИЧНО

ОНЛАЙН ПРОВЕЖДАНЕ

ПОДХОДЯЩ ЗА ХОРА С ПОЗНАНИЯ, СРЕДНО НАПРЕДНАЛИ

РАБОТА В СОФИЯ, ПРАКТИКА НА МЯСТО В ОФИС

ПОДХОДЯЩ ЛИ Е ЗА МЕН ТОЗИ КУРС

Искаш да се занимаваш с програмиране? Разглеждал си курсове, дори имаш един-два зад гърба си или учиш в университет по специалността? Искаш да направиш завой в кариерата? Имаш познания, но нямаш практически опит с програмиране?

Този курс е за теб!

NB! Курсът е подходящ за хора, които живеят в София или имат намерение да се изместят при одобрение. В последния месец от обучението ще имаш и задължителни, практически занятия със синиър програмисти от CODIX. Те ще са на място в офис, ако обстановката го позволява.

В това обучение ти ще придобиеш умения, необходими за всеки Junior back-end програмист – да разбираш и създаваш back-end логиката, благодарение на която работи софтуерът. По-конкретно ще се научиш да пишеш на едни от най-широко разпространените и широкоприложими програмни езици C и С++, да работиш с бази данни и да ги вграждаш в език-приемник. Освен стабилни познания по back-end програмиране, този курс ще ти даде шанс да стартираш кариера след завършването му. Ако вече си решил, че това е твоят професионален път, не се колебай!

ПОДХОДЯЩ ЛИ Е ЗА МЕН ТОЗИ КУРС

Искаш да се занимаваш с програмиране? Разглеждал си курсове, дори имаш един-два зад гърба си или учиш в университет по специалността? Искаш да направиш завой в кариерата? Имаш познания, но нямаш практически опит с програмиране?

Този курс е за теб!

В това обучение ти ще придобиеш умения, необходими за всеки Junior back-end програмист – да разбираш и създаваш back-end логиката, благодарение на която работи софтуерът. По-конкретно ще се научиш да пишеш на едни от най-широко разпространените и широкоприложими програмни езици C и С++, да работиш с бази данни и да ги вграждаш в език-приемник. Освен стабилни познания по back-end програмиране, този курс ще ти даде шанс да стартираш кариера след завършването му. Ако вече си решил, че това е твоят професионален път, не се колебай!

КАК ДА ИЗВЛЕЧЕШ МАКСИМАЛНА ПОЛЗА ОТ КУРСА

За период от 6 месеца ще очакваме от теб да се съсредоточиш върху лекциите, писането на код и усвояването на предложените от лекторите и менторите ни знания и по този начин да промениш своя път в професията!

Необходимо е да присъстваш на онлайн лекциите с лекторите, на срещите с менторите, както и да отделяш поне по 5 часа всеки ден за решаване на задачи, проучвания и самоподготовка. Ще ти е нужно да имаш добра интернет връзка, слушалки с микрофон, камера и разбира се – настолен компютър или лаптоп.

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

Да си програмист си е занаят – колкото повече се упражняваш, толкова по-добър ставаш. Точно заради това в обученията на Code Academy са заложени много практически задачи и проекти за създаване на софтуер по реални задания. В обучението са включени и обучения по ефективна комуникация. Това е необходимо, защото програмирането е социално занимание – програмистите работят в екипи и от ефективната им комуникация се определя бързината и ефикасността на свършеното задание.

НУЖНО ЛИ Е ДА ИМАМ ПОЗНАНИЯ В ОБЛАСТТА

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

Ако си напълно начинаещ, първо трябва да получиш нужните знания с курса “Въведение в програмирането с езика С”.

Задължително е също да имаш познания по английски език и умения за водене на бизнес кореспонденция – писмено и говоримо. Имай предвид, че ще те изпитаме.

КАКВО ЩЕ НАУЧА

В края на това обучение за професия Back-end Junior Developer със SQL, PL/SQL, Pro*C,  C и С++  ще си готов да започнеш кариера в компания, която разработва собствен софтуер за управление на големи комплексни финансови системи. По време на 6-месечния интензивен курс ще усвоиш материал, ще си се упражнявал, също ще си писал практически проекти, възложени от CODIX, в екип, ръководен от ментор с многогодишен опит.

КАКВО ЩЕ НАУЧА

В края на това обучение за професия Back-end Junior Developer със SQL, PL/SQL, Pro*C,  C и С++  ще си готов да започнеш кариера в компания, която разработва собствен софтуер за управление на големи комплексни финансови системи. По време на 6-месечния интензивен курс ще усвоиш материал, ще си се упражнявал, също ще си писал практически проекти, в екип, ръководен от ментор с многогодишен опит.

КАК ЩЕ ПРОТЕЧЕ КУРСЪТ

Специализираното обучение включва лекции и упражнения два или три пъти седмично, в работно време. Лекциите се водят от изключително опитни колеги програмисти с дългогодишен стаж. Допълнително сме предвидили практически насочени срещи с груп ментори – джуниър програмисти, обикновено наши бивши курсисти, успешно реализирани при наш партньор. На тези срещи ще се коментират домашни и ще получаваш насоки как да ставаш все по-добър от бъдещите си колеги. Срещите с груп менторите ще се провеждат извън работно време в деня преди провеждането на лекцията. Присъствието на лекции и срещи с ментори е задължително, в противен случай няма да успееш да завършиш успешно обучението си.

ТЕМИ ЗА ТОЗИ КУРС

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 г.