От джуниора к мидлу

От джуниора к мидлу, этапы и роадмэп, настольная книга программиста.

 

На курсе вы узнаете принципы фотографии для Instagram, поймете, как выбирать объекты для фото и строится композиция. Вы научитесь разбираться в экспозиции и создадите больше десятка работ, которые сможете сразу опубликовать в инстаграме.

Автор курса

Грегер Сергей Эдуардович

Кандидат технических наук, jпытный программист. Специализируется на языке программирования Python.  Более 10 лет преподавания различных курсов
по информационным технологиям в УРФУ. Высокие результаты подготовки для
участия в конкурсах, конференциях и олимпиадах. Многолетнее руководство
дипломных проектов в области ИТ.

Автор 3 книг. в том числе учебника по языку программирования Python для вузов.

Автор 32 научных публикаций в области ИТ, веб-разработки и искусственного интеллекта.

ticher.jpg

 

О чем этот курс?

Вы не программист, но хотите изучить программирование, что бы использовать новые возможности в своей основной работе?

 

 

Умение программировать предполагает знание языка программирования, но его знание не гарантирует  умения. Поэтому встречается ситуация "Язык программирования знаю, писать программы не умею". В курсе мы научим вас не только тому, как писать код, но прежде всего  думать как программист, расскажем и научим как нужно действовать, что бы повышать свой профессиональный уровень и, как следствие, продвигаться по карьерной лестнице.

Вы получите:

 знания и навыки, которые позволяют реализовывать проекты разного уровня сложности,  начиная с  простейших скриптов и программ, заканчивая программным обеспечением для управления сложными системами  и искусственного интеллекта;

 практику разработки программ, используемую в компаниях по разработке программного обучения

 

Для кого предназначен курс

Тем, кто хочет начать карьеру программиста

Если вы хотите освоить программирование, сменить профессию, но совершенно незнакомы даже с базовыми понятиями программирования. Задания построены от простого к сложному, поэтому новичкам будет просто разобраться во всех нюансах языка.

Junior-разработчикам

Вы уже умеет писать простейшие коды, но не хотите узнать больше и научиться решать сложные задачи. Преподаватель доступно и понятно расскажет базовые основы языка и его синтаксиса, научит выстраивать алгоритм управления большим количеством переменных.

Опытным разработчикам

Вы научитесь использовать объектно-ориентированное программирование в своих проектах,  узнаете как создаются инструменты для программистов, познакомитесь с No-code системами

 

Программа курса

Настройка окружения

Посели дракона в компьютер (Установка python)

Мессенджер для дракона ( Установка и настройка редактора)

Социальная сеть для драконов (Основы git)

Базовые структуры данных

Можно ли забивать гвозди микроскопом? (ресурсы и опереции над ними)

Мясорубка для оперативной памяти ((как приготовить данные для памяти компьютера)

Утка и крокодил - родственники ? (динамическая типизация)

Переменнные или как работать с памятью

Делаем калькулятор или числа и оперции над ними

Пишите нам или как работать с текстом

Говорите только да или нет или булева алгеба и логические выражения

Как быть если данных много - применение списков

родственник списка или зачем нам кортежи

Навешиваем этикетки или зачем нужны словари

Множества и как разделить данные на части

Практика

Думаем как сеньоры: программа и ее составные части

Наводим порядок (структура программы)

Приспосабливаем код (задача одна, решения - разные)

Что такое исполнители

Исполнитель -читатель или как вводить данные

Исполнитель - печатник или выодим данные на экран

Богатырь на перепутье

Условный оператор if или выбор пути

Оператор elif или когда дорог несколько

Оператор else  или когда ничего не подходит

Попрактикуемся.

Время ставить условия

Цикл while

Условия выполнения

Бесконечный цикл и как его разовать

Практикуем

Вкалывают роботы или цикл for

Элементы оператора

Перебор списка по содержанию

Перебор списка по индексу

Практикуем

Лень - двигатель прогресса, поговорим о функциях

Функция -  способ повторного использования кода

Как создать функцию

Поговори со мною, функция или оператор return

Передача параметров - не все просто

На первый, второй расчитайся или позиционнная передача параметров

Как вы яхту назовете, так она и поплывет или именованные параметры

зачем много говорить или параметры по умолчанию

вас  много а я одна или передача роизвольного числа параметров

 Практика

.

Змея кусает хвост или рекурсия

Приключения между зеркалами или что такое рекурсия

Как выявлять рекурсию

Осторожно, здесь глубоко или глубина рекурсии

Практика

ОСНОВЫ

Порядок прежде всего или организуем код

Понятие модуля, когда он применяется

Способы импортирования кода

Пакеты, способы создания и использования

Кто запускает программу или функциия main

Практика

Хороший программист - ленивый программист

Стандартные и сторонние библиотеки Python

Обзор сторонних библиотек,

Python Packages Index

Виртуальные окружения

Установка пакетов с PyPi

Пример использования библиотек

Практика

Храните ваши данные, иначе быть беде

Способы хранения данных

Работа с файлами

Режимы файлового ввода-вывода

Читаем файлы или десериализация

Прочитали, а как использовать?

Записываем данные или страшное слово сериализация

Оператор with

Практика

Если программа сломалась или отладка кода

Отладка и тестирование кода

Сообщения об ошибках

Этот вездесущий оператор print

Логирование кода

Инструменты отладки

Pdb вседа с тобой

Тестирование кода

Какие тесты бывают

Практика

Собираем матрешку или фукциональный стиль программирования

Элементы функционального программирования

Отличие функционального стиля от императивного

Списковые, словарные сборки

Итераторы спрешат на помощь

Выстрелил и забыл или генераторы в действии

Практика

Тяжелая артиллерия программирования или ООП

:Объектно-ориентированное прграммирование - что это

Понятие объекта и его класса, атрибуты и методы

Методы класса или группа по интересам

Различие атрибутов класса и экземпляра

Способы интроспекции и зачем она нужна

Функции hasattr(), getattr(), callable(), isinstance() и issubclass()

Практика

 

Думай как сеньор или как создать собственный мир

Предметная область - что это

Как придумать классы

Галерейщик и кардинал  это сил или как объединяются классы

Наследование -зачем и когда использовать

Перегрузка методов класса

Я же лучше наследования или композиция классов

Практика

Желание клиента -закон или создаем графический интерфейс пользователя

Графические приложения.

Принципы действия графических приложений.

Что такое событийное управление

Как можно одновременно создавать десктопные и мобильные графические приложения

Из каких элементов состоит графическое приложение

Какие библиотеки используются для их создания

Хочу кнопочку или создание графических приложений с помощью библиотеки Tkinter.

Как подключить библиотеку.

Как создать главное окно или начинаем применять ООП

Какие элементы управления можно использовать и как добавить их в окно

Как создать меню приложения

Как создавать диалоговые окна

Как использовать графику и рисунки

Не мешайте программисту спать или создаем исключения

Исключения что это и зачем

Виды стандартных ошибок

Обработка исключений

Создание исключений, параметры

Примеры работы с исключениями сторонних модулей

Практика

Запускаем облако дронов или мультипоточность

Модель параллельных вычислений

Потоки

Блокировки

Очереди

Процессный параллелизм

Практика

Как поймать рыбку в реке информации или добыча данных

Библиотеки для работы с данными

Расширенные типы данных

Регулярные выражения

JSON

CSV-файлы

Практика

Продолжаем добывать данные

Сетевые операции

Парсинг сайтов

Работа с изображениями

Работа с базами данных

Практика.

Думаем как сеньоры. Как стать начальником или проект разработки

Не зная брода не суйся в воду или планируем разработку

Много точек зрения и все правильные

Что такое архитектура

Жизненный цикл разаработк

 

Кого я жду на курсе?

 

конечно, тех кто хочет изучить язык программирования Python, НО если вам интересна философия программирования и понимание того как наша действительность может быть представлен в виде программ. если вы хотите научится стороить свой мир с помощью языка программирования, то мы найдем интересные темы