Връщане към Курс по програмиране за напреднали (2012)

Програма на курса по програмиране за напреднали (2012)

Водещи: Валери Дачев, Александър Далемски и Ивелин Моллов, ДАВИД Холдинг АД

Целта на курса е да въведе участниците във фундаментите на съвременното приложно програмиране, предполагайки че те имат базови познания в областта на софтуерната разработка. Краткият период на провеждане на курса няма да позволи пълно запознаване със съответните области и затова целта е на участниците да бъде даден добър старт в областта и възможност сами да определят своята насоченост.

Курсът ще се провежда езика за програмиране C#, система за управление на бази данни Microsoft SQL Server и в среда за разработка на приложенията Microsoft Visual Studio.

Общата продължителност на курса е 40 часа, които при нужда ще бъдат увеличени.

Следва програмата на самия курс:

  1. Общи слова
  2. Основи на обектното програмиране.

    (с елементи на C#)

    1. Абстракция на данните. Класове и обекти. Видимост.

      (или какво ще сънуваме от тук нататък)

    2. Наследяване. Композиция.

      (или Слънчевата система през погледа на програмиста)

    3. Override и Overload;

      (или как да се загубим в собствения си код)

    4. Абстрактни класове. Интерфейси.

      (или с какво се занимават софтуерните архитекти)

    5. Полиморфизъм;

      (и защо аджеба се занимават софтуерните архитекти)

    6. Обработка на грешки. Работа с изключения.

      (и още – как да оставим днешната работа за утре)

  3. Основи на XML.

    (с неоценимата помощ на текстови редактори)

    1. Що е то XML (eXtensible Markup Language);

      (и защо XML ще замени есперанто)

    2. Що е то XSLT (eXtensible Stylesheet Language for Transformations)?

      (или въведение в езиковите преводи)

    3. Що е то XSD (XML Specification Definition)?

      (или да обясним XML говорейки XML)

    4. Приложение: Персистенция. Interoperability. Web услуги.

      (или защо си губим времето с XML)

  4. Работа със системи за управление на бази данни (СУБД)

    (Microsoft SQL Server for newbies)

    1. Основи на базите данни. Видове бази данни;

      (и по какво се различават от бозите данни)

    2. Архитектура на СУБД;

      (или нервите на коя част от нервната ни система са ни спестили)

    3. Организация на СУБД;

      (или първи опит да се загубим в термини)

    4. DDL, DCL и DML в едно – Structured Query Language (SQL).

      (неочаквана добра комбинация – да научим английски с бази данни)

  5. .NET Framework
  6. Desktop приложения:

    (или какво стои зад цъкането с мишката)

    1. Въведение. Предимства и недостатъци;
    2. Windows Forms
    3. Windows Presentation Foundation (WPF).
  7. Web приложения:

    (или какво НЕ правят web дизайнерите)

    1. Въведение. Предимства и недостатъци;
    2. Особености и ограничения на HTTP протокола;
    3. Основи на (X)HTML & Java Script;
    4. AJAX и JSON;
    5. Web Forms;
    6. ASP.NET MVC.
  8. Web услуги:

    (или как да си говорим с останалия свят)

    1. Описание и приложение;
    2. Особености и изисквания. Приложение;
    3. Спецификации на услугите;
    4. Прилики и разлики с web приложенията.
  9. Практики в разработката.

    (или религиозните войните между разработчиците)

    1. Трислойна архитектура на решенията;

      (или принципът „Разделяй и владей”)

    2. Бележки по освобождаването на паметта;

      (или кой ще ни чисти бъкиите)

    3. Отличителни белези на лошия код. Примери;

      (или „Опознай врага… за да го обикнеш”)

    4. Що е то UML и кой го ползва?

      (и защо няма да го ползваме ние)

  10. Разработка на софтуерно решение.

    (Putting it all together… или повече действие, по-малко приказки)

    1. Формулиране на основните изисквания;

      (или симулация на преговори с клиент – тест за издръжливост)

    2. Базова архитектура на решението. Интерфейси за работа;

      (или увод в строителството)

    3. План и разпределение на работата;

      (или защо трябва да започнем от мазето)

    4. Дизайн на базите от данни;

      (или как да си подредим гардероба)

    5. Дизайн на базовите класове и основната библиотека;

      (или как се излива бетонна плоча)

    6. Имплементация;

      (известна още като „черната работа“)

    7. Тестване на проекта и изчистване на грешки.

      (или отработване на фразата „Роди ме, мамо, тъпа, аз сама ще се изруся.“)

  11. Окончание.

    (или кратко въведение в алкохолизма на програмистите)

Постоянен линк към тази тема: https://acad.david.bg/kursove/2012-kurs-po-programirane-za-naprednali/programa/