Автори освітнього треку: Сем Булатов, Лена Райан, Леонід Крутовський
програма спочатку створена для 16+, які бажають перейти в IT. З досвіду дорослих випускників, при навчанні від 8 годин на тиждень на обидва курси освітнього треку потрібно півроку.
іграшки прибираємо в комору, все як у дорослих:
- сучасний підхід у навчанні-самостійне вивчення матеріалів
- особистий вибір напрямку професійної розробки
- Написання справжніх веб-сервісів для портфоліо розробника
- ніяких ігрових підходів, програмування через онлайн-ігри, Minecraft
За освітній трек учень створить 3 проекти на Python: редактор сплайнів, telegram-бот, веб-сервіс todo-list і 1 проект на JavaScript: веб-сервіс рекомендацій фільмів. Проекти можна буде включити в портфоліо.
чого навчимо:
- працювати зі змінами коду проекту за допомогою Git та GitHub
- вирішувати завдання на Python і розробляти сайти за допомогою фреймворка django
- застосовувати принципи клієнт-серверної взаємодії та працювати з базами даних
- працювати з API сторонніх сервісів і проводити Unit-тестування
- створювати сайти та мобільні інтерфейси
- писати код на HTML, CSS і JavaScript
- створювати інтерактивні елементи на сайтах
- оновлювати дані на сторінці без її перезавантаження
- працювати з браузерними API-дізнаватися геопозицію користувачів, взаємодіяти з буфером обміну та ін.
- використовувати готові рішення
Python, PyCharm, PyQt, Coverage, GitHub, Django, SQL, Flask, JavaScript, CSS, HTML, Git, NodeJS, DOM, unit-тести, API.
Блок 1-Програма Python
- Знайомство
- знайомство з курсом
- знайомство з автором
- знайомство з навчальним оточенням
- розповідь про Python: що за Мова, де застосовується
- знайомство з курсом
- Підготовка до курсу
- Створення облікового запису та налаштування Github
- Налаштування SSH
- базові знання про пам'ять і процесор
- розповідь про компілятори та інтерпретатори
- Створення облікового запису та налаштування Github
- основи
- перші програми з IDE або з файлу
- IDE: Visual Studio Code, переваги та налаштування, альтернативи
- PyCharm — Idea
- pep8, Linter стандарти коду.
- перші програми з IDE або з файлу
- Мова програмування Python
- змінні та вбудовані типи
- структури даних
- рядки та форматування
- Словники та множини
- Comprehensions, lambda, filter, map, collections
- змінні та вбудовані типи
- тестування
- основи тестування: unittest, pytest, сoverage.
- взаємодія з ОС
- Що таке ОС
- процес і потік
- GIL
- Linux\POSIX
- файлова система
- Робота з мережею в ОС
- Що таке ОС
- Десктоп
- основи ООП: успадкування, поліорфізм, MRO
- ООП в Python
- PyQt widgets
- огляд технології QML: порівняння з JavaScript, обговорення MVC, розділення frontend і backend.
- основи ООП: успадкування, поліорфізм, MRO
- Десктоп PyGame
- пошук прикладів на Github
- Запуск, демонстрація без розбору коду
- розширення функціональності
- пошук прикладів на Github
- бази даних
- основи SQL
- види сховищ і баз даних
- огляд найпопулярніших інструментів
- ORM Загальні відомості, CRUD
- Active Record vs Data Mapper
- основи SQL
- пишемо бота
- Що таке API, читаємо документацію
- Качаємо бібліотеку, пробуємо простий приклад
- пишемо простого бота, запит з Ютуба або з Вікіпедії.
- Що таке API, читаємо документацію
- WEB-основи
- Що таке web і з чим його їдять
- місце Python в web, огляд фреймворків
- як проектувати, ApiFirst, стилі проектування, OpenAPI
- SOAP, RPC
- Що таке web і з чим його їдять
- Django
- основи Django: підключення БД, Налаштування Hello World.
- проектуємо API для бекенда.
- підключаємо DRF.
- створюємо контролер для постів
- основи Django: підключення БД, Налаштування Hello World.
- Flask і FastApi
- порівняння Flask з Django
- приклад коду на Flask з розбором
- порівняння Flask з Django
- Знайомство
- знайомство з курсом
- знайомство з авторами
- знайомство з навчальним оточенням
- джерела інформації
- знайомство з курсом
- основи верстки
- базові теги HTML
- базові властивості CSS
- Блокова модель
- позиціонування
- CSS-анімації
- базові теги HTML
- прискорювачі процесу верстки
- CSS-змінні
- методології верстки
- Препроцесори
- UI-фреймворки
- Шаблонізатори
- CSS-змінні
- основи JavaScript
- Що таке інструкція?
- Строгий режим "use strict"
- змінні
- типи даних
- перетворення типів даних
- оператори
- оператори порівняння
- умовні оператори (if, switch...case)
- логічні оператори
- взаємодія з користувачем (alert, prompt, comfirm)
- цикли (while, for)
- функції
- Що таке інструкція?
- якість коду
- налагодження в браузері
- Шкідливі поради
- Коментарі
- документація
- налагодження в браузері
- Об'єкти
- Об'єкти
- збір сміття
- Символи
- методи і this
- перетворення в примітиви
- функції-конструктори
- Об'єкти
- типи даних
- методи у примітивів
- Числа
- рядки
- масиви та їх методи
- ітератори (перебираються об'єкти)
- Map і Set
- WeakMap і WeakSet
- Формат JSON
- методи у примітивів
- глибше у функції
- рекурсія
- замикання
- rest параметри
- Var
- Глобальний об'єкт
- функція як об'єкт
- декоратори і call/apply
- Прив'язка контексту до функції (bind)
- повторюємо лямбди (стрілочні функції)
- рекурсія
- прототипи, успадкування
- Прототипне успадкування
- Prototype
- вбудовані прототипи
- методи прототипів
- Прототипне успадкування
- ООП
- Базовий синтаксис КЛАСІВ
- успадкування КЛАСІВ
- статичні методи та властивості
- приватні властивості та методи
- розширення вбудованих КЛАСІВ
- Instanceof
- домішки
- Базовий синтаксис КЛАСІВ
- асинхронність
- Колбеки
- Проміси
- Async/await
- SetTimeout і setInterval
- RequestAnimationFrame
- EventLoop
- Heap, stack
- черга завдань
- Call-stack
- мікро - та макро-задачі
- Колбеки
- DOM
- Браузер і специфікації
- Dom-дерево
- Пошук елементів через querySelector*, getElement *
- властивості об'єкта елемента
- зміни документа
- розміри і прокрутка елементів
- розміри та прокрутка вікна
- координати
- Браузер і специфікації
- події
- Що таке подія
- спливання
- делегування подій
- поведінка браузера за замовчуванням
- користувацькі події
- Що таке подія
- форми
- властивості та методи форми
- фокусування на форму
- події форм (change, input, paste, copy)
- властивості та методи форми
- браузерні API
- Що таке браузерне API
- Web Storage
- Що таке браузерне API
- модулі та збірка додатків
- Що таке збирачі?
- навіщо нам збирати наші проекти?
- за допомогою яких інструментів це можна робити?
- Що таке збирачі?
- Фреймворки
- що це таке
- навіщо потрібні
- як з ними працювати
- що це таке
- знайомство з NodeJS
- Що таке NodeJS
- readFile
- writeFile
- process
- global
- process.stdIn
- Що таке NodeJS
- тестування
- Що таке тести і навіщо це потрібно?
- Jest
- unit-тести
- Що таке тести і навіщо це потрібно?
Блок 1-Програма Python
- Знайомство
- знайомство з курсом
- знайомство з автором
- знайомство з навчальним оточенням
- розповідь про Python: що за Мова, де застосовується
- знайомство з курсом
- Підготовка до курсу
- Створення облікового запису та налаштування Github
- Налаштування SSH
https://privatelink.de/?https://slurm.io/teen-developer
- Створення облікового запису та налаштування Github