Практикум з Алгоритмів

Курс Практикум з Алгоритмів

Для кого цей курс

Курс призначений для програмістів-початківців, студентів, які вивчають комп'ютерні науки, а також для IT-інженерів, які бажають зрозуміти, як вирішувати комбінаторні задачі та оптимізовувати алгоритми.

Попередні вимоги

Базові знання мови програмування C#
Математика та логіка в межах шкільної програми

Курс Практикум з Алгоритмів

Тривалість:
15 год.
Кількість уроків:
10 занять
Вартість навчання:
91 USD

Форма навчання

Онлайн навчання
Корпоративне

Опис курсу
Практикум з Алгоритмів

Курс складається з двох частин. У першій ми розглядаємо способи "універсального" розв’язання комбінаторних задач методом повного перебору і способи оптимізації цих алгоритмів. У другій частині ми задіємо метод динамічного програмування з рекурсією, який дозволить створювати дійсно швидкі та ефективні алгоритми пошуку.

Комбінаторні алгоритми (Уроки 1-5).

Комбінаторика вивчає варіанти розміщення об'єктів. Комбінаторні алгоритми передбачають перебір усіх варіантів розташування об'єктів та пошук оптимального рішення, яке задовольняє заданим умовам. Комбінаторні задачі в програмуванні зустрічаються дуже часто. Завдання-мінімум для будь-якого програміста - вміти їх вирішувати повним перебором і застосовувати методи оптимізації цих алгоритмів.

Динамічне програмування. (Уроки 6-10).

Алгоритми повного перебору пишуться просто, але працюють дуже довго. Застосовуючи метод динамічного програмування можна значно прискорити час пошуку рішення. Ідея полягає в тому, щоб розділити вихідну задачу на декілька таких самих, але з меншими початковими даними. Для створення таких алгоритмів зазвичай використовується рекурсія.

В курсі гармонійно переплітається теорія і практика, розглядаються методи оптимізації алгоритмів, є візуалізація циклічних та рекурсивних алгоритмів, розглянуто способи створення штучного інтелекту для гри в настільну гру, а також контрольна робота у вигляді сеансу "спортивного програмування" для закріплення матеріалу.

Алгоритми, які ми розглядаємо в даному курсі, можна реалізувати на будь-якій мові програмування. Ми будемо писати програми мовою С#, базових знань якої буде цілком достатньо для розуміння матеріалу.

Програма курсу
  • 1
    Цикли. Графічні візерунки.
    На цьому уроці ми будемо доводити навичку використання циклів до досконалості. Щоб досягти інтуїтивного розуміння, краще «один раз побачити», тому ми будемо малювати химерні візерунки, використовуючи комбінації вкладених циклів і умов.
  • 2
    Прості числа. Оптимізація алгоритмів.
    На цьому уроці ми напишемо алгоритм генерації простих чисел, а потім почнемо його оптимізувати різними способами, заміряючи час роботи кожного варіанту.
  • 3
    Прості задачі на перебір варіантів.
    На цьому уроці ми розв’яжемо декілька комбінаторних задач методом "грубої сили", а потім розглянемо ідеї оптимізації кожного алгоритму.
  • 4
    Гра зі штучним інтелектом. Пошук кращого ходу перебором.
    На цьому уроці ми створимо просту гру, а потім навчимо комп'ютер в неї грати: створимо штучний інтелект для пошуку гарного ходу.
  • 5
    Контрольна робота на перебір варіантів.
    На цьому уроці буде "спортивне програмування". У Вас буде декілька комбінаторних задач на перебір варіантів та обмежений час. Подивимося, чого Ви навчилися і скільки задач встигнете вирішити!
  • 6
    Рекурсія. Побудова фракталів.
    На цьому уроці ми будемо доводити навичку використання рекурсії до досконалості. Щоб досягти інтуїтивного розуміння, краще «один раз побачити», тому ми будемо малювати фрактали - повторювані візерунки, використовуючи алгоритми з рекурсивним викликом.
  • 7
    Складні функції. Оптимізація алгоритмів.
    На цьому уроці ми напишемо алгоритми обчислення деяких алгебраїчних функцій, а потім почнемо їх оптимізувати різними способами, заміряючи час роботи кожного варіанту.
  • 8
    Складні завдання на перебір варіантів.
    На цьому уроці ми вирішимо кілька комбінаторних задач методом динамічного програмування з використанням рекурсії та без неї.
  • 9
    Гра зі штучним інтелектом. Пошук альфа-бета відсіканням.
    На цьому уроці ми продовжимо створення штучного інтелекту для нашої гри. Але на цей раз ми скористаємося рекурсивним пошуком в глибину з відсіканням помилкових рішень.
  • 10
    Контрольна робота на динамічне програмування.
    На цьому уроці буде "спортивне програмування". У Вас буде декілька комбінаторних задач на динамічне програмування та обмежений час. Подивимося, чого Ви навчилися і скільки задач встигнете вирішити!

Що ви отримаєте на курсі

Онлайн уроки з ментором у Zoom

Практичні заняття і перевірка дз

Безкоштовний відеокурс

Онлайн тестування і сертифікація

Як проходить навчання

Online заняття в Zoom

Online заняття в Zoom

Заняття групи проходять онлайн у програмі Zoom. Це ефективне живе спілкування. Всі уроки записуються і доступні для повторного перегляду.

Виконання домашніх завдань

Виконання домашніх завдань

До кожного уроку розроблені практичні завдання, які необхідно виконувати і здавати у спеціальній LMS системі.

Перевірка ДЗ, фідбек

Перевірка ДЗ, фідбек

Усі роботи студентів перевіряються і по кожному завданню надається фідбек з оцінкою та рекомендаціями.

Спілкування та підтримка

Спілкування та підтримка

У телеграм-чаті групи студенти завжди можуть отримати допомогу і відповіді на питання від ментора, асистента та одногрупників

Тестування і сертифікати

Тестування і сертифікати

Після кожного модуля програми студенти проходять тестування і отримують сертифікати, які підтверджують рівень знань.

Курсові проєкти

Курсові проєкти

Протягом курсу студенти виконують декілька курсових проєктів, а одному із них - фінальному, приділяється особлива увагу наприкінці.

Стажування

Стажування

Перший комерційний досвід шляхом стажування у CyberBionic Systematics

Працевлаштування

Працевлаштування

Індивідуальний план розвитку спеціаліста, допомога у складанні резюме, організація тестових співбесід та стажувань.

Сертифікат

по проходженню курсу

Наявність сертифіката Навчального Центру CyberBionic Systematics свідчить про Ваш володінні новими знаннями і навичками, а значить, дозволяє вигідно виділитися на тлі інших кандидатів і збільшує шанси на успішне працевлаштування або просування по кар'єрних сходах. Для отримання сертифікату після закінчення навчання, необхідно успішно пройти тестування за відповідним курсом на Testprovider.com

Викладачі курсу

Записатися на курс

Записатися
на пробний урок
Будь ласка зачекайте...
Ваша заявка прийнята! Менеджер навчального центру зв'яжеться з Вами найближчим часом.
Мессенджер: