План на курса
Въведение
- Какво е програмирането и защо да се занимава с него
- История на програмирането
- Възможност за автоматизация на задачи чрез софтуер
- Ролята на програмирането и компютъра в предприятията
- Програмирането днес – развитие на текущите пазарни тенденции
- Декларативно и императивно програмиране. Какво или Как?
- Машината на Тюринг
- Консолидация, компилиране и интерпретация "на лету".
Повторение на логическите и булевите алгебри
- предказания
- логически изречения
- тавтологии
- Булева алгебра
Първата програма
- структурно
- функционално
- обективно
- И какъв друг начин?
Прости типове
- Представяне на низове
- Цели числа
- Дробни числа
- Булеви
- Тип Null
- Празно или неинициализирано
- Силно и слабо типизиране
Структури на данни
- Концепциите за FIFO и FILO
- Стопки
- Очереди
- Обявление на масиви и списъци
- Индексиране
- Мъпи
- Регистри
- Дървета
Оператори
- Оператори за присвояване.
- Аритметични оператори.
- Оператори за сравнение
- Сравнение на стойности в различни езици
- Битови
- Конкатенация
- Оператори за увеличаване и намаляване
- Наиболее честите грешки
Управление на програмата
- Инструкции if, if else
- Инструкции goto, обсъждане на проблемите на приложението.
- Switch
- Цикъл for, for-in
- Цикъл while, do-while
- Цикъл foreach
- Сприране на цикъла
Създаване на повторно използван код
- Функционално програмиране
- Обектно-ориентирано програмиране
Функционални парадигми на програмирането
- Каква е функция
- Функция и процедура
- Основи на лямбда-калкулуса
- Аргументи на функциите
- Връщане на стойности
- Функции като аргументи
- Анонимни функции
- Затваряне
- Рекурсия
Парадигми на обектно-ориентираното програмиране
- Представяне на субекти от реалния свят субекти в философията, онтология
- Отсъждане какво искаме от обекта или други типове
- Обявление на класове
- Създаване на екземпляри на класове
- Полета, състояние на обекта
- Методи, като поведение на обекта
- Абстракция
- Инкапсулация
- Наследяване
- Полиморфизъм
- Асоциация и агрегация
- Делегация и разделяне на връзките между обектите
- Модули, пакети и библиотеки
- Споделяне на API
- Моделирането на системата като класове и обекти
- Описание и програмиране на връзките между класовете
- Програмиране от бизнес гледна точка
Добри практики в програмирането
- Проблеми и често срещани грешки
- Код на високо ниво в интерпретация на низко ниво
- Оптимизация на кода
- Принципът KISS
- Принципът DRY
- Принципът "по-лошото е по-доброто"
- Разделяне на абстракцията от имплементацията
- Методи за откриване на логически грешки в програмите
- Конвенции за код
- Коментиране на кода
- Метрики на софтуер
Обзор на тези технологии и езици
- Областта на приложение на тези езици
- Основните характеристики на езика
- Перспективи за развитие
- Бъдещото развитие: алгоритми, оптимизация на кода, имплементация на шаблони, шаблони за дизайн, архитектурни шаблони, аналитични стандарти
- Намаляване на контролната структура - използване на изкуствен интелигент и автоматизирано вземане на решения
- Коя платформа да изберете? Индивидуални консултации
Отзиви от потребители (5)
Обучителят беше много търпелив с всички и беше готов да повтори, ако хората не разбраха. Увери се, че всички са разбрали, преди да продължи
Henry - Vodacom
Курс - Introduction to Programming
Машинен превод
Това ми даде солидна основа да навляза в заешката дупка на програмирането :)
Andrew Jones - Vodacom
Курс - Introduction to Programming
Машинен превод
Лекторът имаше задълбочени познания по темата и беше готов да сподели.
Clive Lloyd - Vodacom
Курс - Introduction to Programming
Машинен превод
Съдържанието беше достатъчно подробно, за да мога да разбера основите и концепциите, а доставката беше добре изпълнена.
Anwar - Vodacom
Курс - Introduction to Programming
Машинен превод
Търпение и темп
vuyisa - Vodacom
Курс - Introduction to Programming
Машинен превод