September 30, 2011

QA семинар на Българска асоциация за софтуерно тестване (БАСТ)

За колегите, които се занимават с осигуряване на качеството на софтуера (QA engineering) имаме прекрасна новина. Българската асоциация за софтуерни тествано (БАСТ) организира семинар за QA специалисти на 13.10.2011 г. в София. Ще бъдат разгледани следните теми:

  • Agile Testing – Калин Василев
  • Mobile Applications Testing – Васил Табаков
  • ROI of Automation Testing – Румен Банов

Семинарът не е безплатен, но е едно от малкото събития за QA инженери в България, а лекторите са доказани специалисти по осигуряване на качеството с дългогодишен опит. За повече информация се обръщайте към организаторите: http://sqa.bg.

Tags: , ,

September 29, 2011

Guidelines for Successfully Passing a Software Engineering Job Interview

As experienced software engineer, team leader of software development projects and trainer of skillful IT professionals I often conduct job interviews and prepare people for passing a software development / computer programming job interviews. Instead explaining everyone separately the concepts how to pass software engineering interview I wrote a presentation (in English) and recorded a video (in Bulgarian) explaining the fundamentals of interview passing in a software development company.

How to Pass an Interview for Software Engineering Job – Presentation and Guidelines by Svetlin Nakov

How to Pass an Interview for Software Engineering Job – Video by Svetlin Nakov (in Bulgarian)

video platform video management video solutions video player

Sample IT Job Interview – Video (in Bulgarian)

video platform video management video solutions video player

Tags: , , , , , , , ,

September 28, 2011

Конспект за Националната олимпиада по информационни технологии за 2012 г. (НОИТ 2012) за 8-12 клас

За всички ученици, които искат да се научат да програмират и да участват в Националната олимпиада по информационни технологии (НОИТ), да добият професия още като ученици и да работят още като първокурсници в университета, да овладеят съвременните софтуерни технологии и инструменти за разработка на софтуер имаме добра новина.

Ученическата академия за софтуерни инженери стартира за втора поредна година

Ученическата академия на Телерик за софтуерни инженери (Telerik School Academy) за втора поредна година ще обучава безплатно на програмиране, софтуерни технологии, разработка на софтуер стотици ученици от цялата страна – от октомври 2011 г. За втора поредна година ще организираме безплатни тридневни обучения всеки месец и ще подготвяме учениците за Националната олимпиада по информационни технологии (НОИТ), ще ги обучаваме безплатно, ще им помагаме за проектите и ще ги подготваме усилено за ИТ теста, който формира основната част от оценката им на ИТ олимпиадата и им дава възможност да бъдат приети за студенти без конкурсен изпит.

Очаквайте безплатни курсове по PHP и MySQL през октомври и ноември 2011 г.

Очаквайте безплатен курс по PHP, MySQL и изграждане на съвременни уеб приложения върху платформа LAMP (Linux/Apache/MySQL/PHP) в ученическата софтуерна академия. Курсът ще се проведе на 2 пъти по 3 дни, целодневно и ще обхваща всички по-важни аспекти на разработката на уеб приложения с PHP, MySQL и съвременните PHP frameworks. Повече за безплатния PHP курс ще бъде обявено на сайта на ученическата академия по информационни технологии, програмиране и разработка на софтуер.

Конспект за Националната олимпиада по информационни технологии за 2012 г. (НОИТ 2012) – за възрастова група 8-12 клас

Все още няма официално обявен конспект за Националната олимпиада по информационни технологии за 2012 г. (конспект за НОИТ’ 2012), но най-вероятно той ще е същият, какъвто беше последните 2 години (2010 г. и 2011 г.). Няма причина да очакваме съществени изменения, така че е време за започнем да се готвим за ИТ теста на финалния кръг на НОИТ 2012.

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

Неофициален конспект за НОИТ 2012 – 8-12 клас

  1. Компютърни системи (хардуер). Основни компоненти на компютърните системи: процесор, дънна платка, шини, памет, периферни устройства, запомнящи устройства (CD, DVD, HDD, …), видеокарта, звукова карта, мрежова карта. Основни входно-изходни интерфейси и стандарти. Серийни и паралелни интерфейси (PCI, ATA, SATA, USB, eSATA, SCSI, FireWire). Компютърни архитектури. Настолни и преносими компютри, лаптопи, таблети, мобилни телефони.
  2. Компютърни програми (софтуер) – същност, функции, класифициране, създаване, начини на използване (инсталиране, стартиране, деинсталиране). Системен и приложен софтуер, firmware, cloud computing. Инсталиране и конфигуриране на ОС, драйвери и приложен софтуер. Езици за програмиране, компилатори, интерпретатори, виртуални машини, среди за разработка.
  3. Работа с компютърни системи и програми – правила, пускане и спиране, диагностика, откриване на проблеми, поддържане, тестване. Компютърни вируси и злонамерен софтуер, антивирусен софтуер. Диагностика на хардуера. Работа с Windows Task Manager, Windows Registry, Windows Event Log.
  4. Пренос на данни и бройни системи. Средства на ИТ за пренос на данни – различни подходи и методи, физически среди и канали за пренос, характеристики, предимства и недостатъци. Коаксиален, UTP, STP и оптичен кабел, конектори, безжичен пренос. Основни единици за измерване на информация (бит, байт, килобайт, мегабайт, мегабит и други). Бройни системи. Основи на двоичните пресмятания. Изчисления в различни бройни системи.
  5. Операционни системи (ОС) – понятия, основни функции и задачи, видове. Потребителски интерфейс – понятия, видове, конзолен и графичен интерфейс. Графичен интерфейс – понятия, основни обекти, основни операции, организация, настройки. Файл – понятия, характеристики. Файлова система – понятия, видове, логическа и физическа организация, основни обекти и действия с тях. Ядро, обвивка, драйвери, процеси, многозадачност, потребители. Windows, Linux и други ОС.
  6. Софтуерно инженерство. Основни фази от изпълнението на проект – анализ, моделиране, проектиране, създаване на прототип, имплементация, проверка (тестване и осигуряване на качеството), подобряване и усъвършенстване, документиране, внедряване, съпровождане. Методи за моделиране. UML. Оценка на достоверността от изпълнението на проект. Планиране и управление на проекти. Инструменти за разработка, работа в екип, сорс контрол системи, методология на тестването, инструменти за тестване, непрекъсната интеграция. Процеси и методологии за разработка на софтуер, гъвкави методологии.
  7. Компресиране и декомпресиране на данни. Кодиране без и със загуба. Компресия на текст и мултимедия. Кодиране с линейно предсказване. Алгоритми на Шенън-Фано и Хъфман. Аритметично кодиране. Речниково кодиране: LZ-77 и LZW. JPEG кодиране. Кодиране на аудио и видео. MPEG. Архивиращи програми – работа с WinZIP, WinRAR и 7-Zip. Архивни файлови формати (zip, rar, 7z, gz, tar, tar.gz, bz2, iso, cab). Създаване и принцип на действие на саморазархивиращи се и инсталационни архиви.
  8. Компютърна обработка на текстове. Видове файлови формати (TXT, DOC, DOCX, RTF, PDF), конвертиране. Начини за кодиране на текстова информация (кодиращи таблици и стандарти Unicode, Windows-1251, ASCII). Проблеми при гарантиране на многоезичност. Основни компоненти от текстовото оформление (абзаци: подравняване, разстояния между редовете и абзаците, текст: шрифтове, разстояния между буквите, оцветяване, размер на шрифта, ефекти). Стандарти за оформление на текстове. Работа със стилове. Вмъкване на символи и изображения. Вмъкване на таблици. Оформяне на таблици, редове/колони, клетки. Работа с електронни таблици (spreadsheets). Вмъкване на текстови полета. Изчертаване на фигури. Оформяне (форматиране) на страница: рамка, фон. Вмъкване на нова страница, на секция, номериране, съдържание. Работа с MS Word, OpenOffice.org Writer и Google Docs.
  9. Компютърна графика. Векторна и растерна графика. Цветови гами, RGB, CMYK, Panton, дълбочина на цвета, 16-битови цветове, цветови канали. Графични файлови формати: JPG, GIF, PNG, TIFF, EPS, PSD, AI, CDR. Компресиране на изображенията. Конвертиране между графични формати. Графични примитиви (точка, линия, правоъгълник, елипса, многоъгълник, крива, текст), запълване, текстури, градиент, прозрачност, комбиниране на изображения и текст, слоеве, селекция, филтри и ефекти. Графични редактори за изображения: Photoshop, CorelDraw, Illustrator. Създаване на графични изображения, анализ и разпознаване на изображения (OCR), компютърна анимация, компютърно изкуство.
  10. Бази от данни и SQL. Системи за управление на бази от данни. Логическа и физическа организация. Модели на данните. Релационни бази от данни. Таблици, релации, първичен ключ, външен ключ. Обекти на базите от данни. Моделиране на бази данни, типове данни, E/R диаграми. Език SQL. Видове SQL команди и заявки, DDL и DML, команди SELECT, INSERT, UPDATE, DELETE, селекция, проекция, филтриране, сортиране, съединения на таблици, групови функции и групиране, вложени заявки. Работа с MS Access, SQL Server и MySQL.
  11. Информационни системи (ИС). Класифициране: за управление на организация – ERP, за управление на производство, за връзки с клиенти и доставчици – CRM, за отчети, анализи и прогнози – BI, за графично моделиране – CAD, за управление на съдържание – CMS, за моделиране на процеси – BPM, за решаване на конкретни проблеми и т.н. Жизнен цикъл на ИС – основни етапи в създаването и използването. Основни функции и задачи. Системни архитектури – двуслойна (клиент/сървър), трислойна, N-слойна (разпределена), облачни технологии (cloud computing).
  12. Сигурност и защита на информацията. Методи и алгоритми за кодиране: симетрични криптографски алгоритми – DES, 3DES, AES, RC4, Blowfish, IDEA; асиметрични криптографски алгоритми (с публичен и частен ключ) – RSA, DSA, ElGamal, ECDSA. Криптографски хеширащи алгоритми – SHA-1, MD5, SHA-256. Електронен (цифров) подпис. Инфраструктура на публичния ключ (PKI) – удостоверяващ орган, доставчик на удостоверителни услуги, цифров сертификат (удостоверение), X.509, PGP, удостоверение за електронен подпис, универсален електронен подпис, смарт карта, доверен сертификат, сертификационна верига, саморъчно подписан сертификат, анулиран сертификат. Протоколи TLS, SSL, S/MIME. Уязвимости в софтуера и компютърните мрежи, мрежова сигурност и мрежови атаки, използване на уязвимости (exploits), социално инженерство, криптоанализ и разбиване на пароли.
  13. Презентиране на информация чрез средствата на информационните технологии. Компютърна презентация – слайд, текст, ефекти, бележки, цветова схема, шаблони. Дизайн на презентационни материали – използване на цветове, текст, изображения, звук, анимация и видео. Софтуер за презентации (презентационни системи). Работа с MS PowerPoint, OpenOffice.org Impress и Google Docs. Развиване на презентационни умения и изнасяне на презентации.
  14. Мултимедия. Технологии за създаване на мултимедийни приложения. Софтуерни средства за създаване на мултимедийни продукти. Генериране на анимация и филми (вмъкване и обработка на изображения, звук, текст). Компресия на мултимедийни файлове. Мултимедийни файлови формати, кодеци и конвертиране (MPEG, MP3, OGG, AAC, AC3, WMA, MP4, AVI, MOV, FLV, MKV, WMV, DivX, VP8, …). Софтуер за възпроизвеждане на мултимедийни продукти, анимация и филми. Работа със софтуер за създаване и редактиране на музика и филми: Windows Movie Maker, Adobe Premiere.
  15. Компютърни мрежи. Архитектура на OSI модела. Мрежови протоколи: TCP/IP, IP, TCP, UDP, ICMP, ARP, DHCP, IPv6, NetBIOS. Локални мрежи – понятия, видове според организацията на управление, топология, основни стандарти, хардуерни компоненти, Ethernet, LAN, WLAN, стандарти IEEE 802.x, безжични мрежи. Глобални компютърни мрежи – понятия, начини на свързване, адреси, основни услуги. Мрежов адаптер, мрежов интерфейс, концентратор, комутатор, маршрутизатор, IP адресация, мрежова маска, подмрежи. Мобилни мрежи и протоколи: GPRS, UMTS, HSDPA, EDGE, WiMAX.Потребители и достъп до ресурси.
  16. Интернет – същност, технически и технологични аспекти. Клиент-сървър архитектура. Основни услуги и протоколи – HTTP, FTP, SMTP, POP3, IMAP, HTTPS, SSH. Видове достъп до Интернет – dial-up, ISDN, LAN, DSL/ADSL, Wi-Fi, 3G. Адреси в Интернет – IP адреси, IPv6 адреси, DNS услуга, домейни от първо ниво. Хостинг, виртуален сървър (VPS), нает сървър, колокация на сървър, облачен хостинг, центрове за данни. Виртуални мрежи и VPN, отдалечен достъп (VNC, Remote Desktop, SSH, Team Viewer).
  17. Електронна комуникация. Електронна поща – e-mail клиенти и уеб базирани интерфейси, инфраструктура и протоколи (SMTP, POP3, IMAP). Разговори в реално време – IRC, ICQ, Skype, MSN Messenger, Yahoo Messenger, Google Talk – принципи на действие и протоколи. Социални мрежи – Facebook, Twitter, LinkedIn, Google+. Peer-to-Peer (P2P) мрежи, торенти, торент тракери. Мобилна комуникация (SMS, MMS).
  18. Глобална информационна система World Wide Web (WWW) – същност и функциониране. Уеб сървъри и уеб браузери, URL и URI. Протокол HTTP, методи GET и POST, cookies. Хиперлинк технология (Интернет препратки). Уеб страница – същност, предназначение, URL адрес и елементи. Хостинг на уеб сайтове. Работа с уеб сървъри Apache и IIS.
  19. Изграждане на уеб сайтове. Проектиране, дизайн, разработване и тестване на уеб сайтове. Основни HTML тагове: вмъкване на форматиран текст, изображения, връзки (препратки), таблици, списъци, форми и контроли за вход от потребителя, HTML5. Език за стилизиране на уеб сайтове CSS, селектори и дефиниции на стилове, позициониране, отмествания, CSS3. Характеристики на страница (фон, цвят, изображения, подравняване, заглавия на страници, кодировка на страници, meta тагове), заглавия, параграфи, шрифтове, цветове, вмъкване на изображения. Подравняване на съдържанието в уеб страница. Превръщане на уеб дизайн (картинка) към уеб сайт (рязане на сайт). Системи за управление на съдържание (CMS системи). Рамки (frames). Навигация и прехвърляне на управлението в рамки (frames).
  20. Скриптови езици за програмиране в Интернет – JavaScript, Perl, VBScript. Общи сведения за JavaScript. Типове данни. Променливи. Оператор за присвояване. Операции и изрази. Условен оператор. Конструкции за цикъл. Функции в JavaScript. Класове и обекти в JavaScript. Масиви. Класове Date, Math. Обекти document, window, navigator. Събития в JavaScript. Обектен модел DOM и манипулация с JavaScript. Библиотека jQuery. Използване на AJAX заявки, REST услуги и JSON.

Докато от МОМН не обявят официален конспект за НОИТ 2012 г. и регламент за провеждане на Националната ИТ олимпиада за 2012 г., в училищната софтуерна академия за ИТ специалисти и софтуерни инженери ще тренираме по учебната програма, публикувана по-горе. Всички примерни ИТ тестове от Академията ще включват темите по-горе и ще фокусират особено върху по-новите аспекти на всяка от тях.

Tags: , , , , , , , , , , , , , , ,

September 27, 2011

Безплатни курсове: ASP.NET MVC и Междуплатформени мобилни приложения

През идния сместър в Академията на Телерик за софтуерни инженери и във ФМИ на СУ ще водим два безплатни курса по съвременни софтуерни технологии:

  • Многоплатформени мобилни приложения (създаване на приложения за мобилни телефони и таблети с HTML5, JavaScript и PhoneGap)
  • Уеб приложения с ASP.NET MVC (създаване на модерни уеб приложения с бази данни, HTML5 и ASP.NET MVC)

Курсовете ще се водят паралелно в новата учебна зала на Академията на Телерик в Младост-1 (която скоро ще бъде открита и ще има капацитет 120 седящи места) и паралелно с това във ФМИ на СУ “Св. Климент Охридски”.

Безплатен курс “Многоплатформени мобилни приложения” – програмиране за телефони и таблети

Курсът „Многоплатформени мобилни приложения” въвежда студентите в практическата разработка на съвременни мобилни приложения върху платформата с PhoneGap. Курсът обхваща основите на HTML5, JavaScript и jQuery Mobile. Той започва с основите на езика HTML (структура, основни тагове, нови тагове от HTML5 и др.), стилизиране със CSS3 (основи на Cascading Style Sheets, стилове, декориране, разположение, нови селектори от CSS3 и др.), основи на скриптовия език JavaScript (типове данни, условни конструкции, цикли, класове и обекти), както и платформата с отворен код PhoneGap, с която ще се разработват мобилните приложения и нейните APIs за работа с хардуера на мобилните устройства (камера, GPS, компас, адресна книга, SMS комуникация, мрежова комуникация и т.н.). Обръща се внимание и на внедряването (deployment) на PhoneGap-базирани приложения върху различните мобилни операционни системи. Основният фокус на учебното съдържание е върху уеб технологиите и програмирането за мобилни устройства с HTML5 и JavaScript – започвайки от HTTP, HTML, CSS през основите на JavaScript, до самата разработка на многоплатформени мобилни прило¬жения. Всички теми от курса са богато онагледени с примери и демонстрации на живо, включително с практическа сесия, в която се построява от нулата, стъпка по стъпка цялостно работещо мобилно приложение.

Учебна програма на курса по мобилни приложения

  1. HTML и HTML 5 – синтаксис, елементи, divs, параграфи, картинки, препратки, списъци, таблици, формуляри и контроли
  2. CSS и CSS 3 – селектори, дефиниции на стилове, шрифтове, фонове, контури, подредба, поцициониране, отмествания (margins и paddings), видимост, скролиране и др.
  3. Основи на JavaScript – синтаксис на езика JavaScript, променливи, цикли, символни низове, масиви, събития, достъп до DOM дървото
  4. ООП в JavaScript – обектно-ориентирано програмиране (ООП) в JavaScript, класове, обекти, наследяване и полиморфизъм
  5. jQuery – jQuery селектори и манипулация на DOM дървото, jQuery събития и вериги събития, ефекти, взаимодействия, UI widgets
  6. PhoneGap – платформа с отворен код за разработка на мобилни приложения за различни операционни системи
  7. Eclipse IDE, Android SDK – използване на PhoneGap за създаване на Android приложения с Eclipse IDE и Android SDK
  8. Първо PhoneGap приложение – създаване и изпълнение на просто “Hello World” приложение с PhoneGap из изпълнение върху Android
  9. jQuery Mobile – създаване на модерен потребителски интерфейс за мобилни устройства с JavaScript и библиотеката jQuery Mobile
  10. PhoneGap разработка – по-сложни техники и концепции
  11. Достъп до външни данни – достъп до външни данни и услуги чрез jQuery и AJAX, работа със REST и JSON
  12. Управление на хардуера – работа с хардуера на мобилните устройства (камера, GPS, компас, адресна книга, SMS комуникация, мрежова комуникация и т.н.)
  13. Разработка на игри с HTML5 и PhoneGap – основни концепции, графика, анимация, време, звук, вход от потребителя, логика на играта, фигури, откриване на колизии
  14. Демонстрация – имплементиране на играта “Падащи камъни”
  15. Демонстрация на живо (част 1) – Създаване на блог система
  16. Демонстрация на живо (част 2) – Създаване на блог система
  17. Курсов проект – работа по курсовите проекти на студентите

Официален сайт на Mobile Development курса

За записване на курса посетете неговия официален уеб сайт: http://mobiledevcourse.telerik.com.

Безплатен курс “Уеб приложения с ASP.NET MVC”

Курсът „Уеб приложения с ASP.NET MVC” въвежда студентите в практическата разработка на съвременни уеб приложения върху платформата Microsoft ASP.NET MVC. Курсът обхваща основите на езика C#, платформата .NET Framework, базите данни, HTML5 и разработката на уеб приложения с ASP.NET MVC. Студентите ще се научат как да построяват динамични ASP.NET MVC уеб приложения с бази от данни, базирани на SQL Server и ADO.NET Entity Framework. Курсът започва с основите на езика C# (типове данни, изрази, програмни конструкции, цикли, масиви, методи, символни низове, колекции, изключения и др.), обектно-ориентирано програмиране със C# (класове, интерфейси, констуктори, свойства, методи, събития и др.), релационни бази от данни, езика SQL и Microsoft SQL Server, технологии за достъп до данни (ADO.NET, LINQ и ADO.NET Entity Framework). Основният фокус на учебното съдържание е върху уеб технологиите и уеб програмирането с .NET платформата – започвайки от WWW, HTTP, HTML, CSS, JavaScript, CSS3, HTML5, jQuery, през основите на ASP.NET MVC (модели, изгледи, контролери, routes, типизирани изгледи). Разглеждат се теми като unit testing, test-driven development, сигурност, настройка и мониторинг на ASP.NET MVC приложенията. Всички теми от курса са богато онагледени с примери и демонстрации на живо, включително с практическа сесия, в която се построява от нулата, стъпка по стъпка цялостно работещо ASP.NET MVC уеб приложение с бази от данни и презентационна логика базирана на HTML5.

Обръщаме ви внимание, че традиционният ASP.NET (Web Forms) и ASP.NET MVC са различни технологии. Ако сте карали ASP.NET курса миналата година, има смисъл да карате и MVC курса тази година.

Учебна програма на ASP.NET MVC курса

  1. Въведение в .NET Framework – CLR, MSIL, assemblies, CTS, .NET езиците
  2. Преглед на езика C# (част 1) – типове данни, оператори, изрази, конструкции за управление, вход и изход от конзолата, условни конструкции, цикли, масиви, методи
  3. Преглед на езика C# (част 2) – създаване и използване на обекти, пространства от имена, изключения, символни низове, шаблонни типове, колеции, атрибути
  4. Обектно-ориентирано програмиране със C# – дефиниране на класове, конструктори, свойства, статични членове, структури, делегати, събития, интерфейси, наследяване и полиморфизъм
  5. Бази данни, SQL и SQL Server – релационни СУБД, SQL, SQL SELECT, съединения, агрегатни функции, групиране, SQL INSERT, SQL UPDATE, SQL DELETE, MS SQL Server, SQL Server Management Studio
  6. LINQ и Entity Framework – LINQ оператори и изрази, проекции, конверсии, агрегации, ADO.NET Entity Framework (EF), Visual Studio LINQ-to-Entities Designer, класът ObjectContext – четене / създаване / промяна / изтриване на данни
  7. Увод в уеб технологиите – World Wild Web. HTTP протокол. Модел заявка-отговор
  8. Езикът HTML – текст, картинки, препратки, форматиращи тагове, параграфи, списъци, рамки (frames), таблици, форми и контроли (текстови контроли, пароли, отметки, radio-бутони, падащи списъци, бутони и т.н.)
  9. Основи на CSS – Селектори и дефиниции на стилове, шрифтове, фонове, контури, box-модел, подравняване, позициониране, отмест¬вания (margin, padding)
  10. CSS 3 – нови стилове, селектори и атрибути за контури, фонове, цветове, ефекти, потребителски интерфейс, препълване, генерирано съдържание и др.
  11. Програмиране с JavaScript – DHTML, типове данни, оператори, управляващи конструкции, цикли, масиви, класове и обекти, диалози за вход от потребителя, достъпване на DOM дървото чрез JavaScript, дебъгване на JavaScript приложения.
  12. Библиотеката jQuery – въведение в jQuery, jQuery селектори и манипулация на DOM дървото, jQuery събития, AJAX заявки, jQuery темплейти, jQuery UI, ефекти, interactions, widgets.
  13. HTML 5 – въведение в HTML 5, нови тагове, структурни тагове, UI за форми, валидация на форми, нови атрибути.
  14. Нови JavaScript API-та в HTML5.
  15. ASP.NET MVC – част 1. Преглед на Model-View-Controller патърна. ASP.NET MVC. Създаване на проект на ASP.NET MVC. Конвенции. Routes. Контролери. Модели. Views. View helpers. Typed views
  16. ASP.NET MVC – част 2. Unit testing. Test-driven development. NuGet package management. Deployment. Сигурност на ASP.NET MVC приложенията. Настройка на ASP.NET MVC приложенията
  17. ASP.NET MVC – част 3. MVC Scaffolding. AJAX с ASP.NET MVC. Утвърдени практики при разработката на ASP.NET MVC приложения. Мониторинг на ASP.NET MVC приложенията
  18. Практически проект – демонстрация на живо: построяване на цялостно динамично уеб приложение с HTML5, ASP.NET MVC и MS SQL база данни – от нулата, стъпка по стъпка
  19. Изпит – студентите защитават проектите си

Официален сайт на ASP.NET MVC курса

Още няма уеб сайт, очаквайте го скоро.

Допълнителна информация

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

Светлин Наков
ръководител отдел “технологично обучение”
Академия на Телерик за софтуерни инженери

Tags: , , , , , , , , , ,

Академията по програмиране за деца (Telerik Kids Academy) стартира през октомври

Telerik .NET NinjaОт октомври в няколко големи български града стартират школи по програмиране за деца в Академията по програмиране за деца на Телерик (Telerik Kids Academy). Те са част от програмата на Телерик за подпомагане на софтуерната индустрия и българското образованието, която е насочена към най-малките – учениците във възраст 4-6 клас, които тепърва правят първите си стъпки в програмирането.

Вече има формирани школи по програмиране за деца в няколко града:

  • Пловдив
  • Плевен
  • Варна
  • Шумен
  • Търговище

Telerik Kids Academy - програмиране за деца - Академия на Телерик за децаЗа момента проектът е пилотен и няма да обхване веднага цялата страна. Очакваме учители и преподаватели и от други градове да създадат своя школа по програмиране за деца, която да бъде подкрепена и финансирана от Телерик.

Целта е още от 10-12 годишна възраст децата с интереси към компютърните технологии да имат възможността да се захванат с изучаване на основите на програмирането и информационните технологии, за да могат един ден да станат шампиони по олимпиадите и състезанията по програмиране в училище, отлични студенти в университетите, добри софтуерни инженери в индустрията, будни ИТ предприемачи, ръководители на екипи, учени и търсени насвякъде специалисти.

Повече за иницитивата “Телерик Кидс Академия” можете да намерите на нейния официален уеб сайт: http://telerik-kids.com.

Tags: , , , , , , , , ,

September 26, 2011

Как да търсим работа в софтуерната индустрия – процес, подготовка, канидатстване, интервю

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

Преди време бях подготвил и водил една презентация как да си търсим работа в индустриоята, в която обяснявах целия процес: как да преценим каква работа търсим, какви кандали да ползваме за достъп до предложения за работа, как да преценим дали една фирма е добра и си струва да кандидатстваме, как да напишем кадърно CV, кадърно мотивационно писмо, как да изправим e-mail с job application, как да се държим на интервю и подобни. Предлагам ви цялата презентация по тази тъй често разисквана тема:

Към презентацията има записано и видео, така че ви препоръчвам да изгледате и него, ако нямате много опит с търсенето и кандистатстването за работа като програмист или ИТ специалист: video platform video management video solutions video player

Tags: , , , , ,

September 24, 2011

Светлин Наков – 20 години практика в разработката на софтуер

През февруари 2011 г. се навършват 20 години от първото докосване на Светлин Наков до програмирането. То се случило в далечната 1991 г. когато той бил ученик в 4-ти клас във Велико Търново, в кръжока по програмиране в Центъра за работа с деца (бившия пионерски дом).

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

Кръжокът по програмиране на Бейсик за Правец-82 във Велико Търново през 1991 г.

програмиранеПървата си компютърна програма Светлин Наков написва през 1991 г. в кръжока по програмиране в Центъра за работа с деца във Велико Търново. Той постъпва в кръжока по компютърно програмиране на 11-годишна възраст с много трудности и уговорки, тъй като тогава учи в 4 клас, а кръжокът е за ученици от 5 до 7 клас. Заедно с него първи стъпки в програмирането прави и брат му Преслав Наков, който често му помага след това за по-сложните задачи.

Кръжоците по това време са популярна форма на извънкласно обучение за ученици и обхващат всякакви творчески, технически и спортни направления като: танци, карате, корабомоделизъм, авиомоделизъм, шах, илюзионизъм, народно творчество и много други. Програмирането е една от дисциплините, в която България е лидер по това време в бившия социалистически блок, с традиции в пиратстването, прекопирването и адаптирането на компютърен хардуер и софтуер (както това се случва в днешно време в Китай)., с два работещи завода за производство на компютърна техника.

Първата програма на Наков

програмиране и алгоритмиПървата програма в кръжоците по програмиране по това време далеч не било модерно да е “Hello World”, тъй като нито учителите, нито учениците са знаели английски език. По това време техническата литература била предимно на руски език, идваща от братската страна СССР, която смело разпространявала пиратски преводи на водещи световни автори, но имала и собствен принос.

Вместо “Hello World” първата програма на Наков, написана през 1991 г., била “събиране на числа” – въвеждат се две числа от клавиатурата, сумират се и резултатът се отпечатва на екрана. Тя била написана на примитивна версия на езика Бейсик за 8-битови компютри Правец-82.

8-битови компютри Правец-82

Компютрите от онова време били Правец 82, Правец 8A и Правец 8C (осмици) и представлявали български пиратски вариант (клонинг) на 8-битовата машина Apple II, която работи с процесор MOS 6502 на 1MHz, има 64 KB памет (общо RAM + ROM), няма твърд диск и зарежда операционната си система от дискета 5.25” с капацитет 180 KB. Те имали монохромен монитор (наречен “зеленяк”), използващ зелени точки на черен фон в текстов режим 40 на 24, който бил неделима част от компютъра (заедно с клавиатурата). Гледането на зелените монитори дълго време въобще не било полезно за здравето, поради което не било разрешено децата да стоят дълго пред компютъра.

Правец 82 - с монитор "зеленяк" и две флопита

Две години Наков пише на Бейсик и Асемблер за Правец-8

програмиране на БейсикПисането на Бейсик за Правец-82 хич не било лесна работа. Още нямало текстови редактори и програмите се пишели като поредица команди на конзолата (като LIST, GOTO, PRINT, INPUT, GOSUB, RETURN, RUN, CATALOG и други). Програмата се състояла от номерирани редове с команди и номерацията се правела през 10, за да може след това да се вмъкват редове. Например, ако имаме редове 10, 20 и 30 и трябва да вмъкнем нова команда между 10 и 20 ред, можем да създадем нов ред 15 и да запишем на него новата команда. Вместо текстов редактор и интегрирана среда за разработка (IDE) се ползвал примитивен команден интерпретатор и интерпретатор за езика Бейсик. Всичко, което не може да се напише на Бейсик, се пишело на асемблер и се вкарвало като машинен код.

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

В тези времена Наков започва да пише с приятели играта PopCorn на Бейсик за Правец-82, но скоро сорс кодът (няколко хиляди реда) препълва паметта на компютъра, с който разполага и проектът се проваля.

Първото състезание по програмиране на Наков

архаично състезание по програмиранеПри първото си участие на национално състезание по програмиране по време на зимните математически празници в Плевен през 1992 г. Светлин Наков печели 3-то място с полу-работеща програма на Бейсик за Правец-82. Някаква случайност го класира на 12-годишна възраст в челната тройка още в 5-ти клас, при първото му участие в по-сериозно национално състезание по програмиране.

След този си успех Светлин Наков се захваща здраво и сериозно с изучаване на програмирането. В периода 5-6 клас прочита почти цялата налична по това време литература за програмиране на български език и преминава към класическите руски книжки за алгоритми. На 13-годишна възраст вече знае основните структури от данни, рекурсивни алгоритми, основните алгоритми върху графи и решава с лекота задачите от тогавашните конкурси, турнири и състезания по информатика и програмиране (за неговата възрастова група).

Преминаване към Правец-16

компютър Правец-16Още в края на пети клас Наков преминава към програмиране на Правец-16. Първоначално пише на QBasic за MS DOS, а година по-късно преминава към Паскал. И на Бейсик и на Паскал той започва да печели повечето състезания по програмиране за неговата възрастова група. Подготвя се за състезанията заедно с брат си върху задачите за 12 клас и след това с лекота решава задачите за 5-7 клас.

Програмирането на Правец-16 с текстов редактор и среда за разработка, компилатор и дебъгер и по-големият обем оперативна памет (640 KB) позволяват решаването на значително по-трудни задачи и имплементиране на значително по-сложни алгоритми. Това дало възможност на Наков да напредне значително и да започне да пише не само алгоритми, но и приложен софтуер (за MS DOS).

Наков – шампион в състезанията и олимпиадите по програмиране

шампион от олимпиада с купаМежду 5-ти и 8 клас в училище Наков е постоянен носител на награди от конкурси, турнири, състезания и олимпиади по информатика и програмиране. Често печели първо място, а ако се провали, става втори или трети в България. Междувременно той прочита всички книги за алгоритми, структури от данни и програмиране от локалните библиотеки на български и руски език и изпада в липса на учебни материали. По това време още Интернет не е навлязъл и достъпът до англоезична литература е силно ограничен. Подготвя се съвместно с брат си, но най-вече самостоятелно.

Учителите от кръжоците по програмиране, от местната математическа гимназия и от местния университет не са на нивото на националните състезания по програмиране и не са в състояние да помогнат на Наков и брат му да напредват в програмирането (освен да ги освобождават чат-пат от часове за подготовка вкъщи). Така двамата братя се самообучават на програмиране, най-вече на принципа “проба-грешка”.

Първият компютър на Наков

компютър от 1993-1994 г. - Intel 80386, с цветен мониторНаков се развива като програмист и изучава компютърните науки няколко години без собствен компютър в къщи. Години наред той ходи на кръжоците в Центъра за работа с деца и се вмъква тайно в компютърните кабинети в местния университет, но няма компютър в къщи, на който да работи. По това време да имаш компютър е било скъпо и рядко удоволствие. През лятото на 1992 г. Светлин Наков заминава заедно с брат си да работи при баща си в София и в края на годината със спестените пари и с малко помощ от роднини двамата братя си купуват общ компютър – Intel 80386 с 2 MB RAM. Това дава двамата братя Накови да работят многократно повече и засилва значително темпа на развитието им. Заради различните смени, в които учат двамата в училище един компютър се оказва почти достатъчен.

Наков навлиза в приложното програмиране още в шести клас

Светлин Наков се захваща с приложно програмиране още в шести клас. Първоначално пише хакове за компютърните игри по онова време (Civilization, Dune, Doom II и други), с които си увеличава парите, армията, животите и ресурсите.

кръжок по приложно програмиране и вградени системиПостепенно разучва как да управлява хардуера на компютъра, основните програмни APIs за MS DOS и в Borland Pascal и по-късно създава собствен текстов редактор за бинарни файлове (hex editor), който работи в графичен режим под ДОС.

В седми клас Наков започва да пише на Асемблер за 80286 и създава един от най-популярните кирилизатори за DOS (резидентната програма ncyr.com, нещо като драйвер), който заема чувствително по-малко памет от другите кирилизатори, поддържа няколко шрифта кирилица и няколко клавиатурни наредби. С него участва в единственото за момента състезание по приложно програмиране – ученическа секция към пролетната конференция за Съюза на математиците в България (СМБ).

Освен кирилизаторът Наков се научава да пише на Borland Pascal с библиотеката за създаване на текстово-базиран прозоречен потребителски интерфейс “Turbo Vision”. Това е много ранен предшественик на съвременните UI библиотеки като Windows Forms, WPF, Qt, CocoaX и Eclipse SWT. С Pascal за DOS и Turbo Vision Наков започва да пише комерсиален софтуер за местни фирми във Велико Търново.

Първият компютърен вирус, написан от Наков – на 14-годишна възраст

компютърен яде компютъраПо онова време на мода идват компютърните вируси и всеки, който напише собствен компютърен вирус, се счита за добър програмист. Наков успява да напише собствен компютърен вирус на 14-годишна възраст (7 клас) на Асемблер за процесор 80286, заразяващ изпълними файлове в MS DOS 5.0. Вирусът се прикрепя към .com и .exe файловете в MS DOS, зарежда се незабелязано в паметта и заразява всички файлове, с които потребителят работи. При многобройните експерименти с вируса Наков го изтърва на собствената си машина и си самозатрива твърдия диск.

Наков програмира под Windows с Borland Pascal и Delphi в осми клас

Delphi 1.0 за Windows 3.1В осми клас Наков преминава към работа под Windows 3.1. По това време Windows представлява 16-битова обвивка (shell) върху MS DOS и дава API за създаване на приложен софтуер и управление на хардуера на по-високо ниво: прозоречен UI, процеси и задачи, файлова система, принтер, клавиатура, мишка, звук. Първоначално Наков използва Windows за да стартира по няколко DOS прозореца едновременно и да превключва между тях, а по-късно се научава да пише на Borland Pascal с библиотеката OWL (Object Windows Library), след което прави естествен преход към Delphi.

Наков участник в Балканиада по информатика още в 8-подготвителен клас

BOI - логоНа следващата година България е домакин в Балканиадата по информатика – Варна’95. Това е международно състезание за ученици от балканските страни на възраст 8-12 клас. Той попада в националния отбор на България, тъй като домакините участват с 8, а не 4 състезателя, но представянето му не е добро. Вече попаднал сред “големите” той се надъхва да ги победи на следващата Балканиада. От този момент нататък битката е трудна, тъй като Наков преминава във възрастова група 8-12 клас.

Наков печели 4 бронзови медали от международни олимпиади по информатика

Още следващата година Наков се класира в националния отбор на България и завоюва бронзов медал на Балканиадата в Кипър (Никозия’96), 1996 г. В Балканиадите по информатика по онова време участват всички състезатели без учениците от 12 клас. В международните олимпиади участват всички и борбата за попадане в националния отбор е по-тежка. През 1997 г. и 1998 г. Балканиади по информатика не се провеждат по политически причини. Така Наков участва отново в международни състезания по програмиране чак след 2 години.

Nakov - bronze medal for olympiadПрез 1998 г. той печели бронзов медал на международната олимпиада по информатика в Португалия (Сетубал’98). През 1999 г. изкарва точки за златен медал на балканиадата в Гърция (Янина’99), но поради грешен превод му анулират една задача и му присъждат отново бронзов медал. На международната олимпиада в Турция (Анталия’99) Наков печели за пореден път бронзов медал.

Междувременно известният по това време не само във Велико Търново компютърен специалист печели доста национални турнири, състезания и олимпиади по информатика и програмиране и същевременно се занимава с приложно програмиране. По това време няма олимпиада по ИТ и изявите му в областта на приложното програмиране са по-малко.

Наков продава първия си комерсиален софтуер в 8 клас

Когато е в осми редовен и девети клас (1994 г. – 1996 г.) Светлин Наков вече пише на Паскал за MS DOS и асемблер за Intel  80286, шампион е по олимпиади и състезания по програмиране, владее основните структури от данни и алгоритми и вече има опит с разработването на приложен софтуер. Тогава още няма PHP и MySQL, няма още Интернет, за HTML никой не е и чувал, а приложният софтуер все още се пише и изпълнява под MS DOS и се разпространява чрез дискети (най-масовите са 3.5”, 1.44 MB). Само в банките и в по-големите фирми се използват компютри, а в училищата тепърва докарват първия компютър, който учителите гледат неразбиращо и не смеят да докоснат, за да не го счупят.

Лека полека компютрите започват да се използват по-масово в ежедневието и започват да заменят старите тетрадки и пишещи машини. Фирмите също започват да се оглеждат как да сменят тетрадките, на които водят оперативната си работа, документооборота си и счетоводството си, с компютри и подходящ софтуер.

комерсиален софтуерПървия комерсиален продукт, който Наков разработва и продава на местна фирма през 1995 г., е счетоводен софтуер за управление на складово стопанство, който се използва за продажбите на дребно в квартален магазин за хранителни стоки. Това е първият магазин във Велико Търново, който използва компютър вместо тетрадка или хвърчащи листи за организиране на счетоводството си. Софтуерът е написан на Паскал, работи под MS DOS и съхранява данните си в двоични файлове, ръчно индексирани за по-бързо търсене. Тогава базите данни и езикът SQL още не са популярни и повечето програмисти си пишат собствен DB engine на ръка. Същевременно се появяват системи за бърза разработка на database-ориентиран софтуер като DBase и Clipper, които са първобитни аналози на MS Access и по-съвременни системи като Visual Studio LightSwitch.

Наков пише на Delphi с бази данни в 9 клас

Borland Delphi 2 - 32 битово Delphi за Windows 95Година по-късно Наков вече пише на Delphi и ползва бази от данни и SQL. По това време (1996-1997 г.) Borland Delphi е ненадмината среда (IDE) за бързо разработване на приложения с графичен потребителски интерфейс под Windows. Библиотеката Visual Component Library (VCL) на Borland прилича много на Windows Forms, а Delphi позволява използване на компонентно-ориентирано визуално програмиране. По това време Microsoft все още нямат аналог на Delphi и изостават от пазара на инструменти за бърза разработка на софтуер със своите примитивни среди за разработка Visual C++ и Visual Basic. Няколко години по-късно Borland закъсват и Microsoft купуват главният им архитект Anders Heijlsberg, който след това има водеща роля при измислянето и развитието на .NET платформата.

В разгара на прехода към демокрация се навъждат фирми, които обменят валута легално в свои офиси и заменят т. нар. чейнчаджии (тарикати и мошеници, които обменят валута на улицата). По заявка на места фирма от Велико Търново Наков създава съвременен (за времето си) софтуер за управление на чейндж-бюро. Той е написан на 32-битово Delphi за Windows 95, използва SQL и база данни Paradox и позволява настройка на валутните курсове, извършване на сделки за обмен на валута, печат на разписки, проследяване на движения, каса, оператори, приходи, разходи и други справки.

Наков работи в софтуерна фирма за заплата в 10 клас

бот цъка по клавиатуратаКогато учи в десети клас, Наков е поканен да работи за местна софтуерна фирма, която разработва софтуер за БТК. Наков започва работа в офиса на фирмата на заплата, на непълен работен ден и паралелно с това ходи на училище. Това става тайно от учителите в гимназията, тъй като по това време ученик да работи се е възприемало като нещо нередно.

Постепенно Наков започва сам да изкарва парите си чрез разработка на софтуер, с което получава относителна независимост от родителите си.

Наков става известен хакер през 1998 г.

През 1998 г. Интернет започва бавно да навлиза в България. Наков спечелва като награда от едно състезание модем на скорост 14.400 Kbps. Тогава Интернет достъпът е безумно бавен и ужасно скъп. Наков тегли на скорости от 1 KB/s до 3-4 KB/s и хаква местните Интернет доставчици, за да влиза в Интернет безплатно.

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

Наков става известен хакер във Велико Търново и региона след като спира Интернет достъпа на целия град за около 1 месец чрез мощна дистрибутирана flood атака (DDoS attack), реализирана чрез написан от него масово разпространен компютърен вирус. След този инцидент му дават безплатен интернет, за да остави хората на спокойствие.

Достъпът до съвременни книги и Интернет дава нов тласък в развитието на Наков като програмист, състезател по програмиране и софтуерен инженер. Той научава и други езици за програмиране (C, C++, Java), започва да прави уеб сайтове и се научава да разработва сложни софтуерни системи. През 1998 г. Наков си купува домейна nakov.com и си прави собствен уеб сайт.

Наков създава собствено списание за компютърни алгоритми – Infoman

ИнфоманПрез 1998 г. Светлин Наков, мотивиран от пълната липса по това време на каквато и да е подготовка за състезанията по програмиране от страна на учители, преподаватели, държава, училища, университети и други организации, създава първото в България списание за алгоритми и задачи по програмиране – Infoman. В него започва да публикува анализи и решения на задачите от всички национални състезания и олимпиади по програмиране. Това е сериозна крачка напред, тъй като до тогава журито никога не е излизало с решения на задачите от олимпиадите и ако някой състезател не знае как се решава дадена задача, не е имало кой да му каже. Списание Infoman бързо набира скорост и започва да излиза всеки месец. Когато Светлин Наков става студент, той завещава списанието на Мусала Софт и то се превръща в популярен Интернет портал за състезатели по програмиране, който се използва от всички състезатели по информатика и до днес: http://informan.musala.com.

Наков става студент през 1999, приет без изпит, от олимпиадата по информатика

студентска шапкаВъпреки, че не се старае много да ходи на училище, Наков завършва с пълно отличие търновската математическа гимназия (ПМГ “Васил Друмев”) и получава национална диплома за надарени ученици с отличен успех от Министъра на образованието.

успех в бизнесаПрез лятото на 1999 г. започва работа в София като програмист на Oracle Forms, а есента е студент във Факултета по математика и информатика (ФМИ) на СУ “Св. Климент Охридски”. Светлин не харесва математиката и е щастлив, че го приемат без изпит като шампион от Националната олимпиада по информатика. За съжаление по това време във ФМИ няма специалности като компютърни науки и софтуерно инженерство и той записва най-елитната за времето си специалност “Информатика”. В университета се оказва, че преподавателите по програмиране знаят и могат много по-малко от него и вместо да вдигне нивото си, той е принуден да учи математика. Това го демотивира и той решава да се развива като програмист в индустрията и ходи във ФМИ единствено да си взима изпитите през сесиите.

Наков започва да преподава програмиране през 2000 г.

Светлин Наков преподава програмиране във ФМИ на СУСветлин Наков започва да преподава програмиране за пръв път през 2000 г. когато е поканен за асистент по “Увод в програмирането със C++”. Той води упражнения няколко семестъра по “Увод в програмирането” и “Структури от данни” и учи своите колеги на практическия аспект в основите на програмирането, структурите от данни и алгоритмите.

Същата година той води неформална школа за подготовка на състезатели за олимпиадата по информатика във Велико Търново и води курс по Java за своите колеги от ФМИ. За целта той си купува учебна дъска и си обзавежда учебен кабинет. По-късно колегите му от Java курса стават добри Java програмисти, ръководители на екипи и дори собственици на софтуерни фирми.

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

Наков организира собствен безплатен курс по програмиране през 2002 г.

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

Светлин Наков води мащабен курс по програмиране във ФМИ на СУ

През 2002 г. Наков създава първия си насочен изцяло към практиката курс по програмиране, който осигурява професия и работа за няколкостотин млади негови колеги от ФМИ – курсът “Интернет програмиране с Java”. В него Наков обучава на Java, мрежово програмиране и разработка на уеб приложения 400 студента от ФМИ, голяма част от които бързо си намират работа в индустрията, най вече във фирмите предшестващи днешната SAP Labs Bulgaria.

Наков написва първата си техническа статия за американско списание през 2003 г.

journal articleРедом с курсовете, които води в Софийски университет, Светлин Наков започва лека полека да се изявява и като лектор в конференции и автор в технически издания. Той води технически сесии за Java, .NET, компютърна сигурност и програмиране на различни форуми, организирани от Microsoft Bulgaria, от студентски организации и потребителски групи. Започва да публикува статии в Български и международни списания.

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

Наков организира първия курс за .NET в България през 2003 г.

Microsoft .NET logoПрез 2003 г. Наков организира за първи път в България безплатен курс по програмиране за платформа .NET, който обхваща .NET Framework 1.1. По това време Microsoft .NET Framework тъкмо започва да набира популярност в България като алтернатива на Java при разработката на системи и приложения за средния и едрия бизнес. Курсът привлича интереса на много голям брой студенти от ФМИ и дава професия и работа на стотици младежи. Той е поредната стъпка на Наков към организирането на неговата школа по програмиране.

Проектът на Майкрософт за книга и курс по програмиране

Nakov & MS Research - MS.NET Project - Teaching Materials for .NETПрез 2004 г. Наков спечелва проект на Microsoft Research за разработка на курс, учебни материали и учебник по програмиране за .NET Framework. Този проект му дава малка финансова подкрепа и той напуска работа, за да се занимава с разработката на презентации, лекции и учебни материали по разработка на софтуер с езика C# и технологиите от .NET платформата.

Близо година Наков работи от къщи, разработва сериозен курс по .NET технологии и разгръща сериозен колектив, с който пишат книга за .NET програмиране. Курсовете по програмиране във ФМИ на Наков се славят като най-добрите и най-полезните за бъдещите софтуерни инженери, а Наков вече обмисля да създаде собствена школа или университет за обучение на софтуерни инженери.

Наков пише първата си книга “Интернет програмиране с Java” през 2003-2004 г.

Книга "Интернет програмиране с Java" - Светлин НаковНаков пише първата си безплатна книга по програмиране “Интернет програмиране с Java”, учебник за едноименния курс във ФМИ, през периода 2003 г. – 2004 г. Тя се указва доста успешна и се чете години след излизането си. В нея той описва основите на многонишковото програмиране с Java, основите на компютърните мрежи и мрежовото програмиране с Java и технологиите за разработка на Java уеб приложения – сървлети, JSP, уеб приложения и сървър Apache Tomcat. Книгата се разпространява безплатно в електронен вид.

Курсът по .NET 2.0 на Наков и колектив

Студентите на Наков във ФМИПаралелно, докато работи от къщи Наков разработва сериозен и задълбочен курс по .NET програмиране, базиран на курса от предходната година, но този път за .NET 2.0. Курсът по .NET Framework 2.0, разработен през 2004 г. от Наков и неговия екип по проекта на Майкрософт, се отличава от всички предишни курсове по това, че отменя практиката преподавателят да пише на дъската и да рисува с тебешир, а вместо това се използват презентации, които се визуализират на дъската с мултимедиен прожектор. Това дава възможност освен на теория, преподавателят да демонстрира на живо изучавания материал и да пише, компилира и изпълнява код пред очите на студентите. Ефективността на обученията се вдига значително, тъй като преподавателите могат да обхванат повече учебен материал за по-кратко време.

Книгата за .NET програмиране на Наков

Книга "Програмиране за .NET Framework" - Светлин Наков Книгата за .NET програмиране, която Наков и неговият колектив разработват в периода 2004 г. – 2005 г., излиза на хартия и за безплатно изтегляне в електронен вид в два тома от по 1000 страници и става най-полезният .NET ресурс на български език за времето си. За съжаление бързо излизат нови версии на .NET платформата и книгата постепенно остарява и губи своята популярност.

Наков учредява Българска асоциация на разработчиците на софтуер (БАРС) през 2004 г.

БАРС - логоПрез 2004 г. Светлин Наков учредява заедно със свои колеги Българска асоциация на разработчиците на софтуер (БАРС), която има за цел да подпомогне обществото на българските софтуерни инженери чрез образователни и други инициативи. В БАРС Наков организира десетки семинари и безплатни курсове по разработка на софтуер, стартира проекти за обучение с различни университети, издава книги, създава потребителски групи, кани чужди лектори и участва в редица образователни проекти за софтуерни инженери.

Наков получава наградата “Джон Атанасов” на Президента през 2004 г.

През 2004 г. Светлин Наков е удостоен от Президента на България с престижната награда “Джон Атанасов” за неговия принос за развитие на информационните технологии и информационното общество. Наградата се дава веднъж годишно на млад човек със значителен принос към информационните технологии, науката и обществото.

Светлин Наков получава от Президента Георги Първанов наградата "Джон Атанасов" за принос в развитието на информационните технологии и информационното общество - 4 октомври 2004 г., гербна зала, президентство на Република България

На снимката: Светлин Наков получава от Президента Георги Първанов наградата “Джон Атанасов” за принос в развитието на информационните технологии и информационното общество – 4 октомври 2004 г., гербна зала, президентство на Република България.

Наков създава Националната академия по разработка на софтуер (НАРС) през 2005 г.

Национална академия по разработка на софтуер (НАРС)Идеята на Наков да създаде национален учебен център и да обучава безплатно софтуерни инженери, да им дава професия и работа и да работи в помощ на младите хора и на българската софтуерна индустрия постепенно назрява и той създава своя школа по програмиране в София през 2005 г. Заедно със съдружници Светлин Наков създава частен образователен център за безплатно обучение на софтуерни инженери наречен “Национална академия по разработка на софтуер (НАРС)”.

Школата на Наков обучава безплатно на програмиране и разработка на софтуер около 400 младежи по направления Java, .NET, C++ и други технологии и за няколко години става най-сериозният учебен център за производство на софтуерни инженери в България. По идея младежите учат в Академията на Наков (НАРС) безплатно, а фирмите, които ги наемат на работа след завършването им плащат тяхното обучение.

НАРС - реклама на курсовете на НаковНаков разработва и води десетки курсове по програмиране и софтуерни технологии, обхваща почти всичко, свързано с програмиране, за което в индустрията се търсят кадри – от embedded C, C++ до .NET и Java. Академията работи добре и Наков става известен сред всички софтуерни фирми като човекът, който винаги може да намери кадърни програмисти за работа при тях, независимо от технологията. НАРС добива славата на универсален производител на софтуерни инженери и цялата индустрия започва да си купува програмисти от фирмата на Наков, а той си създава екип от десетки преподаватели, които водят безплатни курсове по програмиране паралелно в няколко учебни зали.

НАРС работи и се развива добре до финансовата криза през 2008 г. когато преминава на платени обучения и Наков напуска заради несъгласия със съдръжниците си да събират пари от учащите. Пълната история на Наков и НАРС е публикувана в неговия блог за курсове, уроци и обучения по програмиране.

След НАРС Наков става технически директор на малка софтуерна фирма и пише застрахователен софтуер за голяма българска застрахователна компания. След това преминава в Телерик и учредява академията на Телерик за софтуерни инженери.

Наков работи като софтуерен инженер за няколко софтуерни фирми в София

През всичките години от както завършва училище насам, Светлин Наков работи като програмист, консултант, софтуерен инженер, ръководител на екипи по разработка на софтуер, преподавател и съдружник във фирми, където натрупва значителен индустриален опит по практическа разработка на софтуерни проекти и управление на екипи.

ComSoftПървата му работа като студент е след като завършва училище. Той работи с Oracle Forms във фирма ComSoft в периода юли 1999 – април 2000 г. Работата там е несериозна, не му носи съществено развитие, и той скоро я напуска.

Мусала СофтСлед това попада в първата по-сериозна фирма MusalaSoft, където работи на пълен работен ден и наистина научава много за софтуерната индустрия и разработката на софтуер за големи клиенти. Там Наков пише на Java и паралелно води безплатни (изборни) курсове по програмиране във ФМИ. В Мусала Софт Наков учредява и ръководи съвместно с PC Magazine / Bulgaria най-големия български частен конкурс по алгоритмично програмиране (вж. http://konkurs.musala.com).

TechnoLogicaСлед MusalaSoft Наков става freelancer, но работата вкъщи не му допада и той сменя обстановката. Започва да работи в Технологика с Java и Oracle. Там му харесва, тъй като не е напрегнато и може да си води спокойно курсовете във ФМИ, но трябва да напусне, тъй като спечелва проекта на Майкрософт за разработка на .NET учебен курс и .NET книга на български език.

НАРСПрез 2005 г. след като издава първата си книга за .NET и натрупва достатъчно опит с обучението по практическа разработка на софтуер и съвременни софтуерни технологии, Наков се захваща със своята школа за софтуерни инженери – Национална академия по разработка на софтуер (НАРС).

Наков пуска своя блог през 2007 г.

nakov.com - logoПрез 2007 г. Наков най-накрая намира време да пусне свой блог в Интернет, където да споделя новости от света на безплатните обучения по програмиране и да пише и публикува технически статии, свързани с технологиите, с които се занимава. От този момент нататък всичко по-интересно от професионалния живот на Наков, неговите безплатни курсове, книги, проекти и постижения могат да се намерят на неговия блог.

Наков отказва работа на Майкрософт през 2008 г.

Microsoft - DublinПрез 2008 г. Светлин Наков е поканен от Майкрософт на работа в техният център за разработка в Дъблин, като част от екипа на Microsoft Office, на ръководна длъжност. Такива оферти често го спохождат, но той не им обръща внимание. Един ден отива на интервю в Дъблин по настояване на свои приятели, без да има интерес към позиция в Microsoft. Преминава интервюто успешно, впечатлява интервюиращите и те го канят на работа при тях. За добро или не, Наков не иска да си напусне работата в България, която му носи по-добро качество на живот, и отказва.

Наков създава Академията на Телерик за софтуерни инженери през 2009 г.

Наков преподава програмиране в Академията на Телерик за софтуерни инженери

В края на 2009 г. Светлин Наков е привлечен от световноизвестната българска софтуерна компания Telerik Corp. която към този момент наброява 300 души и желае да ускори темпа си на растеж. Светлин Наков е работил и преди това с Телерик – обучавал е за тях .NET инженери в Национална академия по разработка на софтуер и е организирал за Телерик състезание по програмиране. Знаейки, че Телерик е добра фирма, в която добрите резултати високо се оценяват,имайки доверие на ръководството на Телерик и получавайки възможността да възроди идеята си за провеждане на мащабни безплатни обучения за софтуерни инженери, той с радост приема и се присъединява към Телерик заедно с няколко свои бивши колеги от НАРС.

Първият проект на Наков в да създаде програма за безплатно обучение на .NET инженери, които да учат програмиране и разработка на софтуер с .NET технологиите и да постъпват на работа в Телерик. Създава се Академията на Телерик за софтуерни инженери, в която се провеждат безплатни курсове и обучения по програмиране и разработка на софтуер. Наков започва отново да води безплатни курсове по българските университети (във ФМИ и в ТУ-София) и паралелно с това обучава на .NET технологии студентите от своята академия за софтуерни инженери.

Наков преподава програмиране в Академията на ТелерикТози път всички курсове са напълно безплатни и постепенно се разширяват. Телерик построява нови учебни зали, наема още обучители в отдела на Наков и от няколко десетки, учещите безплатно програмиране и софтуерни технологии при Наков в Телерик стават няколко стотици. Постепенно Академията на Телерик се утвърждава като най-големият частен образователен център по разработка на софтуер в България и постоянно продължава да се развива. Тя предоставя богат набор от безплатни курсове по съвременни софтуерни технологии, които могат да се посещават присъствено или дистанционно и към тях се разпространяват всикококачествени лекции, учебни материали, книги и видеоуроци, заедно със задачи за упражнени, домашни и курсови проекти.

Наков получава докторска степен по компютърни науки през 2010 г.

Наков защитава своята докторска дисертация в областта на компютърната лингвистикаСлед 4-годишна работа, доклади на научни конференции, работа по научни експерименти и изследвания, писане на статии за списания и конференции Светлин Наков получава докторска степен (PhD) по компютърни науки. Неговата докторска дисертация е в областта на изчислителната лингвистика и изследва нови алгоритми за определяне на междуезикова семантична близост чрез търсене в Google. За повече информация прочетете публикацията на Наков за неговата докторска дисертация.

Наков създава училищната софтуерна академия на Телерик през 2010 г.

През 2010 г. д-р Светлин Наков създава първата по рода си национална школа за обучение на ученици по приложно програмиране – Академия на Телерик по софтуерни технологии за ученици (Telerik School Academy). До този момент учениците разчитат предимно на самообучение (както е било и в ученическите години на Наков), но това се променя.

Наков преподава на ученици в Академията на Телерик по разработка на софтуер за ученициШколата по софтуерно инженерство за ученици организира всеки месец тридневни присъствени обучения по приложно програмиране и разработка на софтуер: езици за програмиране, C#, PHP, софтуерно инженерство и работа в екип, системи за съвместна работа, SVN, бази данни, SQL, SQL Server, MySQL, ORM технологии, Entity Framework, уеб технологии, HTML, CSS, HTML5, JavaScript, jQuery, ASP.NET, WPF, Silverlight, 3D графика и моделиране, game development, OpenGL, уеб разработка с PHP, cloud технологии, embedded разработка, разработка за мобилни устройства и всякакви други теми от съвременната разработка на софтуерни приложения и системи. Всички обучения се записват на видеозапис и лекциите, презентациите, уроците и проектите, изучавани във школата се публикуват на сайта на ученическата академия за безплатно изтегляне.

Ех, ако можеше по мое време да има такава академия, в която някой да ми сипва наготово знанията и уменията за програмиране, вместо да уча по метода проба-грешка, щях да си спестя 10 години лутане без посока”, жалва се Наков сред свои колеги.

Безплатните книги на Наков

През творческия си период между 2003 г. и 2011 г. Светлин Наков издава 6 безплатни книги за програмиране и разработка на софтуер с различни инструменти и технологии. Повечето книги са написани в широки авторски колективи под ръководството на Наков, с което той въвлича в идеята за безплатните книги, курсове и обучения по програмиране десетки свои колеги и приятели.

Ето ги шестте книги, които са променили живота на стотици българи и са им дали път към овладяване на програмирането:

Книга "Въведение в програмирането със C#" - Светлин НаковКнига "Въведение в програмирането с Java" - Светлин НаковКнига "Програмиране за .NET Framework - том 2" - Светлин Наков
Книга "Програмиране за .NET Framework - том 1" - Светлин НаковКнига "Интернет програмиране с Java" - Светлин НаковКнига "Java за цифрово подписване на документи в уеб" - Светлин Наков

За тези книги има достатъчно публикации в Интернет, така че няма да ги коментираме допълнително. Можете да научите повече за тях от раздела “книги” на сайта на Наков.

Безплатните курсове на Наков по разработка на софтуер и софтуерни технологии

Наков води безплатни курсове по програмиране пред многобройна публикаПрез годините Светлин Наков води десетки курсове и стотици лекции, семинари и обучения по програмиране и разработка на софтуер, дава професия и работа на няколко хиляди софтуерни инженери, които и до ден днешен работят в софтуерната индустрия. За тях е писано и се говори много – по форуми и сайтове, по блогове и конференции, по курсове и семинари, по обучения и състезания, по България и по чужбина. Актуален списък на безплатните курсове и уроци по програмиране, които Наков и неговия колектив провеждат през последните години може да се намери в раздел “курсове” на сайта на Наков.

Наков възстановява кръжоците по програмиране през 2011 г.

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

Наков започва да се занимава с компютри и софтуер на кръжок по програмиране преди повече от 20 години. Тогава кръжоците дават път и бъдеща професия на хиляди млади българи от цялата страна. В един момент социализмът си отива и с него се изгубват и кръжоците по програмиране. Настъпва пълна разруха. Софтуерните специалисти минават почти изцяло на самообучение. В десетки градове в България години липсва каквото и да е обучение по програмиране за деца и ученици. И така е години наред.

През 2010 г. се създава наследник на националните лагер-школи по програмиране за гимназиални ученици – училищната академия за софтуерни инженери на Телерик.

През 2011 г. започва възстановяването на школите по програмиране за деца по градовете в цяла България. По идея на Светлин Наков и с подкрепата на световноизвестната софтуерната корпорация Телерик, се учредяват кръжоци (школи) по програмиране за деца във възраст 4-6 клас в цяла България – академия по програмиране за деца (Telerik Kids Academy).

Академия на Телерик по програмиране за деца – Telerik Kids Academy

Академия по програмиране за деца - Telerik Kids AcademyПроектът “Telerik Kids Academy” подкрепя финансово и методически учители и преподаватели да създават и развиват из цяла България школи по програмиране, където да се обучават децата от едно бъдещо поколение софтуерни инженери. Целта е да се създаде поне по една школа за обучение по програмиране и разработка на софтуер в 20 български града за деца във възраст от 9 до 13 години, които да поемат по пътя на програмирането и разработката на софтуер още от 4-ти клас, за да имат шанса да станат добри софтуерни инженери и шампиони по олимпиадите още като ученици.

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

Накъде от тук нататък?

Мечтата ми е един ден да обучаваме безплатно на програмиране, да даваме професия и работа не на стотици, а на десетки хиляди ученици, студенти и ентусиасти и да направим България силициевата долина на Европа – предпочитано място за живеене и работа. Вярвам, че ще постигнем това някой ден.”, споделя Наков пред журналисти.

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Older Posts »