Telerik Academy Hanger BG FrontБезплатното професионално обучение за софтуерни инженери в Софтуерната академия на Телерик стартира за трета поредна година. Тази година над 300 участника ще се обучават безплатно в продължение на няколко месеца за най-проспериращата професия – тази на програмистите. Успешно завършилите академията ще могат да започнат работа в работодател номер едно за 2010 година – фирма Телерик. Най-добрите участници ще имат избор да започнат работа в една от трите престижни професии:

  • .NET Software Engineer  (Софтуерни инженери за Microsoft платформата .NET)
  • QA and Test Automation Engineer (Инженери по качеството на софтуера)
  • Developer Support (Инженери по поддръжката на софтуера и връзката с клиентите)

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

Нулев етап – Изисквания

Telerik Academy Hanger BG BackЩе започна изчерпателната информация с изискванията за кандидатите на академията. Кандидатите за Софтуерната Академия на Телерик трябва да са силно мотивирани и да имат огромно желание да научат нови умения, които в последствие ще им помогнат да станат успешни в една от най-високоплатените професии в Света. Трябва да искат да се развиват в дългосрочен план като софтуерни инженери. Необходимите предварителни знания са: начални познания в областта на компютрите, английски език на ниво достатъчно за разбиране на текст и отлично ниво на български. Най-добрите участници в академията трябва да имат възможност и желание да работят на 8 часов работен ден след успешното си завършване. Опитът в програмирането е плюс, но не е задължително изискване.

Първи етап – Кандидатстване

Кандидатстването за академията става с изпращането на email до нас на academy@telerik.com. Необходимите документи за кандидатстване са:

  • CV на английски език с информация за кандидата: образование, знания, умения, работен опит, информация за контакт и т.н.
  • Cover letter (мотивационно писмо) на английски език, в което да ни разкажете защо искате да се присъедините към нашата академия и с какво академията може да ви помогне.
  • Можете да прикачите и всякакви препоръки, награди, грамоти и сертификати.

Кандидатстването започна на 19-ти септември. Крайният срок за кандидатстване е 16-ти октомври 2011 г.

Втори етап – Приемни изпити

Всеки, одобрен по документи кандидат, ще има възможност да се яви на приемните изпити за академията. Приемните изпити се провеждат няколко дена след подаването на документите. Изпитите са 3: тест по английски език, IQ тест и тест по компютърна грамотност. Всички тестове са на английски език и се провеждат в един ден. Всеки одобрен кандидат ще получи писмо, в което ще разбере датата и часа на своите изпити. Шампионите от другите курсове, провеждани от фирма Телерик, ще имат възможност да започнат академията без изпити.

Тест по английски език

Тестът по английски език се състои от 62 затворени въпроса (с избор на отговор измежду няколко). Тестът ще ви е изключително лесен, ако сте внимавали в часовете по английски език в училище. Времето, което имате за теста по английски език, е 45 минути. Ето и 4 примерни въпроса:

  1. Read the following sentence. Choose the best word or phrase: The cake I made last week tasted ………………… than the one I made today.
    1. more good
    2. better
    3. more better
    4. best
  2. Read the following sentence. Choose the best word or phrase: Birds make nests in trees ………………… hide their young in the leaves and branches.
    1. can where they
    2. where can they
    3. where they
    4. where can
  3. Choose the best prepositions: dissatisfied ………………… something
    1. on
    2. in
    3. at
    4. of
    5. from
    6. with
    7. for
    8. to
  4. Choose the best prepositions: to consist ………………… several parts
    1. with
    2. to
    3. in
    4. at
    5. on
    6. from
    7. for
    8. of

Correct answers: 1 - b); 2 - c); 3 - f); 4 - h)

IQ тест

IQ тестът се състои от 35 затворени въпроса със сериозна сложност. Целта на теста е да провери математическите способности на кандидатите и логическото им мислене. Времето за теста е 90 минути. Ето и 2 примерни въпроса:

  1. Add the same digit twice in the following equation so that it becomes true. There are two possible solutions for this problem. Which are they?
    16 x 2 = 8
    1. 2 and 3
    2. 2 and 4
    3. 3 and 8
    4. 2 and 8
    5. 4 and 8
  2. Find the next missing number:
    23, 48, 84, 133, ?
    1. 188
    2. 148
    3. 197
    4. 184
    5. 123
    6. 217
    7. 200

Correct answers: 1 - a); 2 - c)

Тест по компютърна грамотност

Тестът по компютърна грамотност се състои от 35 затворени въпроса, които целят да проверят знанията на кандидатите в сферата на информационните технологии. Времето за теста е 45 минути. Въпросите от теста са подобни на въпросите в теста от олимпиадата по информационни технологии. За подготовка можете да използвате видеата от училищната академия на Телерик. Ето няколко примерни въпроса:

  1. In which layer of the OSI model does the IP (Internet Protocol) work?
    1. Application Layer
    2. Presentation Layer
    3. Session Layer
    4. Transport Layer
    5. Network Layer
    6. Data Link Layer
  2. Which of the following tags is used in HTML for inserting a hyperlink?
    1. <a>
    2. <link>
    3. <hyperlink>
    4. <url>
    5. <location>
    6. <src>
  3. What is the binary representation of the decimal number 12?
    1. 11000
    2. 110
    3. 1100
    4. 1010
    5. 1110
    6. 0011

Correct answers: 1 - d); 2 - a); 3 - c)

Трети етап – C# Fundamentals Part 1

След приемните изпити, най-добре представилите се 300 кандидата (на изпитите и по документи) ще имат възможност да започнат своето обучение в курса "C# Programming Fundamentals – част I". Участниците ще бъдат разделени в 10 групи по 30 човека. Курсът ще бъде 2 пъти седмично по 4 часа. Всеки участник ще има избор в коя група да започне. Ще има сутрешни, обедни и вечерни групи. Обучението започва се от абсолютната нула и се обхващат базовите знания, необходими на всеки бъдещ програмист.

Програмата на курса "C# Fundamentals Part 1" е следната:

  1. Въведение в програмирането (Лекции: 1, Упражнения: 1, Домашни: 2)
    • Какво е компютърно програмиране?
    • Какво представлява разработването на софтуер и какви са основните му дейности?
    • Вашата първа програма на езика C#
    • Форматиране на програмния сорс код
    • Езикът C# и платформата .NET Framework
    • Microsoft Visual Studio: компилиране, изпълнение и дебъгване на C# програми
    • MSDN библиотека – интегрирана система за помощ във Visual Studio
    • Упражнения: създаване, компилиране и изпълнение на C# програми
  2. Примитивни типове данни и променливи (Лекции: 1, Упражнения: 1, Домашни: 2)
    • Какво е тип данни?
    • Примитивни типове данни в C#: целочислени типове, типове данни с плаваща запетая, десетични типове, булеви типове, символни низове, обекти
    • Стойностни типове и референтни типове
    • Променливи. Използване на променливи: деклариране, инициализиране, присвояване на стойност, достъпване на стойности
    • Литерали: Стойностите на променливите в сорс кода. Булеви литерали. Целочислени литерали. Литерали с плаваща запетая. Десетични литерали. Низови литерали и екраниращи символи (Escaping Sequences)
    • Упражнения: Работа с примитивни типове и променливи
  3. Оператори, изрази и and Statements (Лекции: 1, Упражнения: 1, Домашни: 2)
    • Оператори в C#
    • Приоритет на оператори
    • Аритметични оператори
    • Оператори за конкатениране на низове
    • Логически оператори
    • Побитови оператори
    • Оператори за сравнение и оператори за придаване на стойност
    • Lambda оператор => и Lambda изрази
    • Други оператори
    • Изрично и неизрично преобразуване на типове
    • Изрази и конструкции
    • Упражнения: работа с оператори и изрази
  4. Вход и изход от конзолата (Лекции: 1, Упражнения: 1, Домашни: 2)
    • Какво е конзола?
    • Писане в конзолата – писане на числа, низове и др.
    • Четене от конзолата - четене на числа и низове
    • Упражнения: Писане в конзолата и четене от конзолата
  5. Условни конструкции (Лекции: 1, Упражнения: 3,  Домашни: 6)
    • Оператори за сравнение и булеви изрази
    • if и if-else конструкции
    • Вложени if конструкции
    • Switch-case конструкция
    • Упражнения: Работа с условни конструкции
  6. Цикли (Лекции: 2, Упражнения: 4, Домашни: 8)
    • while цикли
    • do ... while цикли
    • for цикли
    • foreach цикли
    • Вложени цикли
    • Упражнения: Работа с цикли и вложени цикли

Накрая на курса има изпит. Изпитът представлява писане на програми на C#, които решават няколко конкретни задачи. Програмите се оценяват автоматично с тестове и за всеки верен отговор от вашата програма се дават определен брой точки. 150-те най-добре представили се участници в курса продължават във втората част.

Четвърти етап – C# Fundamentals Part 2

Втората част от курса продължава с по-сложните неща от езика C#. Курсът е 2 пъти в седмицата по 4 часа. С изпит върху практически задачи, решавани с помощта на C# ще бъдат отсяти най-добрите 90 кандидата. В този изпит (а може би още и в предишния) ще бъде включено и бързодействието на програмите, като част от оценката. Ето програмата на втората част:

  1.  Масиви (Лекции: 1, Упражнения: 3, Домашни: 6)
    • Деклариране и създаване на масиви
    • Достъпване на елементи от масива
    • Четене и принтиране на масиви
    • Обхождане на масиви чрез for и foreach цикли
    • Многомерни масиви
    • Упражнения: Работа с масиви и многомерни масиви
  2. Бройни системи (Лекция: 1, Упражнения: 1, Домашно: 2)
    • Бройни системи: позиционна и непозиционна
    • Преобразуване между позиционни бройни системи: бинарни, десетични и шестнадесетични
    • Представяне на числата в паметта на компютъра
    • Упражнения: Преобразуване между различни бройни системи
  3. Методи (Лекции: 1, Упражнения: 1, Домашно: 4)
    • Какво представляват методите?
    • Кога и защо имаме нужда от методи?
    • Деклариране на методи: сигнатура и имплементация (тяло), локални променливи
    • Извикващи методи
    • Употреба на параметри. Променлив брой параметри
    • Връщане на стойности
    • Methods Overloading
    • Употреба на методи - най-добрите практики
    • Упражнения: Употреба на методи
  4. Рекурсия (Лектори: 1, Упражнения: 3, Домашни: 4)
    • Рекурсия - въведение: Какво представлява? Директна и индиректна рекурсия
    • Изчисляване на факториел рекурсивно и итеративно
    • Рекурсивни комбинаторни алгоритми: симулация на n на брой вложени цикли.
    • Сравнение на рекурсия и итерация. Кога да използваме рекурсия?
    • Примери: Имплементиране на рекурсивни алгоритми
  5. Създаване и употреба на обекти (Лекции: 1, Упражнения: 1, Домашни: 2)
    • Класове и обекти
    • Класове в C#: полета, свойства, методи, конструкции и инициализатори
    • Достъпване на полета и извикване на методи
    • Статични и нестатични членове
    • Структури
    • Namespaces
    • Общата система от типове на .NET
    • Упражнения: Работа с обекти
  6. Работа с изключения (Лекции: 1, Упражнения: 1, Домашни: 2)
    • Какво е изключение?
    • Хващане на изключения
    • Предизвикване на изключения
    • Try-finally конструкция
    • Упражнения: Работа с изключения
  7. Низове и обработка на текст (Лекции: 1, Упражнения: 3, Домашно: 6)
    • Основни операции с низове – сравнение, конкатенация, взимане на подниз, търсене
    • Още операции със стрингове – замяна на подстрингове, изтриване на подстрингове
    • Създаване на низове – ефективно
    • Форматиране на низове
    • Упражнения: Работа със стрингове и обработка на текстове
  8. Дефиниране на класове (Лекции: 1, Упражнения: 3, Домашно: 6)
    • Дефиниране на елементарни класове
    • Употреба на собствени класове и обекти
    • Модификатори за достъп (видимост)
    • Конструктори и инициализатори
    • Дефиниране на полета
    • Дефиниране на свойства, Getters и Setters
    • Дефиниране на методи
    • Упражнения: Дефиниране и използване на собствени класове
  9. Текстови файлове (Лекции: 1, Упражнения: 3, Домашно: 4)
    • Потоци
    • Четене на текстови файлове
    • Писане в текстови файлове
    • Работа с изключения при работа с файла
    • Упражнения: Четене и писане на текстови файлове

Пети етап – C# Fundamentals Part 3

Третата част на курса продължава с доста по-сложни концепции в програмирането като структури от данни, алгоритми, сложност на код, качествен програмен код, изграждане на алгоритмично мислене и умения за ефективно решаване на задачи. Третата част отново продължава с 4 часови занятия 2 пъти в седмицата. След края на третата част отново има изпит с решаване на практически алгоритмични задачи, като в този изпит ще бъде оценявано и качеството на кода на участниците.

  1. Линейни структури от данни (Лекции: 1, Упражнения: 3, Домашни: 4)
    • Абстрактни типове данни
    • Линейни структури данни
    • Статичен и свързан списък
    • Шаблонни класове (Generics) в C#
    • Списъци – List<T> класа
    • Стекове – Stack<T> класа
    • Опашки – Queue<T> класа
    • Упражнения: Работа с линейни типове данни
  2. Дървета и графи (Лекции: 1, Упражнения: 3, Домашно: 6)
    • Дървета. Дефиниране, създаване и обхождане на дървета. Обхождане на файловата система
    • Двоични дървета за търсене. Балансирани дървета
    • Графи и алгоритми за обхождане на графи
    • Упражнения: работа с дървета и графи
  3. Речници, хеш-таблици и множества (Лекции: 1, Упражнения: 3, Домашно: 6)
    • Абстрактната структура от данни - речник (Dictionary)
    • Хеширане и хеш-таблици: Dictionary<TKey, TValue> клас
    • Имплементация на речник чрез черно-червени дървета: SortedDictionary<TKey, TValue> клас
    • Множества и имплементации: HashSet<T> и SortedDictionary<TKey, TValue> класове
    • Имплементиране на TreeSet<T> чрез опаковане на SortedDictionary<TKey, TValue>
    • Упражнения: работа с речници и множества
  4. Сложност на алгоритмите и ефективност на структурите от данни (Лекции: 1, Упражнения: 3, Домашно: 4)
    • Сложност на алгоритмите
    • Ефективност и сравнение на структурите от данни
    • Как да изберем правилната структура от данни?
    • Избор на правилната структура от данни - примери
    • Упражнения: Избор на най-ефективната структура от данни
  5. Основни принципи на обектно-ориентираното програмиране (Лекции: 1, Упражнения: 3, Домашно: 6)
    • Наследяване
    • Абстракция
    • Енкапсулация
    • Полиморфизъм
    • Cohesion и Coupling
    • Обектно-ориентирано моделиране
    • Упражнения: Обектно-ориентирано моделиране със C# и .NET Framework
  6. Качествен програмен код (Лекции: 6, Упражнения: 0, Домашно: 4)
    • Какво представлява качествения програмен код?
    • Конвенции за писане на код
    • Именуване на индентификатори в сорс кода: класове, интерфейси, структури, Namespaces, методи, полета, константи и др.
    • Форматиране на код: методи за форматиране, класове за форматиране, цикли за форматиране и условни конструкции, използване на празни редове, разбиване на дълги конструкции
    • Висококачествени методи: предназначение на метода, поведение на метода, Strong Cohesion and Loose Coupling, дължина на метода и параметри на метода
    • Ефективно използване на променливи: деклариране, инициализация, обхват, активност и живот на променливата
    • Ефективно използване на константи
    • Ефективна употреба на условни конструкции
    • Защитно програмиране
    • Документация и самодокументиращ се код
    • Рефакториране: Подобряване на съществуващ код
    • Упражнения: Подобряване на съществуващ нискокачествен код
  7. Методология за разрешаване на проблеми (Лекции: 2, Упражнения: 4, Домашно: 8)
    • Разрешаване на проблеми - принципи
    • С химикал и хартия
    • Генериране и тестване на идеи
    • Разделяне на проблемите на по-малки "подпроблеми"
    • Проверяване верността на идеята
    • Избор на правилни структури от данни: Мислете си за ефективността
    • Имплементиране на алгоритми стъпка по стъпка: писане -> тестване -> коригиране -> писане -> тестване -> …
    • Тестване на решенията: обичайни случаи, гранични случаи, тестове за натовареност
    • Упражнения: Решаване на проблем
  8. Практическо занятие по решаване на проблем #1 (Лекции: 2, Упражнения: 2, Домашно: 4)
    • Първи проблем: Извличане на текст от HTML документ
    • Втори проблем: Намиране на  път в лабиринт
    • Трети проблем: Обектно-ориентирано моделиране на магазин за автомобилни части
    • Упражнения: Разширете и подобрете решенията
  9. Практическо занятие по решаване на проблем #2 (Лекции: 2, Упражнения: 2, Домашно: 4)
    • Първи проблем: Преброяване на думите в текст
    • Втори проблем: Матрица с прости числа
    • Трети проблем: Пресмятане на аритметични изрази
    • Упражнения: Разширете и подобрете решенията
  10. Практическо занятие по решаване на проблем #3 (Лекции: 2, Упражнения: 2, Домашно: 4)
    • Първи проблем: Спирална матрица от номера
    • Втори проблем: Преброяване на думите в текстов файл
    • Трети проблем: Обектно-ориентирано моделиране на училище с учители, ученици и класове
    • Упражнения: Разширете и подобрете решенията

Шести етап – Кандидатстване за специалност

На базата на резултатите от изпитите, на работата в учебната зала, работата в къщи на кандидатите, на личната преценка на обучаващите и на много други допълнителни фактори (за които кандидатите ще бъдат уведомени по време на обучението) ограничена бройка кандидати ще бъдат поканени да продължат обучението си в най-сериозната част от академията – обучението за конкретна професия, използвайки технологиите на Microsoft. За да започнат в последната част на академията, кандидатите се съгласяват след успешното си завършване да приемат работа във фирма Телерик (работодател номер 1 за 2010 година) при изключително добри условия и едно от най-високите заплащания в сферата на информационните технологии. След последния изпит кандидатите ще имат възможност да кандидатстват за една от трите специалности:

  • .NET Software Engineer  (Софтуерни инженери за Microsoft платформата .NET)
  • QA and Test Automation Engineer (Инженери по качеството на софтуера)
  • Developer Support (Инженери по поддръжката на софтуера и връзката с клиентите)

Седми етап – Обучение по специалностите

След като бъдат разпределени по специалности, обучението продължава в 3 паралелни групи, като всяка специалност учи необходимото за своята бъдеща професия. Седмия етап на обучението продължава от 2 до 5 месеца. Всеки работен ден по 6 часа участниците се учат на всички най-популярни Microsoft технологии и всичко необходимо в бъдещата им работа.

.NET Software Engineer

В това направление се обучават софтуерни инженери, започвайки от основните API-та на .NET Framework, unit testing, бази данни, езика SQL, SQL Server, ADO.NET, LINQ, ORM технологии, Entity Framework, Web front-end технологии, HTML, HTML5, CSS, CSS3, JavaScript, ASP.NET, ASP.NET MVC, Windows Presentation Foundation (WPF), Silverlight, уеб услуги, WCF, софтуернo инженерство, работа в екип, сорс контрол хранилища, SCRUM и много, много други.

QA and Test Automation Engineer

Това направление подготвя инженери по управление и осигуряване на качеството на софтуера. Курсът покрива теми като: тестване на жизнения цикъл на приложенията, автоматизирано тестване, white-box и black-box тестване, уеб и десктоп тестване, управление на тестове, инструменти за тестване и други.

Developer Support

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

Заключение

Ако още не сте си избрали професия, ако още се чудите как да започнете работа в сериозна фирма с добро заплащане без да притежавате опит, Софтуерната Академия на Телерик е перфектният избор за вас! Ние ще ви обучим безплатно и ще ви предложим работа след това. Чакаме ви! :)

Telerik Academy Join Now