План на курса

Въведение

  • Какво е програмирането и защо да се занимава с него
  • История на програмирането
  • Възможност за автоматизация на задачи чрез софтуер
  • Ролята на програмирането и компютъра в предприятията
  • Програмирането днес – развитие на текущите пазарни тенденции
  • Декларативно и императивно програмиране. Какво или Как?
  • Машината на Тюринг
  • Консолидация, компилиране и интерпретация "на лету".

Повторение на логическите и булевите алгебри

  • предказания
  • логически изречения
  • тавтологии
  • Булева алгебра

Първата програма

  • структурно
  • функционално
  • обективно
  • И какъв друг начин?

Прости типове

  • Представяне на низове
  • Цели числа
  • Дробни числа
  • Булеви
  • Тип Null
  • Празно или неинициализирано
  • Силно и слабо типизиране

Структури на данни

  • Концепциите за FIFO и FILO
  • Стопки
  • Очереди
  • Обявление на масиви и списъци
  • Индексиране
  • Мъпи
  • Регистри
  • Дървета

Оператори

  • Оператори за присвояване.
  • Аритметични оператори.
  • Оператори за сравнение
  • Сравнение на стойности в различни езици
  • Битови
  • Конкатенация
  • Оператори за увеличаване и намаляване
  • Наиболее честите грешки

Управление на програмата

  • Инструкции if, if else
  • Инструкции goto, обсъждане на проблемите на приложението.
  • Switch
  • Цикъл for, for-in
  • Цикъл while, do-while
  • Цикъл foreach
  • Сприране на цикъла

Създаване на повторно използван код

  • Функционално програмиране
  • Обектно-ориентирано програмиране

Функционални парадигми на програмирането

  • Каква е функция
  • Функция и процедура
  • Основи на лямбда-калкулуса
  • Аргументи на функциите
  • Връщане на стойности
  • Функции като аргументи
  • Анонимни функции
  • Затваряне
  • Рекурсия

Парадигми на обектно-ориентираното програмиране

  • Представяне на субекти от реалния свят субекти в философията, онтология
  • Отсъждане какво искаме от обекта или други типове
  • Обявление на класове
  • Създаване на екземпляри на класове
  • Полета, състояние на обекта
  • Методи, като поведение на обекта
  • Абстракция
  • Инкапсулация
  • Наследяване
  • Полиморфизъм
  • Асоциация и агрегация
  • Делегация и разделяне на връзките между обектите
  • Модули, пакети и библиотеки
  • Споделяне на API
  • Моделирането на системата като класове и обекти
  • Описание и програмиране на връзките между класовете
  • Програмиране от бизнес гледна точка

Добри практики в програмирането

  • Проблеми и често срещани грешки
  • Код на високо ниво в интерпретация на низко ниво
  • Оптимизация на кода
  • Принципът KISS
  • Принципът DRY
  • Принципът "по-лошото е по-доброто"
  • Разделяне на абстракцията от имплементацията
  • Методи за откриване на логически грешки в програмите
  • Конвенции за код
  • Коментиране на кода
  • Метрики на софтуер

Обзор на тези технологии и езици

  • Областта на приложение на тези езици
  • Основните характеристики на езика
  • Перспективи за развитие
  • Бъдещото развитие: алгоритми, оптимизация на кода, имплементация на шаблони, шаблони за дизайн, архитектурни шаблони, аналитични стандарти
  • Намаляване на контролната структура - използване на изкуствен интелигент и автоматизирано вземане на решения
  • Коя платформа да изберете? Индивидуални консултации
 35 часа

Брой участници


Цена за участник

Отзиви от потребители (5)

Предстоящи Курсове

Свързани Kатегории