Честно, говоря, я завидую и школьникам, и студентам, и тем молодым парням и девушкам (а может и не молодым), которые хотят погрузиться в мир программирования.
Для них есть столько чудесных материалов, они настолько хорошо документированы, что при должном желании и упорстве можно быстро стать джуниором, потом миддлом, а там и до сеньора недалеко.
Сегодня поговорим о бесплатных курсах по программированию. Ведь бесплатно — всегда приятно.
Профессии и языки программирования: что выбрать от «Нетологии»
Ссылка: https://netology.ru/programs/dpdv-async
Длительность: трехшаговое обучение, где на каждом шаге свои темы
Формат обучения: видеолекции и практика
Уровень сложности: с нуля
Коротко о курсе
На курсе у учащихся будет возможность попробовать себя в разных направлениях разработки, выбрать свое и получите план для старта в новой сфере.
Программа обучения
Шаг 1. Программирование: обзор профессий
- Профессии в программировании.
- Типичные задачи.
- Средние зарплаты.
- Направления с самым быстрым ростом.
- Возможности и перспективы.
- Различия языков программирования.
- Гайд по выбору языка.
Шаг 2. Инструменты разработчика: мастер-классы с практикой
- JavaScript с нуля.
- Python с нуля.
- Java с нуля.
- Разработка игры для Android.
- Тестирование веб-страницы.
- Информационная безопасность.
Шаг 3. Старт в IT: пошаговый план
- Первые шаги для входа в профессию.
- Нужные навыки.
- Ссылки на полезные ресурсы.
- Примеры успеха и мотивация.
Основы Python-разработки от Яндекс.Практикум
Ссылка: https://practicum.yandex.ru/python-free/
Длительность: 8 тем и 81 урок
Формат обучения: онлайн-уроки
Уровень сложности: с нуля
Коротко о курсе
В рамках этого курса студенты узнают, что такое бэкенд, зачем он нужен и как устроен, какие задачи решает. Также они исследуют серверную часть приложения и узнают, как она взаимодействует с пользователями и другими серверами. Также осваивают основы программирования и начинают писать код на языке Python.
Программа обучения
1 модуль. Как всё устроено
- Введение.
- Кто такой бэкенд-разработчик.
2 модуль. Основы Python
- Функции.
- Библиотеки.
- Протокол HTTP.
- Сетевые запросы.
- Переменные и типы.
- Циклы и ветвления.
- Словари и множества.
- Строки и форматирование.
3 модуль. Дальнейшее обучение в Практикуме
- Трудоустройство.
- Как устроено обучение.
Основы JavaScript от Hexlet
Ссылка: https://ru.hexlet.io/courses/js-basics
Длительность: 39 уроков (видео и/или текст)
Формат обучения: уроки, проверочные тесты, упражнения
Уровень сложности: с нуля
Коротко о курсе
На курсе студенты изучают основы JavaScript — одного из самых широко используемых языков. Также они знакомятся с экосистемой JavaScript, ключевыми возможностями языка, а также узнаете о чистых функциях и именовании. В итоге обучения учащиеся смогут использовать и определять функции, писать несложные программы, искать и анализировать ошибки в коде.
Программа обучения
- Введение. Знакомимся с курсом.
- Hello, World! Пишем первую программу.
- Инструкции. Изучаем азы построения программ на JavaScript.
- Арифметические операции. Переводим арифметические действия на язык программирования.
- Ошибки оформления (синтаксиса и линтера). Изучаем виды ошибок и способы их исправления.
- Строки. Учимся работать со строками.
- Переменные. Учимся хранить информацию и переиспользовать уже существующие данные.
- Выражения в определениях. Учимся упрощать код, используем переменные.
- Именование. Учимся правильно именовать переменные.
- Интерполяция. Изучаем еще один способ работы со строками в JavaScript.
- Извлечение символов из строки. Учимся получать значения из строк.
- Типы данных. Умножаем число на строку и знакомимся с типами данных.
- Неизменяемость и примитивные типы. Узнаем, может ли JavaScript преобразовывать строки или числа.
- Функции и их вызов. Учимся использовать готовые функции.
- Сигнатура функции. Выясняем, как функция принимает и возвращает значения.
- Вызов функции — выражение. Учимся использовать результат работы функций.
- Функции с переменным числом параметров. Знакомимся с расширенными возможностями функций.
- Детерминированность. Изучаем некоторые свойства функций и особенности их работы.
- Стандартная библиотека. Знакомимся со стандартной библиотекой.
- Свойства и методы. Учимся использовать встроенные в JavaScript атрибуты данных.
- Цепочка вызовов. Учимся выстраивать методы в цепочки.
- Определение функций. Учимся создавать функции.
- Возврат значений. Учимся использовать результат работы функции.
- Параметры функций. Учимся передавать данные в функцию.
- Необязательные параметры функций. Задаем значения по умолчанию.
- Упрощенный синтаксис функций. Учимся писать лаконичный код.
- Логика. Изучаем, что такое логический тип и как применять логические операции.
- Логические операторы. Учимся писать составные условия.
- Результат логических операций. Погружаемся глубже в логические операции.
- Условные конструкции. Учимся задавать поведение программы в зависимости от разных условий.
- Тернарный оператор. Учимся писать лаконичный код для условий.
- Конструкция Switch. Изучаем специальную версию if для множественных условий.
- Цикл while. Учимся писать программы для выполнения повторяющихся действий.
- Агрегация данных. Знакомимся с отдельным классом задач, где применяются циклы.
- Обход строк в цикле. Учимся обрабатывать и собирать строки в цикле.
- Условия внутри тела цикла. Учимся управлять поведением программы в цикле.
- Инкремент и декремент. Знакомимся с унарными операциями.
- Цикл for. Изучаем еще один цикл в JavaScript.
- Модули. Знакомимся с модулями — способом разделения программ на составные части и переиспользования частей.
- Дополнительные материалы. Статьи и видео, подобранные командой Хекслета. Помогут глубже погрузиться в тему курса.
Программирование на Python от Stepik
Ссылка: https://stepik.org/course/67/promo
Длительность: 4 часа 48 минут видео
Формат обучения: 28 уроков, 27 тестов, 44 интерактивные задачи
Уровень сложности: с нуля
Коротко о курсе
Студенты познакомятся с базовыми понятиями программирования. В качестве домашних заданий будет предложено довольно много задач для тренировки. Решения будут проверяться автоматической системой, поэтому студенты будут получать быструю обратную связь.
Также в курсе присутствует несколько задач повышенной сложности, которые являются необязательными для прохождения курса, однако желающие смогут поломать голову над придумыванием алгоритмов и реализацией программ к этим задачам.
Программа обучения
Операторы. Переменные. Типы данных. Условия
- Общая информация о курсе
- Введение: программы и Python. Проверка заданий
- Интерактивный режим Python. IPython
- Установка Python на компьютер
- Операции с целыми числами
- Операции с вещественными числами
- Типы данных
- Переменные. Стандартный ввод/вывод
- Логические операции, операции сравнения
- Условия: if, else, elif. Блоки, отступы
- Строки
- Задачи по материалам недели
Циклы. Строки. Списки
- Цикл while.
- Операторы break, continue.
- Цикл for.
- Строки и символы.
- Списки.
- Задачи по материалам недели.
Функции. Словари. Интерпретатор. Файлы. Модули
- Функции.
- Словари.
- Интерпретатор: установка, запуск скрипта.
- Файловый ввод/вывод.
- Модули, подключение модулей.
- Установка дополнительных модулей.
- Задачи по материалам недели.
- Библиотеки для анализа данных. NumPy.
- Библиотека Matplotlib.
- Заключение.
Старт в программировании от HTML Academy
Ссылка: https://htmlacademy.ru/courses/basic-html-css
Длительность: 3 часа теории, 3 часа практики
Формат обучения: задания и испытания
Уровень сложности: с нуля
Коротко о курсе
На курсе студенты изучают основы HTML и CSS и на практике разбираются с семантической разметкой и базовыми механизмами стилизации на примере небольшого сайта.
Программа обучения
Часть 1: Структура HTML-документа. Начинаем готовить разметку страницы блога, разбираемся из каких тегов она состоит и за что эти теги отвечают.
Часть 2: Разметка текста. Продолжаем верстать страницу блога, изучаем, как правильно размечать текстовое содержание: абзацы, заголовки, подзаголовки, списки и многое другое.
Часть 3: Ссылки и изображения. Завершаем разметку страницы блога, добавляем навигационные ссылки, а также разбираемся с форматами изображений.
Часть 4: Основы CSS. Начинаем оформление страниц блога и заодно разбираем базовые понятия CSS: правила, селекторы, свойства, значения, наследование и каскадирование.
Часть 5: Оформление текста. Завершаем оформление страниц блога, учимся оформлять тексты с помощью CSS: задаем шрифты, цвета, отступы, размеры.
Основы программирования на языке Kotlin от «Открытое образование»
Ссылка: https://openedu.ru/course/ITMOUniversity/KOTLIN1/
Длительность: 10 недель
Формат обучения: видеолекции, видеопрезентации, скринкаст
Уровень сложности: средний
Коротко о курсе
Цель курса – сформировать у слушателей представление о современном и набирающем популярность языке программирования Kotlin, разработанном компанией JetBrains. После прохождения курса слушатели смогут уверенно программировать на Kotlin, ориентируясь в синтаксисе и конструкции языка.
Кроме того, они узнают о базовых основах языка, поработают с классами и объектами, познакомятся с функциональным программированием, а также получат возможность узнать о практическом использовании языка Kotlin на примере приложения для Android.
Программа обучения
- Введение в Kotlin
- Основы языка Kotlin
- Классы и объекты
- Классы и объекты (продолжение)
- Функции и лямбды
- Практическое использование Kotlin в Android-разработке
- Введение в Android разработку
- Элементы View
Введение в курс. Преимущества языка Kotlin. Установка IntelliJ IDEA. Первый проект на Kotlin. Практика.
Стилистика кода. Переменные. Условные операторы. Операторы перехода. Практика.
Классы и наследование. Свойства и поля. Интерфейсы. Модификаторы доступа. Функции extensions. Практика.
Классы данных. Generics. Перечисления enum. Анонимные объекты.
Делегирование класса и свойства. Практика
Свойства функции. Высокоуровневые функции и лямбды. inline и noinline функции. Как работают сопрограммы? Практика
Первый проект в Android Studio. Редактирование файла layout. Обращение к элементам через код. Разница написания кода между Java и Kotlin. Выводы по курсу.
Первый проект Hello World. Структура Android проекта. Знакомство с Activity и Intent. Интерфейс Android Studio. Практика.
Структура Layout файла. Density-Independent Pixels (dp). Атрибуты View элементов. Создание разметки с помощью кода. Практика.
Программирование на RxJava 3.0 для Android от AndroidSchool
Ссылка: https://androidschool.ru/courses/start-rxjava-2-0-for-android/
Длительность: 16 лекций, 1 неделя
Формат обучения: онлайн-лекции, разделенные по модулям
Уровень сложности: средний
Коротко о курсе
Студенты на базовом уровне могут освоить RxJava и использовать в своих Android-приложениях эту библиотеку для сетевых запросов, взаимодействия с UI, осуществления запросов к БД и многое другое.
Программа обучения
Введение в RxJava 3.0. Способы создания Observable
В первом модуле вы узнаете, чем отличается Observable от Observer, и поймете, как создать источник данных
Lecture 1.1. Введение.
Lecture 1.2. Примеры кода для демонстрации.
Lecture 1.3. Введение в RxJava 3.Основные возможности.
Lecture 1.4. Основные понятия. Observable vs Observer.
Lecture 1.5. Операторы создания Observable: just, fromCallable и другие.
Lecture 1.6. Оператор Observable.create().
Lecture 1.7. Single, Maybe и Completable.
Lecture 1.8. Disposable.
Lecture 1.9. Выводы 1-го модуля.
Основные операторы RxJava 3.0
Рассмотрим на примерах самые популярные операторы RxJava 3.0 — такие как map(), flatMap(), filter() и другие.
Lecture 2.1. Введение в операторы RxJava.
Lecture 2.2. Читаем Marble Diagram на примере filter().
Lecture 2.3. Операторы take(), skip(), takeWhile() и skipWhile().
Lecture 2.4. Операторы distinct() и elementAt().
Lecture 2.5. Операторы map() и flatMap().
Lecture 2.6. Операторы subscribeOn() и observeOn(). Виды планировщиков.
Выходим в сеть с помощью RxJava
Lecture 3.1. Пример использования RxJava для получения данных из сети.
Web-программирование: с нуля до первых проектов от Sigma Academy
Ссылка: https://school.edu-sigma.ru/websites
Длительность: 144 часа
Формат обучения: онлайн-уроки
Уровень сложности: с нуля
Коротко о курсе
Создатели обещают ученикам, что они освоят перспективную профессию с зарплатой от 80 тыс. рублей (согласно HH.RU) и научатся создавать собственные веб-страницы и проекты и размещать их на хостинге.
Программа обучения
Модуль 1. Введение в верстку. Базовый HTML и CSS
- Введение в веб-программирование и верстку
- HTML: изображения, таблицы, списки.
- Введение в CSS.
- Разработка проекта веб-страницы с использованием базового HTML и CSS.
- Работа с хостингом.
Модуль 2. Вёрстка веб-страниц
- Введение в HTML5. Семантические теги для формирования структуры документа.
- Блочная модель CSS.
- Блочные и строчные элементы.
- Верстка страниц на основе flex-элементов.
- Позиционирование элементов.
Модуль 3. JavaScript
- Введение в web-программирование на стороне клиента, основы алгоритмизации.
- Циклические алгоритмы.
- Основы JavaScript.
- Типы данных.
- Функции.
- Работа с DOM-элементами.
- Условия, циклы.
- Приемы изменения стилей элементов страницы при помощи JavaScript.
- Работа с формой через JavaScript.
Модуль 4. Работа над комплексным проектом
- Жизненный цикл сайта.
- Структура сайта, структура страниц сайта.
- Подготовка файлов к верстке макета.
- Верстка сайта.
- Наполнения сайта интернет-магазина функционалом.
- Размещение сайта в сети Интернет.
Введение в программирование от SkillBox
Ссылка: https://skillbox.ru/course/programming-introduction-free
Длительность: 4 часа видео, 1 месяц обучения
Формат обучения: онлайн-уроки
Уровень сложности: с нуля
Коротко о курсе
Студенты узнают о современных IT-профессиях и актуальных технологиях. Также они знакомятся на практике с популярными языками программирования, пишут сайт и небольшие программы. Кроме того, они проходят тест на определение IT-талантов, чтобы определиться, с какой образовательной программы Skillbox лучше начать карьеру.
Программа обучения
- Первый шаг к программированию
- Программы повсюду
- Программирование — это просто
- Программирование — это перспективно
- Разнообразие IT-направлений
- Устройства и программы
- От теории к практике
- Frontend-разработка
- Разработка на Java
- Разработка на Python
- Тестирование (QA)
- Кибербезопасность
- Data science
- Разработка iOS-приложений
- Разработка Android-приложений
- Тест на профориентацию
- Гид по платформе и трудоустройству
Познакомитесь со спикером курса и услышите несколько историй о ребятах, которые освоили программирование с нуля.
Узнаете, где вообще нужны программы и для каких целей.
Разберетесь, из чего состоит код и по каким принципам его пишут. Узнаете, обязательно ли знать математику или заканчивать технический вуз, чтобы стать программистом.
Узнаете, на какие зарплаты можно рассчитывать сейчас и в будущем, изучите тенденции рынка и варианты трудоустройства.
Познакомитесь с самыми востребованными IT-специальностями и поймете, чем еще занимаются разработчики и другие IT-специалисты, кроме написания кода.
Поймете, как работают операционные системы, как устроены компьютер и другие устройства, для которых разработчики создают программы.
Узнаете, чем будете заниматься в следующих модулях, и подготовитесь к простым практическим работам. Небольшая практика в разных направлениях поможет понять, какая IT-профессия вам ближе.
Любой сайт или веб-приложение состоят из 2 частей: frontend и backend. В этом уроке вы познакомитесь с профессией frontend-разработчика на практике. Создадите простую веб-страницу с использованием HTML, CSS и JavaScript.
На протяжении 20 лет язык Java занимает первые строчки во всех рейтингах языков программирования. Спрос на Java-разработчиков постоянно растет. Вы узнаете, где и для чего применяется Java, изучите основы этого языка и напишете небольшую программу.
На Python пишут все — от софта для умного дома и чат-ботов до backend и нейросетей. Он заслужил доверие разработчиков и стал популярным за счёт своей простоты. Вы убедитесь в этом, когда выполните несколько практических работ в рамках этого урока.
Любая программа нуждается в тщательной проверке перед тем, как попасть в руки пользователей. В этом уроке вы попробуете сделать ручное и автоматизированное тестирование приложений, которые вы разработали ранее.
Бизнес нуждается в специалистах, которые предотвращают взломы, атаки и защищают данные от злоумышленников. В этом уроке мы поговорим о некоторых аспектах и особенностях обеспечения безопасности данных и приложений.
Нейросети помогают бизнесу принимать решения, строят прогнозы и рекомендуют товары в интернет-магазинах. Все это было бы невозможным без анализа данных, специальных алгоритмов и механизмов работы с данными. Несколько таких алгоритмов и механизмов мы изучим на практике в этом уроке.
Мобильные разработчики упрощают рутинные задачи. Благодаря им мы можем прямо со смартфона вызвать такси, заказать еду или пообщаться с родственниками по видеосвязи. В этом уроке вы узнаете, как создать приложение для устройств Apple на языке программирования Swift.
70% всех смартфонов в мире работают на Android. В этом уроке вы узнаете, как создавать приложения для такой огромной аудитории, и попрактикуетесь в программировании на Kotlin.
Пройдите небольшой тест от Skillbox и выясните, в каких IT-направлениях вы добьетесь успеха.
Познакомитесь с форматами обучения на платформе Skillbox — курсами и профессиями. Узнаете, как Центр карьеры помогает устроиться на работу, и познакомитесь со списком компаний-партнеров, где ждут участников курсов.
Основы программирования от Loftschool
Ссылка: https://loftschool.com/modules/145-osnovy-programmirovaniia
Длительность: 11 уроков, 3 часа
Формат обучения: онлайн-уроки
Уровень сложности: с нуля
Коротко о курсе
Курс подойдет для начинающих разработчиков. За период обучения студенты знакомятся с основными понятиями, узнаете, что такое функции, алгоритмы, циклы и многое другое. А также они пишут свою первую программу – калькулятор на JavaScript.
Программа обучения
Теория. 11 уроков
- Введение.
- Логика. Алгоритмы.
- Типы данных.
- Основные структуры данных.
- Функции.
- Арифметические и логические выражения.
- Условия.
- Циклы.
- Инструменты для программиста.
- Графика.
- События.
Практика. 3 урока
- Первая программа (калькулятор на JavaScript).
- Баги. Исправление ошибок, улучшение программы.
- Заключение.
Все бесплатные курсы Loftschool вы можете найти по адресу: https://loftschool.com/modules
Уроки C++ от itProger
Ссылка: https://itproger.com/course/cpp
Длительность: 26 уроков
Формат обучения: видео
Уровень сложности: с нуля
Коротко о курсе
В этом курсе студенты найдут перечень уроков с++ для чайников и изучат основы С++, изучите работу со стандартными конструкциями и работу с более сложными концепциями языка.
Программа обучения
#1 – Введение в язык C++ с нуля.
#2 – Установка Visual Studio (среда разработки).
#3 – Переменные и типы данных.
#4 – Условные конструкции. Операторы if-else, switch-case.
#5 – Случайные числа. Разработка калькулятора.
#6 – Циклы и операторы в них (For, While, Do While).
#7 – Массивы данных (одномерные и многомерные).
#8 – Динамический массив данных.
#9 – Работа со строками и символами.
#10 – Создание функций в языке C++.
#11 – Перегрузка функций в языке C++.
#12 – Указатели и ссылки. Практический пример.
#13 – Работа с файлами при помощи C++.
#14 – Структуры данных. Тип данных struct.
#15 – Перечисления (Enum).
#16 – Обработчик исключений (ошибок).
#17 – Встроенные функции в C++.
#18 – Введение в ООП. Теория на пальцах.
#19 – Создание классов и объектов.
#20 – Конструкторы, деструкторы и указатель this.
#21 – Дружественные функции.
#22 – Дружественные классы.
#23 – Наследование классов в C++.
#24 – Шаблоны функций (template).
#25 – Шаблоны классов в C++.
#26 – Заключительный урок по C++.
Основы программирования от XYZ School
Ссылка: https://www.school-xyz.com/intro-programmirovanie
Длительность: 12 лекций
Формат обучения: онлайн-уроки
Уровень сложности: с нуля
Коротко о курсе
Это введение в программирование и своеобразный «приквел» к большому курсу по Unity. На интро-курсе ученики осваивают все базовые понятия и принципы программирования, без понимания которых будет трудно учиться на наших курсах, связанных с кодом.
Изучать программирование планируется на примере Unity и языка C#, но многие принципы, о которых будут рассказывать, универсальны — с их помощью при желании можно будет освоить другой язык программирования или движок.
Программа обучения
Часть 1. Введение, синтаксис C#
- Настройка окружения.
- «Hello world!».
- Немного теории.
- Синтаксис языка.
- Математические операции.
- Комментарии.
Часть 2. Базовые типы данных и переменные
- Зачем столько типов данных?
- Объявление и присваивание значения переменным. Целочисленные типы данных.
- Порядок выполнения инструкций и объявление переменных.
- Вещественные типы данных и операции над ними.
- Строковые типы данных.
- Строковая конкатенация.
- Преобразования типов.
- camelCase, PascalCase, skake_case, kebab-case.
Часть 3. Условные выражения и операторы
- Тип bool, блоки.
- Литералы и условные выражения.
- Условные операторы if/else.
- Оператор выбора switch.
Часть 4. Циклы
- Зачем нужны циклы?
- Цикл while.
- Цикл do / while.
- Цикл for.
- Операторы прерывания цикла continue/break
Часть 5. Массивы
- Зачем нужны массивы?
- Объявление переменной массива.
- Индексирование массива.
- Размерность массива.
- Перебор массива for.
- Перебор массива foreach.
- Сортировка массива.
Часть 6. Локальные функции и методы
- Зачем нужны функции?
- Синтаксис.
- Отличие локальной функции от метода.
- Аргументы, ключевое слово params.
- Рекурсия.
- Ошибки Syntax, Runtime, Logic.
Часть 7. Объектно-ориентированное программирование, часть 1
- Разница между процедурным и объектно-ориентированным программированием.
- Абстракция.
- Классы и экземпляры.
- Синтаксис.
- Члены класса.
- Конструктор.
- Инициализаторы.
Часть 8. Объектно-ориентированное программирование, часть 2
- Значимые и ссылочные типы данных.
- Пространства имён и импорты.
- Инкапсуляция.
- Модификаторы доступа.
- Свойства.
Часть 9. Объектно-ориентированное программирование, часть 3
- Перегрузка методов
- Статические члены
- Константы, поля только для чтения
- Значение null
Часть 10. Объектно-ориентированное программирование, часть 4
- Наследование.
- Доступ к базовым членам из наследника.
- Порядок вызова конструкторов.
- Ключевое слово is.
- Преобразования типов.
Часть 11. Объектно-ориентированное программирование, часть 5
- Полиморфизм.
- Виртуальные методы и свойства.
- Абстрактные классы и члены.
Курс Ruby (бесплатно): онлайн обучение руби с нуля от Code-Basics
Ссылка: https://code-basics.com/ru/languages/ruby
Длительность: 13 часов
Формат обучения: 32 урока с практикой в браузере
Уровень сложности: с нуля
Коротко о курсе
Руби — язык, созданный для того, чтобы программисты были счастливы. Он взял из себя лучшее из Lisp, Smalltalk и Perl — он объектно-ориентирован, но в то же время его декларативность позволяет писать в процедурной и функциональной парадигме.
Программа обучения
Основы Ruby
- Привет, Мир!
- Ruby, Ruby, Ruby.
- Всё есть объект.
- Первая функция.
- Логический тип.
- Условные конструкции.
- Условные конструкции (альтернативные варианты).
- Строки.
- Блоки.
- Итераторы.
- Обход строки.
- Типы данных Ruby.
- Классы.
- Модули.
- Всё есть выражение.
- Особенности языка.
Коллекции в Ruby
- Массивы.
- Методы массивов.
- Хеши.
- Методы хешей.
- Деструктуризация.
Основы C++. Программирование для начинающих от Академии IT
Ссылка: https://academiait.ru/course/osnovy-c-programmirovanie-dlya-nachinayushhih/
Длительность: 200 уроков
Формат обучения: YouTube-уроки
Уровень сложности: с нуля
Коротко о курсе
Программа обучения
- Где скачать Visual Studio бесплатно. Visual studio установка.
- Visual studio. Как создать проект. Первая программа.
- Visual studio 2017. Как создать проект. Изучение С++ с нуля. Первая программа C++.
- Структура и порядок выполнения программы. #include using namespace. С++ для начинающих.
- Escape - последовательности. Как использовать.
- Типы данных в C++.
- Переменные. Способы объявления. Правила именования.
- Константы. Ключевое слово const.
- Ввод данных. Cin. Пример. Синтаксис.
- Операторы. Арифметические операции с числами.
- Инкремент и декремент. Постфиксный и префиксный. Пример. Синтаксис.
- Сокращенные арифметические формы +=, -= и т д.
- Логические операции. Операторы сравнения, равенства, объединения, инверсия.
- If else. Конструкция логического выбора if. Лесенка if - else if. Примеры использования.
- Switch. Что это. Пример. Синтаксис. Оператор множественного выбора.
- Циклы. Цикл while. Что это. Что делает. Пример. Синтаксис.
- Циклы. Цикл do while. Что это. Что делает. Пример. Синтаксис.
- Цикл for. Что это. Что делает. Пример. Синтаксис. Циклы.
- Цикл for. Фишки. Фичи. Особенности. Несколько переменных.
- Ключевое слово break. Оператор break. Описание. Пример. Синтаксис.
- Ключевое слово continue c++ что это. Оператор continue. Пример. Синтаксис.
- Visual studio где exe. Как сделать exe файл в visual studio. Как скомпилировать cpp в exe.
- C++ закрывается консоль. Что делать? Задержка экрана консоли.
- Оператор перехода goto. Когда код становится непонятен даже создателю.
- Без этого вы не станете программистом! Найти ошибку в коде. Отладка. Как пользоваться отладчиком.
- Что такое вложенный цикл. Вложенная конструкция.
- Что такое массив. Примеры. Теория. Array. Одномерный массив. Синтаксис. C++.
- Инициализация массива. Способы. Инициализация массива нулями.
- Вывод массива. Массивы и циклы. Цикл с массивом. Array c++.
- sizeof что это. sizeof c++ массив. Узнать количество элементов массива. sizeof array.
- rand. srand. rand задать диапазон. srand time null. Генератора случайных чисел. randomize.
- Двумерный массив что это. Многомерные массивы. Пример. Теория. Что такое массив. Array.
- Двумерный массив инициализация. Двумерный массив индексы. Синтаксис. Пример.
- Двумерные массивы вывод. Заполнение. Двумерный массив циклы.
- Функции c++ примеры. Синтаксис. Объявление, реализация функции. Параметры, аргументы.
- Передача параметров в функцию по значению. Параметры функции. Передача аргументов в функцию.
- Передача массива в функцию. Как передать массив в функцию.
- Прототипы функций. Прототип функции что это. Прототип функции пример.
- Область видимости. Глобальные переменные и локальные переменные.
- Параметры по умолчанию. Передача аргументов в функцию по умолчанию. Аргументы по умолчанию.
- inline c++ что это. Ключевое слово inline. Встраиваемая функция.
- Перегрузка функций c++ пример.Что такое перегрузка функций. Как перегрузить функцию.
- Шаблоны функций. Шаблонные функции c++. template typename. template class.
- Функции и стек. Стек алгоритм. Стек что это. Стек рекурсии. Стек c++. Стек рекурсивных вызовов
- Рекурсия что это. Рекурсия программирование. Рекурсия и цикл. Рекурсия с++. Для начинающих.
- Рекурсия. Факториал числа c++ рекурсивно. Рекурсия факториал. Рекурсивный алгоритм факториал.
- Что такое динамическая память. Утечка памяти. Стек и куча. Статическая память.
- Указатели c++ что это. Для чего нужны. Указатели c++ разыменование.
- Арифметика указателей. Указатели и массивы. Массив это указатель.
- Передача параметров в функцию по указателю c++. Передача указателя в функцию си.
- Возврат нескольких значений функции через указатели. Функция возвращает несколько значений.
- Напишите функцию, меняющую местами значения переменных с помощью указателей.
- C++ ссылки что это. c++ ссылки и указатели разница. Указатель на ссылку.
- Передача параметров в функцию по ссылке. Разница между ссылкой и указателем.
- Возврат нескольких значений функции через ссылки. Как вернуть несколько значений функции.
- Шаблонная функция. Меняет местами значения переменных с помощью ссылок.
- New c++ что это. new c++ пример. c++ new delete. delete c++ что это. delete c++ пример.
- Что такое null pointer. null c++ что это. nullptr c++ что это. nullptr c++11.
- Динамический массив с++ пример. Создание, заполнение, удаление, размер динамического массива.
- Двумерный динамический массив c++ пример. Создание, заполнение, удаление. Динамические массивы.
- Константные аргументы функции. Константный указатель. Константные параметры. Для начинающих.
- Копирование динамического массива c++. Скопировать массив с++.
- Изменить размер массива. Удалить. Добавить элемент в массив. Увеличение массива.
- Строки в с++. Нуль терминатор. Что такое строка в с++. char c++ массив.
- Приведение типов в стиле с. Явное и неявное преобразование типов. Преобразование типов.
- Что такое ascii символы. ascii что это такое? Таблица ascii c++.
- Указатели символьные строки и функции. Строки и указатели в c++.
- strlen c++ реализация. Посчитать количество символов в строке.
- Конкатенация строк что это. Объединение строк.Тип данных string.
- Указатель на функцию в качестве параметра. Передача функции в качестве параметра.
- Препроцессор что это. Директива #define. Макросы. Директивы препроцессора что это.
- c++ макрос функция. Макросы с аргументами. Макрос с параметрами.
- Условная компиляция. #ifdef #else #endif #if #elif #endif #ifndef что это.
- Условный тернарный оператор что это. Как работает. Как использовать.
- argc argv c++ что это. Параметры функции main argc argv. Аргументы main.
- int main или void main. int main vs void main c++.
- Что такое ООП простыми словами. Объектно ориентированное программирование это.
- Что такое класс. Что такое объект класса. Экземпляр класса это. Класс ООП это.
- Методы класса. Что такое методы в программировании. Вызов метода класса. Функции.
- Модификаторы доступа классов. public private protected что это. Спецификаторы доступа.
- Что такое геттеры и сеттеры для класса. Методы get и set. Инкапсуляция это. Пример.
- Инкапсуляция ООП пример. private методы. Что такое инкапсуляция.
- Конструктор класса пример. Зачем нужен. Конструктор с параметрами. Конструктор по умолчанию.
- Перегрузка конструкторов класса. Что такое перегрузка. Как перегрузить конструктор.
- Деструктор что это. Зачем нужен деструктор класса в ООП. Деструктор с параметрами. Перегрузка.
- Ключевое слово this в ООП. Что означает. Что это такое. Для чего нужен this указатель C++.
- Конструктор копирования. Что это. Пример. Когда вызывается Копирование объектов по умолчанию.
- Перегрузка операторов пример. ООП. Перегрузка оператора присваивания.
- Перегрузка оператора равенства == и не равно !=. Перегрузка логических операторов сравнения.
- (Стрим) Основы c++ для начинающих. Свой класс string. Стрим. #SimpleCode. Часть 1.
- Перегрузка оператора сложения. Перегрузка операторов пример.
- Перегрузка инкремента и декремента. Постфиксного и префиксного. ООП перегрузка операторов.
- Перегрузка оператора индексирования . Перегрузка операторов пример.
- Дружественные функции и классы пример. Для чего используются. Как определяются. Для двух классов.
- Определение методов вне класса. Вынести функцию в из класса. Вынести описание метода вне класса.
- Дружественный метод класса. ООП. friend c++ что это. Функции друзья.
- Основы c++ для начинающих. Свой класс string. Часть 2. Запись стрима. #SimpleCode
- Дружественные классы. ООП. friend class. friend c++ что это.
- static что это. Статические поля класса. Инициализация. Ключевое слово static.
- id generator. Генератор уникальных идентификаторов с использованием static переменной.
- Статические методы класса зачем нужны. Модификатор static. Как влияет.
- Вложенные классы с++ пример. Внутренние классы. Зачем нужны. inner class.
- Массив объектов класса. Динамический. Статический. Создание Особенности.
- Что такое агрегация и композиция. Отношения между классами и объектами.
- Наследование в ООП пример. Что такое наследование. Для чего нужно наследование классов.
- Модификаторы доступа при наследовании. private public protected Спецификаторы доступа.
- Порядок вызова конструкторов при наследовании. Как вызываются конструкторы.
- Порядок вызова деструкторов при наследовании. Деструкторы.
- Вызов конструктора базового класса из конструктора класса-наследника. Наследование.
- Секрет начинающим программистам. Можно ли самому самостоятельно выучить программирование.
- Виртуальные методы класса c++. Ключевое слово virtual. Ключевое слово override.
- Абстрактный класс с++ пример. Чисто виртуальная функция. virtual. override. Полиморфизм.
- Виртуальный деструктор класса C++. Что это такое. Наследование. Полиморфизм.
- Чисто виртуальный деструктор c++. Наследование. Полиморфизм. virtual. override.
- Делегирующие конструкторы c++. Вызов конструктора из конструктора.
- C++ вызов виртуального метода базового класса.
- Множественное наследование c++ пример.
- Порядок вызова конструкторов при множественном наследовании.
- Порядок вызова деструкторов при множественном наследовании.
- Три типа ошибок программирования в любом языке. Типичные ошибки программистов.
- С++ множественное наследование одинаковые методы. ООП.
- Что такое интерфейс в ООП. Интерфейс c++ пример..
- Виртуальное наследование c++. Ромбовидное наследование c++.
- Стоит ли учить ассемблер новичку. #SimpleCode
- Работа с файлами с++. Запись в файл. c++ ofstream.
- Работа с файлами с++. Чтение из файла с++ ifstream.
- Запись ОБЪЕКТА КЛАССА в файл с++. Чтение объекта из файла.
- Чтение и запись в файл с++ используя класс fstream c++.
- Потоковый ввод вывод в файл c++. Перегрузка операторов.
- С++ try catch. Обработка исключений С++. try catch что это.
- Генерация исключений с++ пример. throw c++ пример.
- Несколько блоков catch. Обработка исключений С++.
- Свой класс exception c++. Создание собственного класса исключений.
- Перечисляемый тип enum С++.
- Пространства имен с++. namespace c++ что это.
- Шаблоны классов с++ примеры. Обобщенные классы.
- Наследование шаблонных классов.
- Специализация шаблона класса.
- Структуры в C++ | struct C++. Разница между структурой и классом.
- Умные указатели. Smart pointers.
- auto_ptr | unique_ptr | shared_ptr | Умные указатели.
- Динамический массив и умные указатели.
- Реализация односвязного списка c++ Часть 1.
- Реализация односвязного списка c++ Часть 2.
- Реализация односвязного списка c++ Часть 3.
- Ключевое слово auto.
- Цикл foreach C++ | range-based циклы.
- typedef c++ что это.
- Многофайловый проект.
- Многофайловый проект | Защита от повторного включения.
- Union | Использование в С++.
- std::function | Полиморфная обертка функции.
- Лямбда-выражения | Лямбда функции | Анонимные функции.
- Захват контекста лямбдой | Лямбда функции | Лямбда-выражения | Анонимные функции.
- Как измерить время выполнения кода.
- Функторы в с++ | Что такое функтор.
- Предикаты с++ | Что такое предикат.
Обеспечение качества в разработке ПО от VK education
Ссылка: https://park.vk.company/curriculum/program/discipline/1786/
Длительность: 44 академических часа аудиторных занятий 20 часов — самостоятельных
Формат обучения: 5 лекций, 4 практических занятия и 2 рубежных контроля
Уровень сложности: с нуля
Коротко о курсе
Цель курса — получение студентами теоретических знаний и практических навыков по обеспечению качества ПО.
Программа обучения
- Лекция №1: Введение в Обеспечение качества + ДЗ №1.
- Лекция №2: Дефекты и тестовая документация + ДЗ №2.
- Лекция №3: Тестовое покрытие, тест дизайн.
- Лекция №4: Модульное тестирование.
- Семинар №1: Unit-тесты на JavaScript + ДЗ №3.
- Рубежный контроль №1: Рубежный контроль по первому блоку.
- Лекция №5: Автоматизация тестирования + ДЗ №4.
- Семинар №2: End-to-End тесты на Python.
- Лекция №6: Тестирование мобильных приложений.
- Лекция №7: Непрерывная интеграция.
- Лекция №8: Devops. Разработка и эксплуатация.
- Лекция №9: Введение в SRE.
- Лекция №10: Нагрузочное тестирование.
- Рубежный контроль №2: Рубежный контроль по второму блоку.
- Лекция №11: Управление тестированием.
- Экзамен №1: Итоговое занятие.
Супер-практикум по работе с протоколом BGP от Otus
Ссылка: https://otus.ru/lessons/super_pract_bgp/
Длительность: 1 месяц, 4 академических часа в неделю
Формат обучения: онлайн-вебинары и самостоятельная работа над домашними заданиями
Уровень сложности: средний и выше
Коротко о курсе
Супер-практикум для сетевых и системных инженеров, работающих с сетями как малой, так и крупной корпоративной сети, в интернет-сервис провайдерах или интеграторах.
Программа обучения
Модуль 1. BGP. Basic
- Тема 1. Что такое BGP и зачем этот протокол.
- Тема 2. Работа протокола BGP и базовая настройка.
Модуль 2. iBGP
- Тема 3. iBGP.
- Тема 4. iBGP. 2 часть.
Модуль 3. BGP. Advanced
- Тема 5. BGP. Управление анонсами.
- Тема 6. BGP. Атрибуты.
Модуль 4. BGP. Path Selection
- Тема 7. BGP. Выбор пути.
- Тема 8. Troubleshooting.
Программирование для всех (начало работы с Python) от Coursera
Ссылка: https://www.coursera.org/learn/python-ru
Длительность: 3 недели при 6 часах в неделю
Формат обучения: видео и материалы для самостоятельного обучения
Уровень сложности: любой
Коротко о курсе
Цель этого курса — научить всех основам программирования компьютеров с помощью Python. Мы рассмотрим основы того, как можно построить программу на основе серии простых инструкций в Python. Курс не имеет предварительных требований и не включает никакого материала по математике, кроме самого элементарного. Любой, у кого есть умеренный опыт работы с компьютером, сумеет освоить материалы этого курса.
Этот курс охватывает главы 1-5 учебника «Python for Everybody». После завершения этого курса ученики будут готовы пройти более продвинутые курсы программирования. В этом курсе рассматривается Python 3.
Программа обучения
Глава первая. Почему мы программируем?
Это материалы всего курса, а также первая часть первой главы, в которой мы исследуем, что значит писать программы. По окончании главы 1 будет тест и первое задание на третьей неделе занятий. На протяжении всего курса вы можете вернуться и изучить эти материалы. Этот раздел не займет у вас всю неделю.
Установка или использование Python
В этом модуле вы выполните все настройки для написания программ на Python. Не все упражнения в этом модуле являются обязательными для данного занятия, поэтому для получения более подробной информации прочитайте материал «Использование Python в этом курсе».
Глава первая. Почему мы программируем? (Продолжение)
В первой главе мы попробуем рассказать об «общей картине» программирования, чтобы вы поняли «содержание» остальной части книги. Не волнуйтесь, если вам не все услышанное понятно с первого раза. Эта глава довольно общая, и вам будет полезно прочитать главу в книге в дополнение к просмотру лекций, чтобы все усвоить. Возможно, вы захотите вернуться и пересмотреть эти лекции после того, как прочтете еще несколько глав.
Глава вторая. Переменные и выражения
В этой главе мы рассмотрим, как программа использует память компьютера для хранения, извлечения и расчета информации.
Глава третья. Код условия
В этом разделе мы переходим от последовательного кода, который просто запускает одну строку кода за другой, к коду условия, где некоторые шаги пропускаются. Это очень простая концепция, но именно так программное обеспечение компьютера делает «выбор».
Глава четвертая. Функции
Это относительно короткая глава. Мы узнаем о том, что такое функции и как их использовать. Программы в первых главах книги недостаточно велики, чтобы требовать от нас разработки функций, но поскольку в книге появляются все более сложные программы, функции станут для нас важным способом разобраться в нашем коде.
Глава пятая. Циклы и итерация
Циклы и итерация завершают четыре основные модели программирования. Циклы - это способ, которым мы говорим Python делать что-то снова и снова. Циклы — это способ создания программ, работающих с задачей до тех пор, пока она не будет решена.
От Junior до Middle frontend-разработчика за 1 собеседование от Result School
Ссылка: https://result.school/products/marathon-mfd
Длительность: 2 дня
Формат обучения: тренинг из 10 уроков
Уровень сложности: с нуля и средний
Коротко о курсе
На бесплатном марафоне можно узнать, как стать middle frontend-разработчиком за 5 шагов и постройте собственную стратегию развития в IT-сфере.
Программа обучения
Шаг 1. Отличие Junior от Middle
Разберемся, какие есть пути выхода на новый уровень middle frontend-разработчика и на что нужно обратить отдельное внимание.
Шаг 2. Необходимый стек
Расскажем про опыт нашей команды и поделимся hard skills, которыми вы должны обладать.
- Webpack
- TypeScript
- React
- State management
- Тестирование
- Git
Шаг 3. Soft skills
Поделимся soft skills, которые помогут найти проект мечты, и методами развития этих навыков.
Шаг 4. Как расти в зарплате
Дадим информацию о том, что вам нужно знать, чтобы вырасти до middle frontend-разработчика.
Шаг 5. Первый шаг
Расскажем об отправной точке для получения статуса middle frontend-разработчика.
Этичный хакинг на Python от Университета Иннополис
Ссылка: https://stc.innopolis.university/python-cybersec
Длительность: 150 часов
Формат обучения: лекции с преподавателем, практические занятия, домашние задания, итоговый проект
Уровень сложности: с нуля для школьников и студентов СПО
Коротко о курсе
Курс знакомит школьников, студентов колледжей и техникумов с основами программирования на Python и информационной безопасности. Участники напишут веб-приложение на Django/Flask и отчет о его безопасности.
Программа обучения
Модуль 1. Основы информационной безопасности
- Что такое информационная (компьютерная) безопасность. Основные виды угроз.
- Нормативно-правовые основы.
- Основы сетевого взаимодействия и слабые места.
- Что такое инфраструктура, структура данных, базы данных.
- Интернет и распространенные атаки.
- Кибергигиена. Шифрование и генерация паролей. Цифровой след в сети Интернет.
- OSINT.
- Промежуточная аттестация.
Модуль 2. Python. Часть 1
- Введение в ОП и установка Python.
- IDE для разработки на Python.
- Типы данных Python.
- Переменные и условные.
- Циклы.
- Строки и их методы.
- Коллекции и их методы.
- Промежуточная аттестация.
Модуль 3. Python. Часть 2
- Функции.
- Работа с файлами.
- Основы ООП.
- Написание модулей.
- Генераторы и итераторы.
- Декораторы.
- Промежуточная аттестация.
Модуль 4. Безопасность веб-приложений
- Специализированные инструменты и умение применять базовые алгоритмы. Виртуальные машины.
- Веб-фреймворк Flask, Django.
- OWASP. Веб-уязвимости: HTML Injection, XSS.
- Веб-уязвимости: SSTI, SQL Injection, Information Disclosure.
- Веб-уязвимости: Command Injection, Brute Force, Deserialization.
- Веб-уязвимости: Broken Authentication, DOS, File Upload.
- Промежуточная аттестация.
Итоговая аттестация
В конце обучения проводится итоговая аттестация с выдачей сертификата об освоении учебной программы.
Программирование Python от Школы робототехники и программирования от «Азимов»
Ссылка: https://azimovclub.com/katalog-znanij/offlajn-kursy/programming
Длительность: 100 занятий в трех разделах
Формат обучения: Zoom в группах до 6-ти человек + формат индивидуальных занятий
Уровень сложности: для детей от 10 лет
Коротко о курсе
Курс программирования Python для детей разработан самой титулованной школой робототехники в Санкт-Петербурге — «Азимов». Курс можно пройти в очном или онлайн-формате: их образовательные программы идентичны. Очные занятия проходят в группах до 8 человек на наших площадках в СПб и других городах РФ.
Программа обучения
РАЗДЕЛ 1. ОСНОВЫ PYTHON
Изучение языка начинается со знакомства с базовыми принципами, необходимыми для программирования на Python. На первых занятиях дети учатся выводить информацию на экран, вводить в программу данные, а также изучают математические операции, которые отличны от привычных нам.
К примеру, в Python есть 3 способа деления: обычное и целочисленное деление, а также остаток от деления.
РАЗДЕЛ 2. СОЗДАНИЕ ОКОННЫХ ПРИЛОЖЕНИЙ
Освоив базу и получив уверенные начальные навыки программирования, ученики погружаются в мир создания оконных приложений. В этом им помогает Tkinter – специальный модуль, который содержит компоненты графического интерфейса пользователя.
Под графическим интерфейсом подразумеваются все визуальные элементы приложения, которые вы видите на экране: окна, кнопки, поля для ввода данных, скроллеры и так далее. Такие элементы также называют виджетами (widgets). Именно через них происходит взаимодействие человека с программой.
РАЗДЕЛ 3. РАЗРАБОТКА ИГР
Освоив создание приложений, дети перейдут к работе с еще более мощным инструментом, используемым в Python для создания игр – Pygame. Ученики с нуля создадут различные популярные игры с полноценной графикой, анимацией и подсчетом очков: крестики-нолики, змейка, танчики и другие.
Когда проекты станут объемными и их код будет занимать множество строк, дети познакомятся с понятием класса и объектно-ориентированным программированием. Класс — это шаблон кода, по которому создается какой-либо объект. Это как инструкция по сборке тележки: сама по себе она ничего не делает, но помогает создать новый объект, который можно использовать в работе.
Сравнительная таблица курсов
Название курса |
Чей курс |
Формат обучения |
Профессии и языки программирования: что выбрать |
Нетология |
видеолекции и практика |
Основы Python-разработки |
Яндекс.Практикум |
онлайн-уроки |
Основы JavaScript |
Hexlet |
уроки, проверочные тесты, упражнения |
Программирование на Python |
Stepik |
28 уроков, 27 тестов, 44 интерактивные задачи |
Старт в программировании |
HTML Academy |
задания и испытания |
Основы программирования на языке Kotlin |
«Открытое образование» |
видеолекции, видеопрезентации, скринкаст |
Программирование на RxJava 3.0 для Android |
AndroidSchool |
онлайн-лекции, разделенные по модулям |
Web-программирование: с нуля до первых проектов |
Sigma Academy |
онлайн-уроки |
Введение в программирование |
SkillBox |
онлайн-уроки |
Основы программирования |
Loftschool |
онлайн-уроки |
Уроки C++ |
itProger |
видео |
Основы программирования |
XYZ School |
онлайн-уроки |
Курс Ruby (бесплатно): онлайн обучение руби с нуля |
Code-Basics |
32 урока с практикой в браузере |
Основы C++. Программирование для начинающих |
Академии IT |
YouTube-уроки |
Обеспечение качества в разработке ПО |
VK education |
5 лекций, 4 практических занятия и 2 рубежных контролей |
Супер-практикум по работе с протоколом BGP |
Otus |
онлайн-вебинары и самостоятельная работа над домашними заданиями |
Программирование для всех (начало работы с Python) |
Coursera |
видео и материалы для самостоятельного обучения |
От Junior до Middle frontend-разработчика за 1 собеседование |
Result School |
тренинг из 10 уроков |
Этичный хакинг на Python |
Университете Иннополис |
лекции с преподавателем, практические занятия, домашние задания, итоговый проект |
Программирование Python от Школы робототехники и программирования |
«Азимов» |
Zoom в группах до 6-ти человек + формат индивидуальных занятий |
Комментарии