Курсы программирования на C: ТОП-5 онлайн-школ и 15 курсов

Рейтинг-2022-2023 лучших онлайн-школ и курсов программирования на C по отзывам выпускников: какие и как правильно выбрать, сравнение цен в разных учебных заведениях.

Актуальная информация об обучении на каждом конкретном курсе и школе: предметы, длительность, формат, наличие бесплатного пробного урока, выдача сертификатов обучения.

Выбирайте наиболее подходящие вам онлайн-школы и курсы программирования на C в них по любому критерию: цена/качество, надежность, отзывы выпускников.

Просмотров: 5133
Обновлено: 27.03.2023
Онлайн-школа Цена Отзывы Рейтинг
GeekBrains от 4384 руб./мес. 3604 4.5
Skillfactory.ru от 2750 руб./мес. 690 4.3
Otus от 45000 руб./курс 140 4.3
Skillbox от 5727 руб./мес 921 3.9
Udemy от 1190 руб./курс 8 4.4
Скидка: 45%
45% на все курсы Skillfactory
Срок действия: Неограничен

Преимущества и недостатки школы:

  • Наставники: Ведущие эксперты и методологи
Название курсаИзучаемые языкиДлительность и форматДокумент об окончанииТрудоустройствоЦенаОплата
Факультет разработки на C#C#Длительность 12 месяцев, лекции и семинары, эфиры и записи, статьи и методические пособия, встречи с практикующими разработчикамиДиплом о профессиональной переподготовкеТрудоустройство после обучения, 9 работ в портфолиоот 4384 руб./мес.Полная или рассрочка до 36 месяцев

Основной блок — 3 месяца

Введение в программирование

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

Математика и информатика

Повторите школьный курс информатики, логики и математики.

Введение в контроль версий

Познакомитесь с контролем версий и принципами работы в git и github, изучите синтаксис языка Markdown.

Знакомство с языком программирование C#

Знакомство с языком программирования C#: функциями и массивами, рекурсиями и двумерными массивами. Узнаем, как не нужно писать код.

Введение в базы данных

Познакомитесь с понятием «базы данных», разберетесь с их видами и основными подходами к работе с данными. Узнаете методы проектирования баз данных, а также способы модификации их структуры.

Профориентация

Изучим колесо компетенций и матрицу Декарта. Познакомимся со специализациями и выберем дальнейшее направление развития

Специализация — 9 месяцев

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

Познакомитесь с форматом и треком обучения, поймете назначение каждого курса.

Основы Питон

Познакомитесь с языком Python, изучите данные, функции и модули, попробуете поработать с кодом.

Знакомство с Веб-технологиями

Разберём основные понятия в веб-разработке. Познакомимся с языком разметки документов HTML, основами языка оформления стилей документа CSS, основами JavaScript, бэкенда PHP и MySQL, а также форматами передачи данных JSON и XML.

Операционные системы  (Linux)

Будем разбираться с серверной системой на базе Linux, рассмотрим один из самых популярных дистрибутивов Ubuntu (построен на базе Debian).

Серверные системы Linux используют текстовый интерфейс, поэтому графические оболочки не будут использоваться как основа, хотя графический интерфейс может помочь в начале знакомства с Linux (для это существует Desktop-версия ОС Ubuntu).

Мы научимся понимать файловую структуру Linux, работать в консоли, применять основные команды, работать с удаленной системой по SSH.

Отдельно будет рассмотрена работа Linux как платформы для веб-приложений, мы настроим и запустим полноценный стек сервисов для работы веб-сайта на базе Nginx и PHP.

Важным аспектом системного администрирования является установка программ (пакетов) из репозиториев и автоматизация действий (скрипты bash) – все эти темы мы рассмотрим на отдельных занятиях.

Кроме того, будут рассмотрены вопросы безопасности и сетевой подсистемы ОС Linux.

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

Один из основных подходов к программированию, где на первом месте стоят объекты. Используется для упрощения сложного кода. Чтобы это сделать, программу делят на уникальные блоки, которые называются объектами, данные внутри него называются свойствами, а функции — методами.

Алгоритмы и структуры данных

Курс нацелен на получение знаний о  структурах  данных и алгоритмов, которые необходимы начинающему программисту для старта карьеры. Сложность алгоритмов, О-нотация.

Исключения в программировании и их обработка

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

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

Базы Данных и SQL

Познакомитесь с языком запросов SQL. Научитесь писать запросы, делать расчёты и работать с таблицами. Узнаете основные ограничения SQL. Поработаете с MySQL и познакомитесь с альтернативными базами данных.‍

Контейнеризация

На курсе изучите различия между микросервисной и традиционной архитектурой, научится работать с Docker и Docker Compose, а так же создавать собственные Dockerfile. Большая часть курса посвящена Kubernetes - самому популярному оркестратору контейнеров. После окончания курса студент сможет разворачивать приложения в Kubernetes, в том числе с помощью GitLab CI/CD.

Архитектура ПО: принцип SOLID, проектирование ООП, чистая архитектура

После успешного прохождения данного курса вы разберетесь в универсальных принципах классического объектно-ориентированного проектирования, усвоите подход SOLID, ознакомитесь с наиболее часто применяемыми паттернами разработки ПО, освоите навыки проектирования программных компонентов. Узнаете основные принципы проектирования “чистых” архитектур.‍

Контроль Версий Углубленно (Git)

В данном курсе мы изучим специальные команды Git, узнаем, как с ними работать на практике, научимся использованию системы контроля версий Git и работе с репозиторием на продвинутом уровне.

Организация CI/CD

Во время курса мы познакомимся с основными понятиями и средствами CI/CD и инструментами, рассмотрим интеграцию и взаимодействие средств CI/CD и Docker’a, Углубимся в CI.

Парадигмы программирования и языки парадигм

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

Профориентация по направлению и языкам

Рассмотрим основные направления – фронтенд, бэкенд и мобильную разработку. Пройдемся по основным языкам, которые используются в направлениях. Сориентируемся в выборе дальнейшего трека обучения

Технологическая специализация — 3 месяцев

Бэкенд-разработка

Рассмотрим подробнее бэкенд-направление, а также языки Python, Го, С#, С++

Java. Уровень 1

Познакомимся с основными конструкциями, повторим ООП, создадим приложение с графическим интерфейсом.

Java. Уровень 2

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

Java. Уровень 3

Подробнее изучим обобщения, базы данных, средства ввода-вывода, многопоточность. Рассмотрим средства разработки, Reflection API и аннотации. Познакомимся с Code Review.

Факультет разработки на C++-Длительность 18 месяцев, лекции и семинары, эфиры и записи, статьи и методические пособия, встречи с практикующими разработчикамиДиплом о профессиональной переподготовкеТрудоустройство после обучения, 9 работ в портфолиоот 4780 руб./мес.Полная или рассрочка до 36 месяцев

Основной блок — 3 месяца

Введение в программирование

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

Математика и информатика

Повторите школьный курс информатики, логики и математики.

Введение в контроль версий

Познакомитесь с контролем версий и принципами работы в git и github, изучите синтаксис языка Markdown.

Знакомство с языком программирование C#

Знакомство с языком программирования C#: функциями и массивами, рекурсиями и двумерными массивами. Узнаем, как не нужно писать код.

Введение в базы данных

Познакомитесь с понятием «базы данных», разберетесь с их видами и основными подходами к работе с данными. Узнаете методы проектирования баз данных, а также способы модификации их структуры.

Профориентация

Изучим колесо компетенций и матрицу Декарта. Познакомимся со специализациями и выберем дальнейшее направление развития

Специализация — 9 месяцев

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

Познакомитесь с форматом и треком обучения, поймете назначение каждого курса.

Основы Питон

Познакомитесь с языком Python, изучите данные, функции и модули, попробуете поработать с кодом.

Знакомство с Веб-технологиями

Разберём основные понятия в веб-разработке. Познакомимся с языком разметки документов HTML, основами языка оформления стилей документа CSS, основами JavaScript, бэкенда PHP и MySQL, а также форматами передачи данных JSON и XML.

Операционные системы  (Linux)

Будем разбираться с серверной системой на базе Linux, рассмотрим один из самых популярных дистрибутивов Ubuntu (построен на базе Debian).

Серверные системы Linux используют текстовый интерфейс, поэтому графические оболочки не будут использоваться как основа, хотя графический интерфейс может помочь в начале знакомства с Linux (для это существует Desktop-версия ОС Ubuntu).

Мы научимся понимать файловую структуру Linux, работать в консоли, применять основные команды, работать с удаленной системой по SSH.

Отдельно будет рассмотрена работа Linux как платформы для веб-приложений, мы настроим и запустим полноценный стек сервисов для работы веб-сайта на базе Nginx и PHP.

Важным аспектом системного администрирования является установка программ (пакетов) из репозиториев и автоматизация действий (скрипты bash) – все эти темы мы рассмотрим на отдельных занятиях.

Кроме того, будут рассмотрены вопросы безопасности и сетевой подсистемы ОС Linux.

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

Один из основных подходов к программированию, где на первом месте стоят объекты. Используется для упрощения сложного кода. Чтобы это сделать, программу делят на уникальные блоки, которые называются объектами, данные внутри него называются свойствами, а функции — методами.

Алгоритмы и структуры данных

Курс нацелен на получение знаний о  структурах  данных и алгоритмов, которые необходимы начинающему программисту для старта карьеры. Сложность алгоритмов, О-нотация.

Исключения в программировании и их обработка

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

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

Базы Данных и SQL

Познакомитесь с языком запросов SQL. Научитесь писать запросы, делать расчёты и работать с таблицами. Узнаете основные ограничения SQL. Поработаете с MySQL и познакомитесь с альтернативными базами данных.‍

Контейнеризация

На курсе изучите различия между микросервисной и традиционной архитектурой, научится работать с Docker и Docker Compose, а так же создавать собственные Dockerfile. Большая часть курса посвящена Kubernetes - самому популярному оркестратору контейнеров. После окончания курса студент сможет разворачивать приложения в Kubernetes, в том числе с помощью GitLab CI/CD.

Архитектура ПО: принцип SOLID, проектирование ООП, чистая архитектура

После успешного прохождения данного курса вы разберетесь в универсальных принципах классического объектно-ориентированного проектирования, усвоите подход SOLID, ознакомитесь с наиболее часто применяемыми паттернами разработки ПО, освоите навыки проектирования программных компонентов. Узнаете основные принципы проектирования “чистых” архитектур.‍

Контроль Версий Углубленно (Git)

В данном курсе мы изучим специальные команды Git, узнаем, как с ними работать на практике, научимся использованию системы контроля версий Git и работе с репозиторием на продвинутом уровне.

Организация CI/CD

Во время курса мы познакомимся с основными понятиями и средствами CI/CD и инструментами, рассмотрим интеграцию и взаимодействие средств CI/CD и Docker’a, Углубимся в CI.

Парадигмы программирования и языки парадигм

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

Профориентация по направлению и языкам

Рассмотрим основные направления – фронтенд, бэкенд и мобильную разработку. Пройдемся по основным языкам, которые используются в направлениях. Сориентируемся в выборе дальнейшего трека обучения

Технологическая специализация — 3 месяцев

Бэкенд-разработка

Рассмотрим подробнее бэкенд-направление, а также языки Python, Го, С#, С++

Java. Уровень 1

Познакомимся с основными конструкциями, повторим ООП, создадим приложение с графическим интерфейсом.

Java. Уровень 2

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

Java. Уровень 3

Подробнее изучим обобщения, базы данных, средства ввода-вывода, многопоточность. Рассмотрим средства разработки, Reflection API и аннотации. Познакомимся с Code Review.

Основы языка C#C#Длительность 1 месяц, онлайн-курс, видеозаписиСертификат об окончании обучения-15000 руб./курсПолная

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

Урок 1. Введение. Базовые типы данных. Консоль. Классы и методы.

Что такое .NET Framework; Создаем консольное приложение в VisualStudio. Переменные. Типы данных и их преобразование. Выводим и вводим данные через консоль. Первое знакомство с методами и классами.

Урок 2. Управляющие конструкции

Управляем ходом выполнения программы. Используем процедурный подход в написании программ. Познакомимся с рекурсией.

Урок 3. Методы. От структур к объектам. Исключения

Методы; рекурсия; структуры; от структур к объектам; статические поля и методы; исключения;

Урок 4. Массивы. Текстовые файлы

От объектов к массивам. От массивов к “сложным” задачам. Текстовые файлы

Урок 5. Символы, строки, регулярные выражения

Символы и строки; неизменяемые строки; StringBuilder, StringReader и StringWriter; регулярные выражения; практика.

Урок 6. Делегаты, файлы, коллекции

Делегаты; организация системы ввода-вывода; работа с файловой системой; коллекции; практика.

Урок 7. Введение в Windows Forms

От консольного приложения к Windows Forms; события и их обработчики; класс Form; создаём первое приложение.

Урок 8. Программирование “по-взрослому”

О рефлексии; что такое XML; сериализация и десериализация; создаём редактор вопросов для игры«Верю — не верю».

Алгоритмы и структуры на С. Интерактивный курсС, С++Длительность 1 месяц, онлайн-курс, видеозаписи--15000 руб./курсПолная

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

Урок 1. Введение и знакомство

1. Кратко о С, зачем использовать С: Обзор курса; Использование языка С. 2. Краткий обзор сред разработки: Обзор компиляторов для; Linux; Windows; MacOSX; Обзор сред разработки; Блокнот; CodeBlocks; Eclipse; QTCreator. 3. Понимание алгоритма и структур данных: Понятие алгоритма; Требования к алгоритму; Запись алгоритма; Структура данных; Применение структур данных. 4. Инструменты визуализации алгоритмов: Способы визуализации; Язык UML; Примеры диаграмм; Программное обеспечение.

Урок 2. Сложность алгоритма и простые алгоритмы

1. Асимптотическая сложность алгоритма: Сложность алгоритма; Анализ сложности алгоритма. 2. Оценка времени выполнения алгоритмов: O Большое(O) - худшее время выполнения алгоритмов; Тета Большое (Θ) - среднее время выполнения; Омега Большое (Ω) - лучшее время выполнения алгоритмов. 3. Линейный, ветвящийся, циклический алгоритмы: Линейный алгоритм; Ветвящийся алгоритм; Циклический алгоритм. 4. Алгоритм Эвклида, расширенный алгоритм Эвклида, решето Эратосфена: Алгоритм Эвклида; Расширенный алгоритм Эвклида; Решето Эратосфена.

Урок 3. Рекурсия, рекурсивные алгоритмы

1. Понятие рекурсии, простые примеры: Понятие рекурсии; Примеры рекурсии; Рекуррентное соотношение. 2 Числа Фибоначчи, факториал, стек вызовов: Числа Фибоначчи; Факториал числа; Стек вызовов. 3. Треугольные числа, анаграммы: Треугольные числа; Анаграммы. 4. Ханойская башня: История и правила задачи; Решение задачи. 5. Динамическое программирование: поиск с возвратом: Понятие “Динамическое программирование”; Метод поиска с возвратом; Задача о восьми ферзях; Обход конем шахматной доски. 6. Динамическое программирование: поиск всех возможных вариантов: Поиск наибольшей общей подпоследовательности; Поиск маршрутов шахматного короля.

Урок 4. Массивы

1. Понятие и виды массивов: Понятие массива; Виды массивов; Одномерные массивы; Многомерные массивы; Матрицы; Треугольные массивы. 2. Базовые сортировки: Цель сортировки; Пузырьковая сортировка; Шейкерная сортировка. 3. Сортировки методом вставки и выбора: Сортировка методом вставки; Сортировка методом выбора. 4. Алгоритмы поиска: Алгоритмы поиска; Линейный поиск; Поиск с барьером. 5. Бинарный и интерполяционный поиск: Бинарный поиск; Интерполяционный поиск.

Урок 5. Сложные сортировки массивов

1. Быстрая сортировка Хоара: Сортировка Хоара; Сортировка (разбиение) Ломуто. 2. Быстрая сортировка. Улучшения: “Толстое” разбиение; Улучшенная быстрая сортировка; Плюсы и минусы быстрой сортировки. 3. Сортировка слиянием: Алгоритм нисходящего слияния; Алгоритм восходящего слияния; Алгоритм двухпутевого слияния; Плюсы и минусы сортировки слиянием. 4. Сортировка подсчётом, алгоритм со списком: Сортировка подсчетом (Counting); Сортировка алгоритмом со списком (Pigeonhole sort). 5. Блочная сортировка: Блочная сортировка; Плюсы и минусы; Пример кода. 6. Улучшенная сортировка вставками (Сортировка Шелла): Улучшенная сортировка вставками.

Урок 6. Стеки, очереди и списки

1. Динамические структуры данных: Стеки; Очереди; Дек; Приоритетные очереди. 2. Создание стека с использованием массива: Стек на основе массива; Базовые функции для работы со стеком. 3. Реализация очереди через массив: Очередь на основе массива. 4. Приоритетная и двусторонняя очереди: Очередь с приоритетом; Двусторонняя очередь.

Урок 7. Динамические структуры данных

1. Односвязные списки: Односвязные списки; Преимущества и недостатки использования. 2. Двусвязные списки: Двусвязные списки; Отличие от односвязных списков; Достоинства и недостатки. 3. Циклический список: Циклические списки; Причины использования. 4. Стек на основе односвязного списка: Стек; Типовые операции над стеком. 5. Очередь на основе двусвязного списка: Очередь; Типовые операции над очередью.

Урок 8. Деревья

1. Понятие и виды деревьев: Понятие дерева; Виды деревьев. 2. Построение двоичного дерева поиска: Структура дерева; Вставка узла; Скобочная запись; Удаление узла. 3. Рекурсивный обход двоичного дерева: Рекурсивный обход дерева; Примеры рекурсивного обхода дерева. 4. Построение сбалансированного дерева: Сбалансированное дерево; Описание на языке С. 5. Бинарный поиск в дереве: Деревья поиска; Бинарный поиск. 6. Пирамидальная сортировка (Heap sort): Пирамидальная сортировка.

Урок 9. Графы

1. Понятие и виды графов: Графы; Виды графов; Матрица смежности. 2. Обход графа в глубину: Обход графа в глубину; Пример описания обхода графа в глубину. 3. Обход графа в ширину: Обход графа в ширину; Пример обхода графа в ширину. 4. Волновой алгоритм: Волновой алгоритм Ли; Применение волнового алгоритма. 5. Реализация волнового алгоритма для дискретного рабочего поля. 6. “Жадные” алгоритмы: Определение “жадных” алгоритмов; Решение задачи о расписании; Примеры использования “жадных” алгоритмов.

Урок 10. Хеш-таблицы

1. Хеширование, хеш-функции: Хеширование; Хеш-функции; Хеш-таблицы; Коллизии; Метод цепочек. 2. MD5: Применение MD5; Устройство MD5. 3. Построение таблиц: Хеш-таблицы; Способы создания; Создание хеш-таблицы на основе метода цепочек. 4. Открытая адресация: Понятие открытой адресации; Подготовка хеш-таблицы. 5. Открытая адресация: Линейное пробирование; Квадратичное пробирование; Двойное хеширование.

Урок 11. Введение в криптографию

1. Краткая история. Перестановочные шифры: История криптографии; Перестановочный шифр и его расшифровка; Взлом перестановочного шифра; Маршрутный шифр. 2. Шифры подстановки: Шифр Цезаря; Шифр Виженера; Простой подстановочный шифр; Одноразовый блокнот. 3. Блочные шифры: Определение блочных шифров; Трехраундовый шифр; Шифр Фейстеля. 4. Обзор используемых в современном ИТ шифров: Краткий обзор современных шифров.

C# Уровень 2 .Продвинутый курсC#Длительность 1 месяц, онлайн-курс, видеозаписиСертификат об окончании обучения-15000 руб./курсПолная

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

Урок 1. Объектно-ориентированное программирование. Часть 1

Структура. Класс. Объект. Инкапсуляция. Конструкторы. Свойства. Индексаторы. Наследование и полиморфизм.

Урок 2. Объектно-ориентированное программирование. Часть 2

Абстрактные методы и классы. Интерфейсы. Стандартные интерфейсы. Исключения.

Урок 3. Объектно-ориентированное программирование. Часть 3

Обобщения. Делегаты и события. Паттерн «наблюдатель».

Урок 4. Объектно-ориентированное программирование. Часть 4

Списки. Обобщенные списки. Лямбда-выражения. Linq.

Урок 5. Знакомство с технологией WPF.

Особенности платформы WPF. Введение в язык XAML. Стили. Обзор элементов управления и их свойств.

Урок 6. Связывание данных. Триггеры.

Связывание данных. Триггеры. Обработка исключений. ListView. Виртуализация.

Урок 7. Взаимодействие с базой данных.

Взаимодействие с базой данных. Обзор технологии ADO.Net.

Урок 8. Обзор сервис-ориентированной архитектуры приложений (SOA).

Web-сервис asmx. WCF-сервис. Web-api сервис.

Основы языка CCДлительность 14 уроков, видеокурс----

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

Урок 1. Введение. Зачем нужен С и как им пользоваться

Возникновение языка С. Возможности языка. Функции языка. Актуальность языка. Установка компилятора и среды разработки

Урок 2. Базовые понятия. Как всё устроено, и что с этим делать

Шаблон программы. Директива препроцессора #include. Функция main. Функция printf() и форматированный вывод. Переменные и типы данных. Операция & - взятие адреса. Ввод данных. Арифметические операции в языке С (если хватит времени)

Урок 3. Условия: первый шаг к принятию решений. Булева алгебра

Оператор if() и его вариации. Операции сравнения: арифметические сравнения, логические операторы, тернарный оператор. Вложенные условия. Блоки кода и области видимости. Булева алгебра .

Урок 4. Циклы. Отдаём программе рутинные задачи

Понятие цикла. Цикл while(). Цикл do {...} while(). Формат записи цикла do while

Урок 5. Циклы. Как придать уникальности простым вещам

Операторы break, continue, switch и цикл for

Урок 6. Функции. Пишем универсальные фрагменты кода

Понятие функции. Виды функций. Аргументы функции. Прототипы функций. Заголовочные файлы.

Урок 7. Указатели. Ещё один шаг к настоящему низкому уровню

Переменные. Понятие указателя. Передача аргументов по значению. Передача аргументов по ссылке

Урок 8. Массивы. Собираем подобное к подобному

Директивы препроцессора. Понятие массива. Объявление массива. Обращение к элементу массива. Определение размера массива через директиву компилятору

Урок 9. Массивы. Проверяем насколько хорош генератор псевдослучайных чисел

Идентификатор массива. Выход за пределы массива. Арифметика указателей . Передача массива в функцию

Урок 10. Массивы. Почти безграничные возможности организации данных

Многомерные массивы. Двумерные массивы. Заполнение и вывод двумерного массива . Массивы указателей

Урок 11. Строки. Учимся говорить с пользователем

Понятие строки. Указатель и массив из переменных типа char. Функции puts(), printf(), gets()/ Конкатенация строк (функция strcat()). Сравнение строк strcmp(). Функция копирования строк strcpy(). Обработка символов.

Урок 12. Структуры данных. Уходим от примитивов к объектам, но не далеко

Понятие структуры данных. Ключевое слово struct для описания структуры. Описание структуры “простая дробь”.

Урок 13. Файловая система. Запоминаем результаты и читаем их обратно

Понятие файловой системы. Создание текстового файла. Чтение из текстового файла.

Урок 14. Динамическое выделение памяти

Процесс выделения памяти. Функция malloc(). Оператор sizeof(). Функция calloc() . Функция free(). Функция realloc() .

Вопросы-ответы

Сколько стоит обучение?

Мы указали стоимость за один месяц при одном из возможных вариантов оплаты на странице каждой программы. Если нужна помощь с выбором программы обучения, напишите в чат — нажмите на иконку в правом нижнем углу экрана.

Обучение на сайте только платное?

У нас есть бесплатные:

  • вебинары в разделе «Мероприятия»;
  • статьи в «Базе знаний»;
  • тесты, найти их можно так: Программы – Тестирование.

Платные программы можно найти здесь. На странице каждой мы указали стоимость за один месяц при одном из возможных вариантов оплаты.

Если вам нужна помощь с выбором программы обучения, напишите в чат — нажмите на иконку в правом нижнем углу экрана.

Вебинарный формат: важные моменты

Вебинары проходят по заранее составленному расписанию. Если в названии урока написано «Видеоурок» — значит, он пройдет в видеоформате. В указанное время на портале откроется доступ к видео, которое вы сможете посмотреть в любое удобное время.

На курсе присутствуют преподаватель и наставник. Им можно задавать вопросы в личные сообщения на сайте. Наставники обычно отвечают в течение 12 часов, преподаватели — 24 часов. Но обычно ответ приходит быстрее.

Практическое задание можно сдать в одном из форматов:

  • 1 файл размером до 100 Мб – лучше всего загружать заархивированную папку (форматы .zip, .rar и т.д);
  • ссылка на ДЗ – для неё на странице с практическим заданием есть специальное окошко.

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

Записи вебинаров

Мы публикуем полную запись вебинара в течение 1-2 дней с момента его окончания. Если прошло уже больше времени, а записи ещё нет, напишите нам на почту.

Доступ к записям останется и после того, как вы пройдёте курс. Найти их можно в разделе «Моё обучение».

Сроки сдачи практических заданий к вебинарам

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

Для этого на странице с домашним заданием нажмите кнопку «Продлить до». Она появится, когда истечет основной срок сдачи, и будет работать ещё неделю. Использовать её можно один раз.

Интерактивный формат: важные моменты

На каждый урок даётся 5 дней.

За это время нужно:

  • посмотреть видеоурок;
  • сдать домашнее задание;
  • проверить работы одногруппников – не больше 3.

Если время вышло, курс автоматически откроет следующий урок, даже если вы не прошли предыдущий. При этом вы:

  • сможете посмотреть видео предыдущего урока;
  • не сможете сдать домашнее задание и проверить работы одногруппников.

Урок можно пройти быстрее и приступить к следующему, если вы:

  • дали домашнее задание, но нет одногруппников, которые могли бы его проверить;
  • проверили работы одногруппников.

Если вы не согласны с проверкой вашего ДЗ одногруппниками, можно запросить проверку наставника. Для этого нужно поставить галочку «Отправить на проверку ментору». В таком случае будет учитываться только его оценка.

В конце обучения необходимо сдать тест. Проходить его можно раз в 2 дня неограниченное количество раз.

За время обучения можно взять 2 паузы на 5 дней. Спустя 5 дней обучение автоматически возобновляется.

В зависимости от количества «Печенек», вы получаете сертификат:

  • «Бронзовый».
  • «Серебряный».
  • «Золотой».
«Печеньки» и цвет сертификатов не влияют на ваше обучение, общую оценку или возможность трудоустройства. Они нужны лишь для визуализации результатов и вашей мотивации. Отслеживать их количество можно над списком уроков в курсе.

Получить баллы в интерактивном курсе можно за:

  • выполнение практического задания — до 10 баллов. Количество баллов равно сумме двух первых оценок от студентов. Пример: Первые два студента поставили вам оценку «отлично», а третий — «удовлетворительно». Вы получите за работу 10 баллов. Если одногруппники оценили вашу работу меньше, чем на 10 баллов, и вы с этим не согласны, можно отправить задание на проверку ментору. Его оценка будет приоритетной. Количество баллов равно оценке ментора, умноженной на два. Например, если ментор поставил оценку «хорошо», вы получите 8 баллов за работу.
  • проверку работ других студентов – до 3-х баллов. По 1 баллу за каждую, при условии, что студенты отметят вашу проверку полезной. Всего можно проверить не более 3-х практических заданий в одном уроке.
  • прохождение теста в курсе — от 25 до 30 баллов в зависимости от количества верных ответов. Если вы ответили верно менее, чем на 25 вопросов, тест считается несданным и баллы не начисляются. Тестирование можно сдавать раз в 2 дня. Баллы будут пересчитываться в зависимости от новых результатов.
Как выглядят отметки внутри курса:

  • «Урок» считается пройденным, когда вы просмотрели все видео в уроке.
  • «Задание» становится зелёным после того, как вы получите баллы за работу.
  • «Задания одногруппников» отмечаются после того, как вашу проверку отметили полезной 3 одногруппника.

Интерфейс учебного плейлиста

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

Если в вебинарных курсах и видеокурсах несколько записей, их можно найти в меню – три горизонтальные полоски в левом нижнем углу плеера.

Балльная система GeekBrains

Раньше домашние задания оценивались в формате «зачёт» и «незачёт».

Теперь существует 4 оценки:

  • «Отлично»
  • «Хорошо»
  • «Удовлетворительно»
  • «Не сдано»
Такая система поможет вам лучше понимать качество ваших работ и отслеживать прогресс. За каждую оценку начисляется определенное количество баллов. Система баллов выпущена в beta-версии и будет совершенствоваться.

На что влияют баллы?

Баллы — это личная мотивация для вас и дополнительная статистика для нас. Их видите только вы.

Баллы не влияют на:

  • процесс обучения — переходы на следующий курс, окончание текущего;
  • прохождение учебной стажировки для студентов «Профессий»;
  • помощь в трудоустройстве для студентов GeekUniversity;
  • трудоустройство при поиске работы через раздел «Карьера» — работодатель видит только пройденные курсы, резюме и проекты в портфолио.
Сертификат за курс

За прохождение каждого курса студенты могут получить сертификат.

Для этого нужно:

  • Нажать на кнопку «Получить сертификат» около курса.
  • Оценить программу и преподавателя.

Все сертификаты, которые вы получили, можно найти в профиле: Аватар в правом верхнем углу страницы – Профиль. Их можно выгрузить в формате PDF или поделиться ссылкой на них в социальных сетях. Мы не делаем сертификаты в бумажном виде, но вы можете распечатать их самостоятельно.

Как получить налоговый вычет за обучение

Подать заявление на вычет можно в ИФНС своего региона или через Госуслуги.

Список документов для предоставления в ФНС:

  • Договор с образовательным учреждением — в нашем случае оферта.
  • Лицензия образовательного учреждения.
  • Документ об оплате. Это может быть:
    • справка об оплате — мы пришлём её вместе с офертой;
    • выписка с банковского счёта, в которой видно оплату, — её можно запросить в поддержке банка;
    • кассовый чек об оплате — он приходит на вашу почту при оплате картой;
    • кредитный договор или спецификация к нему.

Также могут понадобиться:

  • документ о прохождении курсов: сертификат, свидетельство об обучении, удостоверение или диплом — за ними можно обратиться к вашему куратору;
  • справка об обучении — можно запросить в поддержке.
Свидетельство об обучении

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

Можем его выдать, если вы:

  • оплатили обучение после 28 января 2017 года;
  • закончили обучение по программе «Профессии» или «Факультета».

Получить свидетельство можно «Почтой России» — бесплатно отправим на указанный адрес.

Чтобы получить документ, обратитесь к своему куратору.

Диплом о профессиональной переподготовке

Диплом о профессиональной переподготовке подтверждает, что студент успешно окончил программу GeekUniversity.

Можем его выдать, если вы:

  • оплатили обучение после 3 декабря 2019 года;
  • имеете среднее или высшее профессиональное образование – подойдут диплом СПО, специалиста, бакалавра или магистра;
  • сдали промежуточные аттестации по курсам четвертей и раздела «Вне четверти»;
  • успешно сдали итоговую аттестацию.

Итоговой аттестацией может быть:

  • тестирование по всем темам программы;
  • защита индивидуального проекта, диплома или портфолио;
  • защита командного проекта.

Если условия не выполнены, мы можем выдать свидетельство об обучении.

Чтобы получить документ, обратитесь к своему куратору.

Помощь в трудоустройстве после обучения на факультете

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

Гарантия трудоустройства распространяется не на все программы обучения GeekBrains. Куратор подскажет, подходит ли ваш курс под условия гарантии.

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

Оферта — это юридический документ, с которым вы соглашаетесь, когда проходите регистрацию на сайте gb.ru. Если у вас появятся вопросы по Приложению № 2 «Положение о трудоустройстве» или любой другой части оферты, задайте их вашему куратору.

Как мы поможем с трудоустройством

  • Расскажем о процессе поиска работы: как он выглядит со стороны компании и со стороны студента.
  • Поможем составить или отредактировать ваше резюме и сопроводительное письмо.
  • Поможем подготовиться к интервью с HR на тестовом собеседовании.
  • Ответим на оставшиеся вопросы о поиске работы.
  • Порекомендуем ваше резюме компаниям-партнёрам, которые готовы нанимать наших выпускников.

Что вам для этого нужно сделать

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

В течение обучения нужно:

  • Пройти все курсы основной программы.
  • Пройти все курсы вне четверти.
  • Пройти хотя бы один факультатив, если он есть.
  • Выполнить и сдать не менее 75% домашних заданий, а также получить за них положительные оценки.
  • Сдать итоговую аттестацию.
  • Выполнить все итоговые проекты, а также получить за них 4 или 5.

После завершения первой четверти вам нужно:

  • Заполнить резюме на нашем портале и открыть его работодателям.
  • Прислать письмо на почту support@geekbrains.ru. В теме письма напишите «Хочу найти работу», а в самом сообщении прикрепите ссылку на ваш профиль на портале GeekBrains.
  • Следовать рекомендациям карьерного консультанта, самостоятельно искать вакансии и откликаться как минимум на 10 вакансий в неделю. Мы считаем, что выполнили наши обязательства, если: Вы получили оффер от работодателя. Вы решили не участвовать в собеседованиях или отказались от предложения о работе. Вы нарушили хотя бы одно из условий оферты.

Что делать, если вы хотите начать поиск работы на первой четверти

Вы можете получить доступ к продукту «‎Карьера». Внутри вы найдете видеокурс «Как найти работу: путь от резюме до первого офера». А также курс «Регистрация в карьеру». Это первые шаги на пути к поиску работы.

Чтобы мы открыли продукт, пришлите письмо на почту support@geekbrains.ru. В теме письма напишите «Хочу продукт «Карьера», а в самом сообщении укажите ссылку на ваш профиль на портале GeekBrains.

Помимо этого, вы можете:

  • Прочитать статьи, в которых мы собрали полезные советы по трудоустройству (Грамотно составляем резюме; Как найти работу или стажировку через портал GeekBrains; Что мешает кандидатам найти хорошую работу.)
  • Опубликовать резюме на нескольких сайтах для поиска работы. Так у вас будет доступ к большему количеству вакансий. Начните с hh.ru, superjob.ru и профессиональных соцсетей «Хабр Карьера» и LinkedIn.
  • Почаще заходите в раздел «Вакансии» на платформе и откликайтесь на подходящие вакансии.
Удостоверение о повышении квалификации

Документ подтверждает, что студент успешно прошёл программу дополнительного профессионального образования – одну из программ «Профессий».

Можем выдать его, если вы:

  • оплатили обучение после 3 декабря 2019 года;
  • имеете среднее или высшее профессиональное образование – подойдут диплом СПО, специалиста, бакалавра или магистра;
  • успешно прошли программу обучения:
    • посмотрели уроки всех курсов.
    • успешно сдали итоговую аттестацию.

Итоговой аттестацией может быть:

  • тестирование по всем темам программы;
  • защита индивидуального проекта, диплома или портфолио;
  • защита командного проекта;
  • выполнение всех практических работ;
  • собеседование с преподавателем.

Если условия не выполнены, мы можем выдать свидетельство об обучении.

Чтобы получить документ, обратитесь к своему куратору.

Преимущества и недостатки школы:

  • Наставники: Эксперты с опытом от 5 лет
  • Документ об окончании: Сертификат о прохождении обучения, по запросу — на английском языке
  • Трудоустройство: Составление резюме, поиск вакансий, подготовка к собеседованиям и тестовым заданиям
  • Оплата: Рассрочка на 36 месяцев
Название курсаИзучаемые языкиДлительность и форматЦена
C#-разработчикC#Длительность 12 месяцев, онлайн формат, тренажеры, тесты, видеоуроки, онлайн-митапы, хакатоны и сквозные проекты2933 руб./мес.
C++ разработчикC++Длительность 8,5 месяцев, онлайн формат, тренажеры, тесты, видеоуроки, онлайн-митапы, хакатоны и сквозные проекты2750 руб./мес.

Преимущества и недостатки школы:

  • Наставники: Опытные преподаватели, действующие разработчики
  • Оплата: Полная или в рассрочку
Название курсаИзучаемые языкиДлительность и форматДокумент об окончанииТрудоустройствоЦена
C++ Developer. ProfessionalC++Продолжительность 5 месяцев, 4 ак.часа, онлайн обучение в вебинарах, 37 практических заданий, проектная работаСертификат о прохождении курса программирования на С++Приглашение пройти собеседование в компаниях-партнерах Otus90000 руб./курс
C# Developer. ProfessionalC# Продолжительность 6 месяцев, 4 ак.часа в неделю, онлайн обучение в вебинарах, проектная работаСертификат о прохождении курсаПриглашение пройти собеседование в компаниях-партнерах Otus75000 руб./курс
C# Developer. BasicC#Продолжительность 5 месяцев, 2 ак.часа в неделю, онлайн обучение в вебинарах, проектная работа, решение кейсовСертификат о прохождении курса-45000 руб./курс
Разработчик С++. Базовый курсC++Продолжительность 5 месяцев, 2 ак.часа в неделю, онлайн обучение в вебинарах, проектная работа, решение кейсовСертификат о прохождении курсаПриглашение пройти собеседование в компаниях-партнерах Otus60000 руб./курс

Преимущества и недостатки школы:

  • Изучаемые языки: C++
  • Наставники: Опытные кураторы-программисты
  • Документ об окончании: Сертификат Skillbox
  • Трудоустройство: Гарантия трудоустройства, помощь в оформлении резюме, 2 проекта в портфолио
  • Оплата: Полная или рассрочка до 36 месяцев
Название курсаДлительность и форматЦена
Профессия Разработчик на C++Длительность 12 месяцев , лекции в записи, практические работы, итоговый проект, стажировкаот 5727 руб./мес

Преимущества и недостатки школы:

  • Документ об окончании: Сертификат об окончании
  • Оплата: Полная

Полезные видео

Язык Си для начинающих / #1 - Введение в язык Си

Лучший бесплатный курс по C#. На голову выше остальных! ULearn

Базовый курс программирования на С

Базовый курс программирования на С

Frontend программирование | Как стать программистом с нуля, курсы программирования, програмування

Онлайн - курс: программирование на С

блог #17 курсы программирования. рэйд массивы, циклы С

С чего начать изучение программирования? IT с нуля | БЕСПЛАТНЫЕ курсы и ресурсы для программистов

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

Курсы программирования на языке Java и С

Курс программирования на С - Введение

Бесплатный курс программирования на С#. Знакомство с инструментами, первая программа в Visual Studio

СП МКН СПбГУ 1 курс - Программирование на С и С - Евгений Линский

С дочей в Москву. Курсы программирования.

Уволили с работы, можно ли стать программистом? Курсы программирования