ЦЕНТЪР ЗА ПРОФЕСИОНАЛНО ОБУЧЕНИЕ
КЪМ „ХАРМОНИЯ 1”ООД
УЧЕБЕН ПЛАН
ЗА НАЧАЛНО ПРОФЕСИОНАЛНО ОБУЧЕНИЕ С
ПРИДОБИВАНЕ НА ВТОРА СТЕПЕН НА ПРОФЕСИОНАЛНА КВАЛИФИКАЦИЯ
Професионално направление | Компютърни науки | Код:481 |
Професия | Програмист | Код: 481010 |
Специалност | Програмно осигуряване | Код: 4810101 |
Степен на професионална квалификация | втора |
Очаквани резултати от обучението:
по ДОС за придобиване на квалификация по професии, публикувани в ДВ от началото на 2016 г.
ЕРУ Здравословни и безопасни условия на труд (ЗБУТ) и опазване на околната среда
Резултат от учене
1:1
|
Спазва хигиенните норми и здравословните и безопасни условия на труд на работното място |
Знания | • Познава разпоредбите за осигуряване на здравословни и безопасни условия на труд за конкретната трудова дейност
• Познава средствата за сигнализация и маркировка за осигуряване на ЗБУТ • Знае основните рискове за здравето и безопасността при конкретната трудова дейност • Знае основните мерки за защита и средствата за сигнализация и маркировка за осигуряване на ЗБУТ |
Умения
|
• Прилага необходимите мерки за защита
• Използва средствата за сигнализация и маркировка за осигуряване на ЗБУТ |
Компетентности
|
• Изпълнява трудовата дейност при спазване на необходимите мерки за осигуряване на безопасност и здраве при работа
• Проявява отговорност към останалите участници в трудовия процес • Извършва трудовата дейност, като спазва нормативните разпоредби за осигуряване на здравословни и безопасни условия на труд на работното място |
Резултат от учене
1.2: |
.. Предотвратява и овладява аварийни ситуации |
Знания | • Знае основните рискови и аварийни ситуации • Познава основните изисквания за осигуряване на аварийна безопасност
• Изброява основните стъпки за действия при аварии и аварийни ситуации • Познава видовете травми и методите за оказване на първа помощ |
Умения
|
• Използва терминологията, свързана с аварийните ситуации
• Спазва изискванията за осигуряване на пожарна и аварийна безопасност • Спазва правилата за действия при аварии и аварийни ситуации • Оказва първа помощ на пострадали при авария |
Компетентности
|
• Разпознава рисковете, които могат да доведат до възникване на пожар и/или авария
• Участва в овладяването на възникнал пожар и/или авария в съответствие с установените вътрешнофирмени правила за пожарна и аварийна безопасност |
ЕРУ 2 Икономика | |
Резултат от учене
2:1 |
Познава основите на пазарната икономика |
Знания | • Познава общата теория на пазарната икономика
• Запознат е с основните икономически проблеми – оскъдност, ресурси, избор • Знае ролята на държавата в пазарната икономика • Познава видовете икономически субекти в бизнеса |
Умения
|
• Информира се за успешни практически примери за управление на различни бизнес начинания |
Компетентности
|
• Способен е да идентифицира успешни практически примери за управление на бизнес начинания, като обясни ролята на всеки икономически субект, ангажиран в бизнеса |
Резултат от учене
2:2 |
Познава характеристиките на производствената дейност във фирмата/предприятието |
Знания | • Познава основите на пазарното търсене и пазарното предлагане
• Дефинира основни икономически понятия – приходи, разходи, печалба, рентабилност |
Умения
|
• Обяснява основни икономически понятия в контекста на дейността на фирмата/предприятиет |
Компетентности
|
• Способен е да анализира основните икономически принципи в контекста на дейността на дадена фирма/предприятие |
ЕРУ 3 Предприемачество | |
Резултат от учене
3.1: |
Познава основите на предприемачеството |
Знания | • Знае същността на предприемачеството
• Знае видовете предприемачески умения |
Умения
|
• Анализира практически примери за успешно управление |
Компетентности
|
• Предлага нови идеи за ефективно изпълнение на трудовите дейности |
Резултат от учене
3.2: |
Формира предприемаческо поведение |
Знания | • Познава характеристиките на предприемаческото поведение
• Знае видовете предприемаческо поведение |
Умения
|
• Преценява необходимостта от промени, свързани с подобряване на работата |
Компетентности
|
• Предлага решения за оптимизиране на трудовите дейности |
ЕРУ 4 Организация на труда | |
Резултат от учене
4-1: |
Подготовка на работното място |
Знания | • Познава правилата за работа на работното място
• Описва технологията на работа • Познава видовете инструктаж |
Умения
|
• Работи с инструментите и машините, свързани с професионалната му дейност
• Спазва правилата за ЗБУТ |
Компетентности
|
• Работи с инструментите и машините, свързани с професионалната му дейност, като спазва изискванията за ЗБУТ във фирмата/предприятието |
Резултат от учене
4.2: |
Организация на работното място |
Знания | • Познава правилата за рационална организация на работното място |
Умения
|
• Работи по схема, като спазва ЗБУТ
• Открива грешки от технологичен характер • При техническа неизправност уведомява съответното длъжностно лице • Поддържа ред и чистота на работното място |
Компетентности
|
• Изпълнява в срок поставените задачи, като спазва изискванията за качество
• Способен е да отстранява грешки от технологичен характер |
ЕРУ 5 Комуникация и чужд език | |
Резултат от учене
5.1: |
Общува ефективно в работния екип |
Знания | • Познава отделните длъжности в екипа, техните взаимоотношения и йерархични връзки |
Умения
|
• Комуникира в работен порядък с екипа и персонала |
Компетентности
|
• Комуникира ефективно с всички участници в трудовия процес съобразно работния протокол
• Поема отговорности при работа в екип |
Резултат от учене
5.2: |
Води ефективна бизнес комуникация |
Знания | • Познава етичните норми на комуникацията
• Познава правилата за вербална и невербална комуникация • Познава ефективното поведение при конфликти • Познава правилата и изискванията за делова кореспонденция |
Умения
|
• Разпознава и избягва конфликтни ситуации
• Съдейства за решаване на конфликтни ситуации • Води делова комуникация – писмена и устна • Събира и предлага необходимата информация за удовлетворяване изискванията на клиентите |
Компетентности
|
• Провежда разговор с клиенти с цел консултиране и съгласуване на предлаганите услуги
• Разбира и уважава изискванията на клиентите, като същевременно защитава интересите на организацията |
Резултат от учене
5.3: |
Владее чужд език по професията |
Знания | • Познава основната професионална терминология на чужд език |
Умения
|
• Чете и разбира кратки, по-общодостъпно написани текстове на чужд език на професионална тематика (например техническа документация и др.)
• Ползва чужд език при търсене на информация от интернет и други източници • Ползва чужд език (писмено и говоримо) при комуникация с партньори и клиенти |
Компетентности
|
• Владее чужд език на ниво, позволяващо му да осъществява успешна комуникация по познати професионални теми, изискваща обикновен, пряк обмен на информация |
ЕРУ 6 Математика | |
Резултат от учене
6.1: |
Извършва базов анализ на функции |
Знания | • Знае същността и ролята на функциите
• Знае основната математическа нотация за записване на функциите • Познава инективната, сюрективната и биективната функция • Разбира обратимостта на функциите • Познава обратимите и необратимите функции и тяхната роля в програмирането • Познава характеристиките прекъснатост, непрекъснатост, ограниченост и неограниченост на функциите • Знае начина за изобразяване на графика на функции върху правоъгълна координатна система • Познава същността на концепцията за функция от по-висок ред |
Умения
|
• Разпознава типа функция
• Намира обратни функции на прости функции • Определя типа на основните функции – линейна, квадратична, експоненциална • Разчита графика на функции, изобразени върху правоъгълна координатна система |
Компетентности
|
• Самостоятелно решава задачи, свързани с използване на изучаваните функции
• Точно чертае функции върху правоъгълна координатна систем |
Резултат от учене
6.2: |
Борави с основните математически понятия, срещани в дискретната математика |
Знания | • Знае функциите на комбинаториката
• Познава основните комбинаторни конфигурации • Познава същността на понятието булева алгебра • Познава основните булеви операции • Знае как се извършват основните булеви операции • Познава същността на множествата и тяхната роля в програмирането • Познава основните операции, извършвани с множества • Разбира понятието функция, разгледано като изображение между две множества • Разбира същността на релацията между два обекта • Знае начините за изобразяване на релация чрез функция • Познава основните свойства на релациите |
Умения
|
• Служи си с математически нотации за множества
• Прилага базови операции върху множества • Пресмята основни булеви изрази • Определя свойствата на дадена релация • Извършва основни комбинаторни пресмятани |
Компетентности
|
• Самостоятелно решава задачи за математически множества, булева алгебра и комбинаторни конфигураци |
Резултат от учене
6.3: |
Борави с основните математически понятия, срещани в линейната алгебра |
Знания | • Познава структурата вектор в линейната алгебра и нейната функция
• Познава основните характеристики на вектора • Познава структурата матрица в линейната алгебра и нейната функция • Познава основните характеристики на структурата матрица • Знае основните операции, които могат да се извършват между вектори и матрици • Познава понятието детерминанта на матрица • Знае информацията, която дава детерминантата • Знае алгоритъма за пресмятане на детерминанта • Познава метода на Гаус като начин за решаване на система линейни уравнения и алгоритъма за прилагането му |
Умения
|
• Реализира основни операции над вектори и матрици
• Пресмята детерминанта на матрица • Решава система линейни уравнения чрез метода на Гаус |
Компетентности
|
• Способен е самостоятелно и точно да решава задачи, включващи вектори, матрици и операциите над тях
• Способен е самостоятелно и точно да решава задачи, включващи пресмятане на детерминанта на матрица • Способен е самостоятелно и точно да решава задачи чрез метода на Гаус • Способен е самостоятелно и точно да решава задачи по програмиране, за които са необходими знания за вектори и матрици |
Резултат от учене
6.4: |
Прилага различни бройни системи |
Знания | • Познава същността и ролята на бройните системи
• Познава същността на основната бройна система, с която работи – десетичната бройна система • Познава двоичната бройна система и нейните роля и приложение • Познава приложението на двоичната бройна система в компютрите • Знае основните операции в двоична бройна система • Познава шестнадесетичната бройна система и нейното приложение в компютрите • Знае общия начин за преобразуване на число от една бройна система в друга |
Умения
|
• Разпознава запис в двоична и в шестнадесетична бройни системи
• Преобразува записа на числа от една бройна система в друга – от десетична към двоична и обратно; от десетична към шестнадесетична и обратно • Преобразува записа на числа от произволна бройна система към друга произволна бройна система |
Компетентности
|
• Способен е да извърши правилно основните побитови операции в двоична бройна система
• Способен е да преобразува точно записа на числа от една бройна система в друга, използвайки общия алгоритъм |
ЕРУ 7 Програмиране | |
Резултат от учене
7.1: |
Създава структурни програми с процедурен език |
Знания | • Познава скаларни и съставни типове данни (масиви, низове и структури)
• Познава основните оператори и техния приоритет в израз (аритметични, сравнителни, логически, побитови, присвояващи, знакови, инкрементиращ, декрементиращ и др.) • Изброява основните вградени функции (математически и други, характерни за избрания програмен език) • Познава операторите за вход и изход • Познава оператори за разклоняване if, if-else и switch/select • Познава операторите за цикъл с предусловие и с постусловие (while, until, do-while, do-until, for, foreach) • Знае метода рекурсия и неговото приложение • Дефинира начините за декларация и извикване на функция • Познава операторите за принудително напускане на цикъл • Познава работата с указатели (ако в съответния програмен език се използват указатели или референции) • Дефинира начините за деклариране и извикване на функция • Познава предаване на параметри по стойност и по адрес |
Умения
|
• Оперира с основните скаларни типове данни и прилага операции върху тях
• Използва динамична памет • Служи си с фактически и формални параметри • Обработва съставни типове данни • Прилага оператори за управление на изчислителния процес и побитова обработка • Структурира и създава програми, като използва функции • Създава по задание правилно функционираща програма на изучавания език • Структурира и създава програми, като използва готови библиотеки |
Компетентности
|
• Работи умело със среди за програмиране, може да се ориентира и да усвоява нови среди
• Логично и комбинативно, с прилагане на абстракции, самостоятелно създава код • Самостоятелно и творчески развива знанията и уменията си, усвоява нови програмни езици и среди за програмиране |
Резултат от учене
7.2: |
Създава структурни програми, управляващи входно-изходни потоци |
Знания | • Познава програмни средства за работа с файлове
• Знае режими на отваряне на файлове • Познава отварянето на файл за запис • Познава отварянето на файл за четене • Познава отварянето на файл за запис и за четене едновременно • Познава типовете файлове: текстови и бинарни • Изброява методи за достъп до елементи на файл |
Умения
|
• Разработва програми с достъп до файлове за запис и четене
• Използва методи за достъп до елементи на файл |
Компетентности
|
• Самостоятелно създава структурни програми с процедурен език за управление на входно-изходни потоци |
ЕРУ 8 Алгоритми и структури от данни | |
Резултат от учене
8.1: |
Реализира и прилага структури от данни и свързани с тях алгоритми |
Знания | • Знае същността на структурите от данни и тяхната роля в програмирането
• Познава харектеристиките на линейните структури от данни и основните операции върху тях • Знае същността на масива като линейна структура от данни, неговите основни характеристики, операции и тяхната сложност • Познава характеристиките на дървовидни структури от данни, основните операции върху тях и тяхната сложност • Разбира понятието параметри за тип • Разграничава структури от данни, които са параметризирани по тип (generic) • Познава средства на езика за деклариране на параметър за тип • Познава библиотеки с реализации на стандартни структури от данни • Познава динамичните структури от данни: вектор, стек, опашка, свързан списък, дек и др. |
Умения
|
• Реализира структури от данни и основните операции върху тях
• Реализира алгоритми върху структури от данни • Прилага средствата на езика за деклариране на параметър за тип • Прилага добър стил за именуване на параметър на тип |
Компетентности
|
• Способен е правилно да борави със структури от данни и основните операции върху тях
• Способен е вярно и точно да реализира алгоритми върху структури от данни • Способен е правилно да прилага утвърден стил за дефиниране и работа с параметър за тип • Способен е навременно и точно да отстранява грешки при неправилно боравене с параметър за тип • Способен е правилно да използва библиотеки с реализации на стандартни структури от данни |
Резултат от учене
8.2: |
Реализира и прилага алгоритми за сортиране |
Знания | • Знае стандартни алгоритми за сортиране и тяхната сложност
• Знае интерфейсите за достъп до методи на абстрактни типове данни от стандартни библиотеки за сортиране • Познава ограниченията на методите за сортиране • Знае как се прилага способ за прилагане на наредба за сортиране, различна от подразбиращата се |
Умения
|
• Реализира стандартни алгоритми за сортиране
• Прилага методи на абстрактни типове данни от стандартни би блиотеки за сортиране • Извършва сортиране с наредба, различна от подразбиращата се |
Компетентности
|
• Способен е правилно да прилага алгоритми за сортиране за решаване на реални проблеми
• Способен е вярно и точно да разграничава типове на структури от данни, които предост авят методи за сортиране • Способен е коректно да прилага реализация на алгоритми за сортиране от стандартни библиотеки |
Резултат от учене
8.3: |
Реализира и прилага алгоритми за търсене |
Знания | • Знае стандартни алгоритми за търсене и тяхната сложност
• Познава интерфейсите за достъп до методи на абстрактни типове данни от стандартни библиотеки за търсене • Знае ограниченията на методите за търсене • Знае как се прилага способ за прилагане на наредба за търсене, различна от подразбиращата се |
Умения
|
• Реализира стандартни алгоритми за търсене
данни от стандартни библиотеки за търсене • Извършва търсене с наредба, различна от подразбиращата се |
Компетентности
|
• Способен е правилно да прилага алгоритми за търсене за решаване на реални проблеми
• Способен е вярно и точно да разграничава типове на структури от данни, които предоставят методи за търсене • Способен е коректно да прилага реализация на алгоритми за търсене от стандартни библиотеки |
Резултат от учене
8.4: |
Използва стандартна библиотека, реализираща функционалността на речници и множества |
Знания | • Познава речници и множества като структури от данни, реализирани в стандартни библиотеки |
Умения
|
• Използва речници и множества като структури от данни, реализирани в стандартни библиотеки
• Итерира елементите на речници и множества • Извършва търсене на елемент в речник |
Компетентности
|
• Способен е правилно да съхранява данни в речник и множество
• Способен е вярно и точно да извършва CRUD операции в речник и множество |
Резултат от учене
8.5: |
Използва стандартна библиотека, реализираща функционалността на графи |
Знания | • Знае същността на структурата от данни граф и нейното приложение
• Познава основните операции, които се извършват в един граф • Познава различните начини за представяне на граф в програмирането и сложността на операциите спрямо избора на представяне • Разбира идеята за обхождане на граф • Познава различните начини за обхождане на граф • Разбира същността на идеята за намиране на най-кратък път в граф • Разбира значението на теглата на ребрата • Познава различните алгоритми за намиране на най-кратки пътища |
Умения
|
• Строи граф по зададена матрица на инцидентност
• Обхожда върховете на графа, използвайки поне по един способ • Дефинира тегла на ребра на граф като цена за прехода между два съседни върха |
Компетентности
|
• Способен е да имплементира правилно граф като структура от данни по зададена спецификация
• Способен е коректно да решава проблеми, моделирайки данните чрез графи и използвайки някой от основните алгоритми върху тях |
Резултат от учене
8.6: |
Използва стандартна библиотека, реализираща функционалността на бинарни дървета |
Знания | • Знае същността, характеристиките и приложенията на бинарни дървовидни структори от данни
• Познава основните приложения, извършвани върху дървовидни структори от данни • Знае начина за представяне на дървото като структура чрез програмен език и сложността на операциите спрямо представянето • Разбира характеристиката на дървото „удобна за рекурсия структура от данни“ • Познава същността на двоичното дърво като структура от данни и неговите характеристики • Познава сложността на операциите в дървото, и най-вече на търсенето • Разбира идеята за балансирано двоично дърво за търсене • Познава пирамидата като дървовидна структура от данни, нейните характеристики и приложения • Знае начина за представяне на пирамидалните структури • Познава основни оптимизационни алгоритми и ги прилага при решаване на известни задачи |
Умения
|
• Различава балансирано двоично дърво за търсене от стандартното двоично дърво за търсене
• Локализира дървовидни структури във всекидневната компютърна употреба – HTML, файлова система и т.н. • Представя различни видове дървета и имплементира основните алгоритми върху тях |
Компетентности
|
• Разрешава коректно проблеми, моделирайки ги чрез дървета и използвайки някой от основните алгоритми върху тях
• Разрешава коректно проблеми, използвайки дървовидни структури от данни • Способен е правилно да имплементира двоично дърво за търсене • Способен е правилно да имплементира балансирано дърво за търсене • Способен е вярно и точно да имплементира пирамидална структура от данни |
ЕРУ 9 Модели на програмиране | |
Резултат от учене
9.1: |
Използва обектно-ориентирания модел |
Знания | • Познава същността на обектно-ориентирания модел • Разбира основната идея за този модел
• Познава основните понятия в обектно-ориентираното програмиране • Разбира връзката между типовата система на даден език за програмиране и неговия обектен модел • Знае общото между типове, класове и обекти • Разбира термина „предаване по референция“ • Знае разликата между „референтна“ и „примитивна“ стойност • Разбира абстракцията и нейното приложение в обектно-ориентирания модел • Разбира основните принципи в Обектно-ориентираното програмиране (ООП): Капсулация, Наследяване и Полиморфизъм |
Умения
|
• Използва обектно-ориентиран език за програмиране
• Посочва грешки в чужд код, написан в обектен стил |
Компетентности
|
• Способен е коректно и навременно да решава проблеми в обектно-ориентиран стил |
Резултат от учене
9.2: |
Използва събитийно-ориентирания модел |
Знания | • Разбира понятието графичен потребителски интерфейс
• Дефинира понятието събитие и обработчик на събитие • Разбира понятието аргументи на събитието • Обяснява понятието обработката на грешки в ООП |
Умения
|
• Различава конзолно от графично приложение
• Обработва изключителни ситуации в ООП |
Компетентности
|
• Реализира коректно десктоп или мобилно приложение с графичен потребителски интерфейс
• Управлява умело робот или хардуер с помощта на събития от сензори или хардуерни прекъсвания |
Резултат от учене
9.3: |
Създава софтуер, използващ клиент-сървърни архитектури |
Знания | • Разбира концепцията за клиент-сървърна архитектура
• Познава приложението на клиент-сървърната архитектура • Разбира концепцията за протокол за комуникация между даден клиент и сървър • Разбира начина на свързване на клиент-сървърната архитектура с бази от данни – „трислойна“ архитектура |
Умения
|
• Реализира проста клиент-сървър архитектура
• Разпознава вече съществуваща клиент-сървър архитектура |
Компетентности
|
• Способен е вярно и съобразително да създава и надгражда софтуер, използващ клиент-сървър архитектура |
ЕРУ 10 Софтуерна разработка | |
Резултат от учене
10.1: |
Използва различни видове операционни системи |
Знания | • Знае същността, приложението и ползите на операционната система
• Познава най-често използваните видове операционни системи • Знае услугите на една операционна система • Знае начини за инсталиране на софтуер върху операционна система • Разбира разликите между процес и програма |
Умения
|
• Инсталира ОС
• Използва ОС без графична среда – чрез терминал • Навигира и редактира файлове чрез конзолен редактор • Инсталира и конфигурира софтуер на дадена ОС чрез използване на пакетни мениджъри |
Компетентности
|
• Идентифицира вярно и точно ресурсите на ОС, ангажирани с изпълнението на конкретен процес
• Способен е навременно да се справя с различни проблеми, свързани с конфигуриране и инсталиране на софтуер • Способен е ефективно да създава виртуални машини |
Резултат от учене
10.2: |
Дефинира устройството на компютъра |
Знания | • Разбира функциите на основните компютърни компоненти и тяхното взаимодействие
• Познава основни интерфейси и свързани с тях протоколи (USB, Ethernet, VGA, HDMI, PCI, SATA, DVI и др.) |
Умения
|
• Свързва и конфигурира периферни устройства с компютър
• Прави основна профилактика на компютърна система |
Компетентности
|
• Способен е точно да добавя и настройва периферни устройства
• Способен е правилно да пише скриптове за конфигуриране на софтуерни компоненти и ПУ |
Резултат от учене
10.3: |
Обяснява разликата между среда за разработка и текстов редактор |
Знания | • Знае същността на средата за разработка и тази на текстовия редактор
• Познава връзката между езици и технологии и препоръчителни среди и редактори • Знае основните операции в текстов редактор и в среда за разработка • Познава процеса на работа на интегрираната среда за разработка, когато стартира програма |
Умения
|
• Прилага конзолен текстов редактор за работа с операционни системи
• Експлоатира средата за разработка за отстраняване на грешки (debug) • Извършва базово рефакториране на кода, използвайки инструментите, предоставени му от средата или редактора • Конфигурира настройките на средата или редактора за постигане на по-голяма ефективност в работата си |
Компетентности
|
• Способен е да използва ефективно поне една среда за разработка или поне един текстов редактор
• Способен е правилно да преценява спрямо конкретната ситуацията дали да използва текстов редактор, или среда за разработка |
Резултат от учене
10.4: |
Прилага стандартни средства за компилация, интерпретация и изпълнение на програма |
Знания | • Разбира процеса на компилация
• Разбира процеса интерпретация • Идентифицира причините за възникване на compile-time error • Идентифицира причините за възникване на run-time error • Разбира ролята на междинен код и виртуална машина за преносимостта на програми на ниво изпълнение • Разбира термина израз (expression) в даден език за програмиране • Разбира термина statement в даден език за програмиране • Дефинира управлението на паметта при компилатори и интерпретатори и виртуални машини |
Умения
|
• Разграничава процес на компилация, интерпретация и пускане на виртуална машина спрямо езика, който използва |
Компетентности
|
• Способен е правилно да пише на поне един език за структурно програмиране
• Способен е коректно да пише на поне един език за обектно-ориентирано програмиране • Способен е да анализира различни видове възникнали логически грешки |
Резултат от учене
10.5: |
Реализира търсене и отстраняване на грешки и процес на „рефакториране„ |
Знания | • Познава процеса на отстраняване на грешки (debug) – търсене на грешки, използвайки даден инструмент
• Изброява средства за отстраняване на грешки (debug) в дадено IDE – break points, stepping in and stepping out of functions • Познава същността на процеса на рефакториране • Знае средства за базово рефакториране в дадено IDE |
Умения
|
• Оперира с инструменти за отстраняване на грешки (debug), за да открива причини за странно или неправилно поведение на програмата
• Употребява инструменти за базово рефакториране • Проследява логиката на кода и открива проблеми в него |
Компетентности
|
• Способен е вярно и точно да открива и анализира причините за неправилно поведение в по-голям проект |
Резултат от учене
10.6: |
Обяснява същността на клиент-сървърни архитектури |
Знания | • Разбира концепцията за клиент-сървърна архитектура
• Познава приложението на клиент-сървърната архитектура • Разбира концепцията за протокол за комуникация между даден клиент и сървър • Разбира начина на свързване на клиент-сървърната архитектура с бази от данни – „трислойна“ архитектура |
Умения
|
• Реализира проста клиент-сървър архитектура
• Разпознава вече съществуваща клиент-сървър архитектура |
Компетентности
|
• Способен е вярно и точно да създава и надгражда софтуер, използващ клиент-сървър архитектура
• Определя правилно коя архитектура е най-подходяща в конкретен случай |
Резултат от учене
10.7: |
Използва бази от данни и прилага CRUD операции над тях |
Знания | • Разбира нуждата от бази от данни
• Познава различни типове бази от данни: Релационни, Документно-базирани, Мрежови, LDAP • Познава различните типове данни • Познава различните модели на бази от данни |
Умения
|
• Извършва основни операции чрез СУБД или SQL: – Извличане на данни: SELECT – Манипулиране на данни: INSERT, UPDATE, DELETE – Дефиниране на данни: CREATE, ALTER, DROP – Управление на трансакции: START TRANSACTION, COMMIT, ROLLBACK
• Дефинира логическа структура на данни по зададен модел • Създава заявки за въвеждане, изтриване и промяна на данни • Работи със съхранени процедури |
Компетентности
|
• Способен е вярно да създава, моделира и работи с база от данни
• Способен е правилно да създава софтуер, който използва база от данни |
Резултат от учене
10.8: |
Дефинира различни начини за комуникация между системи |
Знания | • Знае същността на протокола за комуникация между системи и разбира нуждата от тях
• Дефинира OSI модела • Познава основните протоколи за комуникация от по-ниско ниво – TCP/UDP • Познава основни протоколи за комуникация на „приложно“ ниво – HTTP • Познава формати, чрез които две системи могат да разменят комуникация: Binary, Structured Text Format. • Разбира „service oriented“ архитектурата и нейното приложение |
Умения
|
• Разграничава отделни софтуерни системи и протокола/формата, по който те комуникират
• Сериализира и десериализира данни от и към най-популярните текстови формати (JSON, XML) |
Компетентности
|
• Способен е правилно да създава и надгражда софтуер, използващ клиент-сървър архитектура |
Резултат от учене
10.9: |
Назовава основни стандарти за представяне и описание на данни в текстов вид (xml, json) |
Знания | • Познава стуктурата на xml документ
• Познава стуктурата на json документ |
Умения
|
• Визуализира данните на xml документ
• Визуализира данните на json документ • Употребява стандартни библиотеки за обработка на xml и json документ • Чете и пише данни в xml или json формат • Разграничава области от имена и елементи в xml формат |
Компетентности
|
• Експлоатира правилно xml или json формат за съхранение на данни по зададена спецификация
• Извлича и съхранява точно данни от xml или json формат • Преобразува вярно данни от xml или json формат в други стуктури от данни |
ЕРУ 11 Работен процес | |
Резултат от учене
11.1: |
Владее основните процеси на софтуерно тестване |
Знания | • Разбира нуждата от тестване на софтуера • Дефинира основните правила и характеристики на тестването
• Разбира разликите между различните видове тестове (Unit testing, Integration testing, Functional testing) • Разбира работата на различните тестови framework • Познава разликата между ръчно и автоматизирано тестване |
Умения
|
• Провежда ръчни тестове, за да идентифицира проблеми
• Пише различни видове тестове (unit тестове, functional тестове, integration тестове) • Превръща user stories в тестове • Служи си с тестовете като форма на документация на даден код (например библиотека) |
Компетентности
|
• Способен е да тества ефективно и автоматизирано софтуерен проект |
Резултат от учене
11.2: |
Използва методологии за разработка на софтуер |
Знания | • Познава общия процес на разработка на софтуер и Value-chain (верига на добавената стойност)
• Знае различните роли, които влизат в разработката на даден софутер (бизнес анализатори, програмисти, системни администратори, специалисти по контрол на качеството, проектни мениджъри, представители на клиентите на 3 нива – бизнес, техническо, технологично) • Познава етапите от жизнения цикъл на разработване на програмен продукт • Познава и разбира същността на гъвкавите и негъвкавите методологии за разработка на софтуер, както и идеи зад тях • Изброява примери за употреба (и съответните плюсове и минуси) от тези методологии • Разбира значението и приложението на user stories |
Умения
|
• Прави дизайн на дадена система – feature част, преди да бъде написана като код |
Компетентности
|
• Работи успешно в екип по софтуерен проект, спазвайки различна методология за разработване на софтуер
• Поема отговорно определена роля в даден софтуерен процес със съответната методология • Аргументира се коректно за използването на дадена софтуерна технология в конкретни случаи |
Резултат от учене
11.3: |
Използва системи за контрол на версията на изходния код |
Знания | • Разбира разликата между централизирана и децентрализирана source control/ version control система (svn/ git)
• Познава начините за работа с основните source control/ version control системи • Разбира понятията commit, branch, merge, push и pull в контекста на source/ version control системата, която използва • Разбира понятието конфликт в контекста на програмирането и знае методи за преодоляването на конфликти • Познава начини за интеграция на source/ version control системи в среди за разработка • Познава добри практики, свързани с процеса на поддържане на source/ version control системи |
Умения
|
• Експлоатира системите през графичен и конзолен потребителски интерфейс
• Практикува source/ version control hosting service |
Компетентности
|
• Работи успешно в екип, използвайки source/ version control система
• Избира подходящата source/ version control система според нуждите на екипа и проекта |
Резултат от учене
11.4: |
Следва процес на управление на задачите |
Знания | • Разбира необходимостта от управление на софтуерната разработка и основни методологии за това
• Разбира идеята зад това да има „задачи“ в разработката на един софтуер • Познава понятията „процес“ и „нишка“ • Знае нужните реквизити за една задача (описание, приоритет, свързани задачи, поемане на отговорност за задача) • Разбира основните състояния на една задача (Backlocked, Pending/Todo, Doing, For Review, Done) • Разбира концепцията за „блокиране“ на задача от друга задача |
Умения
|
• Ориентира се в даден софтуер за task management
• Работи с примерна система за task management |
Компетентности
|
• Управлява обема работа целесъобразно и адекватно спрямо крайните резултати
• Способен е успешно да преведе дадена задача през целия ѝ цикъл на състояния • Комуникира ефективно с колеги и външни специалисти, когато са налице неясноти или задачи, които блокира |
Резултат от учене
11.5: |
Работи с чужд код |
Знания | • Познава инструменти за ориентиране в чужд код |
Умения
|
• Ориентира се в чужд код
• Чете тестове като документация на чужд код • Работи с чужд приложно-програмен интерфейс (API) • Ориентира се в документацията на чужд код • Извършва прегледи на кода (code reviews) |
Компетентности
|
• Способен е ефективно да поддържа и развива чужди проекти
• Лесно и бързо се ориентира и използва успешно чужди библиотеки |
ЕРУ 12 Уеб програмиране | |
Резултат от учене
12.1: |
Разработва клиентски уеб софтуер (Frontend) |
Знания | • Разбира термините URI и URL • Разбира HTTP като протокол за комуникация
• Познава семантичното структуриране на уеб страница чрез HTML • Познава стилизирането и подреждането на страница чрез CSS • Разбира концепцията за GRID системи • Разбира ролята и начините за реализация на адаптивен уеб дизайн |
Умения
|
• Използва езици за програмиране в клиентска среда (в Browser)
• Структурира семантични HTML документи • Реализира валидация на данни в клиентска среда • Реализира логика в клиентска среда • Използва GRID системи за позициониране на елементи в HTML документи |
Компетентности
|
• Способен е правилно да имплементира уеб страница по зададен дизайн
• Способен е ефективно да реализира бизнес логика, изпълняваща се в клиентска среда |
Резултат от учене
12.2: |
Разработва сървърен уеб софтуер (Backend) |
Знания | • Разбира различните HTTP заявки като начин за сървърна комуникация
• Разбира MVC като архитектура за изграждане на сървърен уеб софтуер • Познава концепцията зад REST комуникацията • Знае начините за свързване на софтуерна система с източник на данни |
Умения
|
• Ползва сървърна технология за изграждане на backend
• Реализира компоненти за комуникация с база данни • Използва резултатите от изпълнение на HTTP заявки • Реализира CRUD операции през SQL • Различава уеб приложение и уеб уебсайт • Реализира десктоп и мобилна версия на уеб сайт |
Компетентности
|
• Разработва динамичен уеб сайт – сървърна и клиентска част, проявявайки съобразителност и творчество |
№ | Видове професионална подготовка
учебни предмети |
Брой учебни часове |
Раздел А. Задължителни учебни часове | ||
ТЕОРЕТИЧНО ОБУЧЕНИЕ | ||
Раздел А1. Обща професионална подготовка | ||
Здравословни и безопасни условия на труд | ||
Икономика | ||
Предприемачество | ||
Раздел А2. Отраслова професионална подготовка | ||
Чужд език по професията | ||
Информационни и комуникационни технологии | ||
Увод в програмирането | ||
Програмиране | ||
Увод в обектно-ориентираното програмиране | ||
Увод в алгоритмите и структурите от данни | ||
Обектно-ориентирано програмиране | ||
Бази данни | ||
Разработка на софтуер | ||
Раздел А3. Специфична професионална подготовка | ||
Програмиране за вградени системи | ||
Математически основи на програмирането | ||
Операционни системи | ||
Конкурентно програмиране | ||
ПРАКТИЧЕСКО ОБУЧЕНИЕ | ||
Раздел А2. Учебна практика по отраслова професионална подготовка: | ||
Увод в програмирането | ||
Програмиране | ||
Увод в обектно-ориентираното програмиране | ||
Увод в алгоритмите и структурите от данни | ||
Обектно-ориентирано програмиране | ||
Бази данни | ||
Разработка на софтуер | ||
Раздел А3. Учебна практика по специфична професионална подготовка: | ||
Програмиране за вградени системи | ||
Математически основи на програмирането | ||
Операционни системи | ||
Конкурентно програмиране | ||
Производствена практика | ||
Раздел Б. Избираеми учебни часове | ||
Разширена професионална подготовка | ||
Бизнес комуникации | ||
Бизнес комуникации теория | ||
Бизнес комуникации практика | ||
Програмиране в Web | ||
Програмиране в Web теория | ||
Програмиране в Web практика |