Программист С

Освойте практические навыки программирования на С, решайте задачи уровня Middle+

28 марта

5 месяцев

Онлайн

Пн/Чт 20:00 Мск

Для кого этот курс?

Для разработчиков, админов и IoT-специалистов, которые:

  • достигли предела быстродействия используемого языка программирования: например, Python
  • хотят задействовать в каком-либо языке программирования стороннюю библиотеку на C, но сталкиваются с проблемами взаимодействия между языками
  • желают лучше разобраться, как программы взаимодействуют с самой ОС и предоставляемыми ей ресурсами
  • планируют программировать микроконтроллеры и развиваться в IoT-направлении
  • стремятся заниматься системным программированием

Необходимые знания

  • Базовые навыки работы в консоли UNIX-подобных ОС
  • Знание любого промышленного языка программирования
Тест и скидка

Что даст вам этот курс?

Вы не только глубоко погрузитесь в возможности языка С, но и изучите низкоуровневые особенности устройства UNIX-совместимых ОС и ОС семейства Windows. Исследуете случаи из практики, поработаете с задачами уровня middle, получите практические советы по написанию классов программ

После обучения вы:

  • Будете знать синтаксис С, основы архитектуры процессора и памяти, основы ассемблера, структуры данных
  • Сможете писать низкоуровневые приложения и приложения под UNIX
  • Сможете писать приложения-клиенты и приложения-серверы, а также быстро находить ошибки
  • Поймёте, как С используется в играх и веб-приложениях
  • Поймёте, как пишутся приложения под микроконтроллеры
  • Поймёте, как язык С интегрируется с PostgreSQL, MySQL, SQLite

Особенность курса


Традиционно считается: ООП в C не бывает. На нашем курсе вы узнаете, что это не так, и познакомитесь с аналогами ООП в языке С

Процесс обучения

У нас нет предзаписанных уроков!


Занятия в OTUS – это онлайн-вебинары. Преподаватели-практики помогут погрузиться в теорию, обучат на реальных примерах, расскажут о необходимых в работе инструментах. Вы всегда сможете задать вопрос и получить обратную связь.
И самое главное – сможете практиковаться!

Глубокое погружение


Рассмотрите устройство ОС семейства Windows и UNIX-подобных ОС, а также сопутствующего инструментария

Практикоориентированность


Сможете решать реальные задачи middle-уровня и использовать язык C в работе

Эффективное программирование


Получите практические советы по написанию конкретных классов программ

Трудоустройство

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

  • Разместите резюме в базе OTUS: так наши партнёры смогут пригласить вас на интервью
  • Участвуйте в карьерных мероприятиях: там мы разбираемся, как составить резюме
  • Проявите себя на занятиях и получите возможность пройти собеседование у партнёров OTUS

Программист C

Перспективы направления
Средний уровень зарплат в Москве:
120 000Junior+ специалист
175 000Middle+ специалист
280 000Senior специалист
560
актуальных вакансий

Работодатель курса

Формат обучения

Интерактивные вебинары


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: Подведение итогов курса

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

Проектная работа


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


Итоговый проект вы защитите перед преподавателями и командой курса. Ваша работа станет отличным пополнением для портфолио и преимуществом на собеседованиях. 

Преподаватели

Руководитель курса

Виктор Коробков

Консультант команды технологического обеспечения

ИТ ИКС 5 Технологии

Руководитель курса

Андрей Кравчук

Виктор Легкоступ

Ольга Плисенко

Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания

Ближайшие мероприятия

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

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

- Структура вебинара:
1. Примеры динамических структур данных
2. Схемы управления динамической памятью в С и Python
3. Реализация бинарного дерева на С и Python
4. Применение функций управления динамической памятью.

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

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

Регистрируйтесь сейчас - напомним перед вебинаром!
...
19 марта в 17:00
Открытый вебинар

Прошедшие
мероприятия

Андрей Кравчук
Открытый вебинар
Unicode в С
Ольга Плисенко
Открытый вебинар
Хеш-таблицы на С. Метод цепочек
Для доступа ко всем прошедшим мероприятиям необходимо пройти входное тестирование
Возможность пройти вступительное тестирование повторно появится только через 3 дня
Результаты тестирования будут отправлены вам на email, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!

Корпоративное обучение для ваших сотрудников

Отус помогает развивать высокотехнологичные Команды. Почему нам удаётся это делать успешно:
  • Курсы OTUS верифицированы крупными игроками ИТ-рынка и предлагают инструменты и практики, актуальные на данный момент
  • Студенты работают в группах, могут получить консультации не только преподавателей, но и профессионального сообщества
  • OTUS проверяет знания студентов перед стартом обучения и после его завершения
  • Простой и удобный личный кабинет компании, в котором можно видеть статистику по обучению сотрудников
  • Сертификат нашего выпускника за 5 лет стал гарантом качества знаний в обществе
  • OTUS создал в IT более 120 курсов по 7 направлениям, линейка которых расширяется по 40-50 курсов в год

Отзывы

Алексей Сартаков

23.06.2023
Проходил обучение с января 2023 по август 2023. Что могу сказать - пытался 3 года самостоятельно изучить Си. Никак не получалось. Книги, ютуб, статьи. Заплатил и процесс пошел (не зря же платил за курс). Денег ни капельки не жалко, курс превзошел даже самые смелые мои ожидания! Сразу хочу сказать - уровень программы - выше среднего. Теперь о самом курсе. Смотрел много ютуб обучалок, так же имеется штук 9 книг по Си (реально хорошие толмуты по 800 страниц), но то что давали на курсе с лихвой превышает все печатные издания раза в потора (не говоря уже про ютуб). Очень много уникального материала! Что БОЛЬШЕ ВСЕГО ПОНРАВИЛОСЬ. Это две вещи, даже три. Первая - очень грамотный материал с теорией, с примерами и с кучей ссылок на первоисточники!!!! Нужно что то решить - смотришь урок, если что то и в нём непонятно, то идешь по ссылкам из документации к уроку и там все разжеванно. К сожалению, процентов 60 - это англоязычный материал (наверное это особенность специфики данного языка), но на русском так же полно статей. Второе - очень хорошо разжован сам материал, на каверзные вопросы слушателей, практически всегда лектор давал исчерпывающий ответ. Третье - обратная связь. У нас в чате как то чахло (наверное все спецы), но если были вопросы, то ответ от учителей приходил быстро и по существу (ответ давался в течении 0,5-2,0 часа в рабочее время). Ну и вишенка на торт. Когда ты читаешь книгу или смотришь ютуб, то там все как то однобоко, узкоспециализировано и уровень обычно слабый. На курсах - как на работе - сразу потянули за уши и пришлось догонять остальных. Кроме этого, очень много материала дали такого, о котором ты даже не догадывался. Ты даже не знал что такое есть и так можно ! В общем- резюмирую. От курсов получил раза в три больше чем планировал. Если хотите обучится сами для себя, то это лучшее наверное что можно найти. Никогда не думал, что скажу, что онлайн образование даёт реальные знания и к тому же очень сильные знания. Всем рекомендую, кто хочет обучится СИ - вам именно на этот курс.

Андрей Огурцов

31.05.2023
Закончил Даугавпилсский университет (Латвия). Имею докторскую степень в области физики твердого тела и 15 лет опыта в области исследований сенсорных систем на основе метало оксидных полупроводников. На момент начала курса, работал в Институте физики твердого тела Латвийского Университета в должности исследователя по постдок-проекту связанного с разработкой мультисенсорной диагностической системы. Ввиду высокой техническая сложности исследования, возникала необходимость повышения своей компетентности в области информационных технологий, что и привело меня на курс Otus “Программист С”. Структура курса состоит из разноплановых лекций и домашних заданий, что позволяет получить целостное представление об отрасли и дальше уже сделать выбор интересующего направления. Преподаватели настоящие специалисты своего дела, всегда помогут полезным советом. Курс сложный, поэтому новичкам без подготовки будет тяжко. Тут все зависит от целеполагания, если вам нужны именно знания и опыт, то будьте готовы к усердной работы. Так как моя дальнейшая деятельность будет тесно связана с интернетом вещей и встраиваемыми системами, то мой выбор очевиден, так как без хорошего знания языка Си в этих отраслях делать нечего. В принципе от этого курса можно сделать два ‘спин-офф” курса: первый – курс для начинающих, второй – продвинутый (системное программирование, встраиваемые системы и т.д.). Что касается дальнейшего трудоустройства, то мне уже предложили поучаствовать в одном крупном исследовательском проекте. Познания в области низкоуровневого программирования сделают вас гораздо более конкурентоспособным, особенно если занимаетесь экспериментальной физикой, уж можете мне поверить.

Александр Прасолов

06.04.2023
Работаю в GS nanotech(GSgroup) в данный момент инженером по АСУ ТП. Параллельно занимаюсь ремонтом промышленной и бытовой электроникой. Выбрал курс из-за того, что мне очень интересна эта тема и я хотел попробовать себя в разработке на данном языке. И это очень увлекательно. В данном курсе широко обозревается большой функционал языка, на любой вкус. Долго думал над покупкой курса, и не пожалел! Это стоит того. Искал курсы с подобной тематикой в рунете(программирование на си), только на OTUS нашел и цена меня устроила. Посмотрел все демо-занятия по курсу, за это отдельное спасибо OTUS. Проблем с OTUS у меня не возникло. Из-за моего плотного графика работы+учебы у меня возникли проблемы с выполнением дз, ребята из OTUS пошли на встречу, и дали мне дополнительное время на выполнение и сдачу работ. Домашние работы интересные, местами мне приходилось попотеть, но это из-за недостаточности знаний, нет опыта. Обратная связь в закрытой группе, теперь в телеграмме и это однозначный плюс. С порталом проблем не возникло, все материалы остаются в ЛК. Обучение дало мне более полное представление о том, как работает язык, как его можно и нужно правильно использовать в нынешнее время. Полученные навыки буду активно внедрять в свою деятельность. Спасибо всей команде OTUS.

Петр Усольцев

04.04.2023
Работаю программистом в 1С, учился в Иркутском энергетическом колледже 2008-2011 Заинтересовала тема системного программирования, в интернете увидел что курс по Си есть на ОТУС, туда и пошел получать практику. Понравилось все, особенно домашние задания и развернутая обратная связь по ним. Хотелось бы расширение курса до анализа ядра Linux. Курс дал практическую базу, необходимую для самостоятельного программирования, приглашения в компанию мечты не получал. Курс очень понравился именно практической составляющей и взаимодействием с преподавателем Андреем, который очень понятно все объясняет, дает подсказки и рекомендации. Но курс предназначен для тех кто умеет программировать вообще и что-то читал про устройство Linux и программирование в его среде. Если курс расширят до более углубленного я обязательно еще раз запишусь.

Александр Конобеев

03.04.2023
Очень долго искал этот курс, поскольку тема довольно редкая. Ни разу не пожалел в итоге. Но надо быть готовым тратить достаточно много времени, поскольку курс вышел довольно фундаментальным. Домашние задания на курсе не совсем простые, но очень интересные, и главное полезны для реального применения. Преподавательский состав просто огонь, отдельное спасибо Андрею за его терпение)) Всем рекомендую!

Александр Вдовыдченко

29.11.2022
Курс очень сильно расширят понимание, как в целом работает компьютер и любой язык программирования, а не только учит языку программирования, как многие другие курсы. Кроме этого, происходит знакомство и со структурами данных, алгоритмами, потоками, сетевым стеком и основными библиотеками языка. Иногда мне казалось, что я устроился на вторую работу, поэтому если беретесь за курс - готовьтесь к испытаниям и рассчитывайте свободное время. Отдельное спасибо Андрею Кравчуку за передачу своей экспертизы и знаний, комментариям по ДЗ.

Владимир Белов

01.07.2022
Курс отличный! Несмотря на то, что требуются начальные знания в Computer Science, многие темы "разжевываются" до простого. Большая благодарность преподавателям курса за структурированный материал и полезные комментарии к домашним заданиям.

Игорь Кузнецов

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

Мария Ходырева

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

Михаил Гулев

28.06.2021
Хороший курс! Все понравилось, особенно ДЗ - было прямо реально интересно. К моему сожалению, из-за нехватки времени я сделал не все, что хотел - но вышесказанного это ни как не отменяет. В общем спасибо преподавателям большое за их труд. Единственное замечание касается организации курса - иногда, занятия прямо перед своим началом, неожиданно переносились на другие дни. Я бы посоветовал, в будущем исключить эту практику. Так как планируешь свое время - сдвигаешь другие дела, а тут раз и нет занятия. Понятно, что это, без сомнений, вызвано объективными причинами, но некоторые неудобства это причиняло. В итоге я стал слушать лекции в записи - так проще планировать время, хотя поначалу слушал "живьем".

Алексей Комаров

18.04.2021
Достаточно структурированный материал. Подача на высоте. Замечательные комментарии по результатам выполнения домашних заданий, которые расширяют кругозор. Лично для меня много нового. Часть полученных навыков сразу применялось в повседневной работе. Весьма доволен что оказался на курсе Спасибо за курс. Рекомендую!

Сертификат о прохождении курса

OTUS осуществляет лицензированную образовательную деятельность. В конце обучения вы получите сертификат OTUS о прохождении курса, а при выполнении проектной работы – удостоверение о повышении квалификации

После обучения вы:

  • научитесь писать многопоточные и многопроцессные приложения, нетривиальные макросы
  • поймете, как используется С в играх и веб-сервисах
  • получите свидетельство о повышении квалификации и сертификат OTUS
  • дополните портфолио ценным проектом

Частые вопросы

Что, если в середине курса я не смогу продолжать обучение?
Вы можете бесплатно перейти в другую группу. Но только один раз.
Обязательно ли защищать итоговый проект?
Для получения сертификата OTUS сдавать проект необязательно (в сертификате будет отражено кол-во выполненныз домашних работ). Для получения Удостоверения о повышении квалификации необходимо выполнить итоговый проект. Кроме того, проект необязательно защищать перед аудиторией, а можно сдать в чате с преподавателем.
Я могу вернуть деньги?
Да, мы можем вернуть деньги за то время, которое вы ещё не успели отучиться. Например, если курс длится пять месяцев, а вы отучились один, мы вернём деньги за оставшиеся четыре месяца.
Обязательно ли выполнять домашние задания? Кто проверяет домашние задания и итоговый проект?
Да, если вы действительно хотите повысить свои навыки программирования на C. На все задания развернутую обратную связь дают наши преподаватели и наставники. При желании вы можете защитить свой итоговый проект перед руководителем и преподавателями курса.
Можно ли задавать вопросы?
Да, даже нужно! Вы можете задавать преподавателю вопросы по содержанию во время онлайн-вебинара, в закрытом Telegram-чате или в чате по ДЗ. На организационные вопросы вам всегда поможет ответить коммьюнити-менеджер курса.
Насколько сложно учиться?
Курс подходит для разработчиков, админов и IoT-специалистов с опытом. Для успешного прохождения обучения необходимо приложить усилия и старания, в т.ч. и при самостоятельном изучении материалов. Будьте готовы тратить на обучение и выполнение домашних заданий от 6 до 12 часов в неделю.
Какой объем практики предусмотрен на курсе?
Больше 80%. Также во время обучения вам будут доступны дополнительные источники информации, богатый список литературы и референсов для ознакомления и углубления знаний программистов, видеозаписи всех вебинаров занятий. А наши преподаватели всегда готовы поделиться с вами самыми актуальными материалами.