Рассрочка
Программист С
25 декабря
5 месяцев
Онлайн
Пн/Чт 20:00 Мск
Для кого этот курс?
- Вы уткнулись в пределы быстродействия используемого вами языка программирования (например, Python)
- Вам необходимо задействовать в другом языке стороннюю библиотеку, написанную на C, и сталкиваетесь с проблемами взаимодействия между языками
- Вы хотите подробнее узнать, как программы взаимодействуют с ОС и предоставляемыми ей ресурсами
- Вы желаете начать разрабатывать под микроконтроллеры и развиваться в IoT-направлении
- Вы стремитесь заниматься системным программированием
Необходимые знания
- Базовые навыки работы в консоли UNIX-подобных ОС
- Знание любого промышленного языка программирования

Что даст вам этот курс?
- Изучите синтаксис С; основы архитектуры процессора и памяти; структуры данных; основы ассемблер
- Сможете писать низкоуровневые приложения и приложения под UNIX, а также понять, как С используется в играх и веб-приложениях
- Научитесь писать сетевые приложения (и клиенты, и серверы) и быстро находить ошибки
- Поймете, как пишутся приложения под микроконтроллеры и как интегрируется С с PostgreSQL, MySQL и SQLite
Особенность курса
Вы познакомитесь с аналогами ООП в C, хотя традиционно считается, что ООП в C не бывает
Процесс обучения
Глубокое погружение
Вы рассмотрите устройство UNIX-подобных ОС и сопутствующего инструментария
Практикоориентированность
Вы сможете использовать C на практике и решать реальные кейсы и задачи Middle-уровня
Эффективное программирование
Получите практические советы по написанию конкретных классов программ
Трудоустройство
Многие студенты еще во время прохождения первой части программы находят или меняют работу, а к концу обучения могут претендовать на повышение в должности.
- Получите помощь с оформлением резюме, портфолио и сопроводительного письма
- Разместите свое резюме в базе OTUS и сможете получать приглашения на собеседования от партнеров
Программист C
Работодатель курса
Формат обучения
Интерактивные вебинары
2 занятия по 2 ак.ч. в неделю. Доступ к записям и материалам остается у вас навсегда
Практика
Домашние задания + проектная работа, которая усилит ваше портфолио
Активное комьюнити
Общайтесь с преподавателями голосом на вебинарах и в Telegram-чате
Программа
Основы программирования на С
В модуле будет рассмотрено современное состояние языка С, его возможности и особенности в соответствии со стандартами. Будут разбираться базовые конструкции языка С, работа с наиболее распространёнными структурами данных, а так же основы практической разработки под Windows и UNIX-подобные ОС.
Тема 1: Инструментарии разработки
Тема 2: Основные конструкции
Тема 3: Типы данных
Тема 4: Типы данных (продолжение)
Тема 5: Динамические структуры данных
Тема 6: Алгоритмы поиска и сортировки
Тема 7: Препроцессор
Тема 8: Библиотеки
Тема 9: Основы ассемблера
Современный С
В модуле будут рассмотрены элементы сборки программы на языке С: статические и динамические библиотеки. Будут приведены примеры поиска, обнаружения и обработки ошибок в коде, а также методики ООП в языке C.
Тема 1: Стандарты C
Тема 2: Best practices программирования
Тема 3: История, философия и основы работы в UNIX
Тема 4: Стандарт POSIX и программирование под UNIX
Тема 5: Программирование под Windows, интерфейс WinAPI
Тема 6: ООП в C
Тема 7: Обработка ошибок
Тема 8: Консультация по вопросам ДЗ (Q&A)
Процессы в UNIX
Будут рассмотрены особенности программирования под UNIX подобные операционные системы и существующие для этого инструментальные средства. Будет разбираться понятие программ демонов и механизмы их создания.
Тема 1: Введение в процессы
Тема 2: Демоны UNIX
Тема 3: Взаимодействие между процессами
Тема 4: Разделяемая память
Механизмы многопоточности
В модуле рассматриваются принципы создания потоков, что это такое и для чего они нужны. Будут рассмотрены механизмы синхронизации для обеспечения целостности данных.
Тема 1: Введение в потоки
Тема 2: Механизмы синхронизации
Тема 3: Функции в многопоточных приложениях
Сетевое программирование
В модуле будут рассмотрены методы и технологии взаимодействия программ по сети с помощью кода на языке С. Будут показаны примеры создания серверных и клиентских приложений.
Тема 1: Сетевое взаимодействие
Тема 2: Асинхронные сетевые интерфейсы
Тема 3: Веб-сервисы
Микроконтроллеры
В модуле рассматриваются вопросы применения языка С для работы с микроконтроллерами. В качестве примера будет рассмотрена архитектура Ардуино и показаны примеры программирования на С с использованием микросхемы Ардуино.
Тема 1: Введение в микроконтроллеры
Тема 2: Введение в Ардуино
Тема 3: Разработка приложений на Ардуино
Базы данных
Познакомимся с основными направлениями развития современных СУБД и научимся писать запросы на С к базам данных, реализованным на СУБД PostgreSQL, MySQL и SQLite.
Тема 1: Современные СУБД
Тема 2: Работа с СУБД из C
Создание игр
В модуле представлены основные принципы разработки игр на С. Будут рассмотрены библиотеки DirectX и OpenGL для работы с графикой. Научимся создавать функции работы с устройствами ввода/вывода и создавать интерактивность в играх.
Тема 1: Графические интерфейсы
Тема 2: Игровые фреймворки на С
Тема 3: Современные паттерны
Проектная работа
Заключительный месяц курса посвящен проектной работе. Свой проект - это то, что интересно писать студенту. То, что можно создать на основе знаний, полученных на курсе. При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей.
Тема 1: Выбор темы и организация проектной работы
Тема 2: Консультация по проектам и домашним заданиям
Тема 3: Защита проектных работ
Тема 4: Подведение итогов курса
Также вы можете получить полную программу, чтобы убедиться, что обучение вам подходит
Проектная работа
Заключительный месяц курса посвящен разработке проекта. В качестве темы выбирается то, что интересно писать студенту. Участие в разработке некоего open source-продукта тоже может рассматриваться в качестве проектной работы. При этом не обязательно закончить его за месяц. В конце курса вы реализуете полноценный проект на C: это может быть какая-то ваша рабочая задача, своя идея или предложенная нами тема.
Преподаватели
Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания
Ближайшие мероприятия
Открытый вебинар — это настоящее занятие в режиме онлайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
— подробнее познакомимся с интернациональным стандартом символов Unicode и низкоуровневым устройством его кодировок
— развеем несколько популярных мифов в области кодировок и посмотрим на инструменты языка C для работы с юникодом.
Занятие будет полезно всем программистам, практикующим написание кода на C и C++.
Регистрируйтесь сейчас — напомним перед вебинаром!
Прошедшие
мероприятия
Корпоративное обучение для ваших сотрудников
- Курсы OTUS верифицированы крупными игроками ИТ-рынка и предлагают инструменты и практики, актуальные на данный момент
- Студенты работают в группах, могут получить консультации не только преподавателей, но и профессионального сообщества
- OTUS проверяет знания студентов перед стартом обучения и после его завершения
- Простой и удобный личный кабинет компании, в котором можно видеть статистику по обучению сотрудников
- Сертификат нашего выпускника за 5 лет стал гарантом качества знаний в обществе
- OTUS создал в IT более 120 курсов по 7 направлениям, линейка которых расширяется по 40-50 курсов в год
Отзывы
Сертификат о прохождении курса
OTUS осуществляет лицензированную образовательную деятельность. В конце обучения вы получите сертификат OTUS о прохождении курса

После обучения вы:
- научитесь писать многопоточные и многопроцессные приложения, а также нетривиальные макросы
- поймете, как используется С в играх и веб-сервисах
- получите материалы по всем пройденным занятиям (видеозаписи вебинаров, выполненные домашние задания, итоговый проект)
- получите сертификат об окончании курса от OTUS
Программист С
Стоимость в рассрочку
Стоимость указана для оплаты физическими лицами
вычета до 13% стоимости обучения. Пройдите тестирование и менеджер вас проконсультирует
+7 499 938-92-02 бесплатно