Программирование на Python и JavaScript для подростков [2022]
Слёрм
Slurm
Сэм Булатов, Лена Райан, Леонид Крутовский
Программа изначально создана для 16+, желающих перейти в IT. По опыту взрослых выпускников, при обучении от 8 часов в неделю на оба курса образовательного трека нужно полгода.
Игрушки убираем в чулан, всё как у взрослых:
- Современный подход в обучении - самостоятельное изучение материалов
- Личный выбор направления профессиональной разработки
- Написание настоящих веб-сервисов для портфолио разработчика
- Никаких игровых подходов, программирования через онлайн-игры, Minecraft
За образовательный трек ученик создаст 3 проекта на Python: редактор сплайнов, telegram-бот, веб-сервис todo-list и 1 проект на JavaScript: веб-сервис рекомендаций фильмов. Проекты можно будет включить в портфолио.
Чему научим:
- Работать с изменениями кода проекта с помощью Git и GitHub
- Решать задачи на Python и разрабатывать сайты при помощи фреймворка Django
- Применять принципы клиент-серверного взаимодействия и работать с базами данных
- Работать с API сторонних сервисов и проводить Unit-тестирования
- Cоздавать сайты и мобильные интерфейсы
- Писать код на HTML, CSS и JavaScript
- Создавать интерактивные элементы на сайтах
- Обновлять данные на странице без её перезагрузки
- Работать с браузерными API — узнавать геопозицию пользователей, взаимодействовать с буфером обмена и др.
- Использовать готовые решения
Python, PyCharm, PyQt, Coverage, GitHub, Django, SQL, Flask, JavaScript, CSS, HTML, Git, NodeJS, DOM, Unit-тесты, API.
Блок 1 - Программа Python
Модуль 1 - Знакомство
- Знакомство с курсом
- Знакомство с автором
- Знакомство с учебным окружением
- Рассказ о Python: что за язык, где применяется
- Создание аккаунта и настройка Github
- Настройка SSH
- Базовые знания про память и процессор
- Рассказ про компиляторы и интерпретаторы
- Первые программы из IDE или из файла
- IDE: Visual Studio Code, преимущества и настройка, альтернативы
- PyCharm — Idea
- PEP8, linter стандарты кода.
- Переменные и встроенные типы
- Структуры данных
- Строки и форматирование
- Словари и множества
- Comprehensions, lambda, filter, map, collections
- Основы тестирования: unittest, pytest, сoverage.
- Что такое ОС
- Процесс и поток
- GIL
- Linux\POSIX
- Файловая система
- Работа с сетью в ОС
- Основы ООП: наследование, полиорфизм, MRO
- ООП в Python
- PyQt widgets
- Обзор технологии QML: сравнение с JavaScript, обсуждение MVC, разделения frontend и backend.
- Поиск примеров на Github
- Запуск, демонстрация без разбора кода
- Расширение функциональности
- Основы SQL
- Виды хранилищ и баз данных
- Обзор самых популярных инструментов
- ORM общие сведения, CRUD
- Active Record vs Data Mapper
- Что такое API, читаем документацию
- Качаем библиотеку, пробуем простой пример
- Пишем простого бота, запрос с Ютуба или из Википедии.
- Что такое web и с чем его едят
- Место Python в web, обзор фреймворков
- Как проектировать, ApiFirst, стили проектирования, OpenAPI
- SOAP, RPC
- Основы Django: подключение БД, настройка Hello World.
- Проектируем API для бэкенда.
- Подключаем DRF.
- Создаем контроллер для постов
- Сравнение Flask с Django
- Пример кода на Flask с разбором
Блок 2 - Программа JavaScript
Модуль 1 - Знакомство
- Знакомство с курсом
- Знакомство с авторами
- Знакомство с учебным окружением
- Источники информации
- Базовые теги HTML
- Базовые свойства CSS
- Блочная модель
- Позиционирование
- CSS-анимации
- CSS-переменные
- Методологии вёрстки
- Препроцессоры
- UI-фреймворки
- Шаблонизаторы
- Что такое инструкция?
- Строгий режим "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-дерево
- Поиск элементов через querySelector, getElement
- Свойства объекта элемента
- Изменения документа
- Размеры и прокрутка элементов
- Размеры и прокрутка окна
- Координаты
- Что такое событие
- Всплытие
- Делегирование событий
- Поведение браузера по умолчанию
- Пользовательские события
- Свойства и методы формы
- Фокусировка на форму
- События форм (change, input, paste, copy)
- Что такое браузерное API
- Web Storage
- Что такое сборщики?
- Зачем нам собирать наши проекты?
- С помощью каких инструментов это можно делать?
- Что это такое
- Зачем нужны
- Как с ними работать
- Что такое NodeJS
- readFile
- writeFile
- process
- global
- process.stdIn
- Что такое тесты и зачем это нужно?
- Jest
- Unit-тесты
Примечание: на момент создания темы актуальная цена является расчётной и определяется Организатором в зависимости от количество месяцев, необходимых для комфортного изучения и выдачи материала. (Цена 4 900 руб./ мес.)
https://slurm.io/teen-developer