Сложность
Сложность
Продвинутый
Тип обучения
Тип обучения
Курс
Формат обучения
Формат обучения
С проверкой домашнего задания
Трудоустройство
Трудоустройство
Содействие
Сертификат
Сертификат
Да

Стоимость курса

73 500 ₽
есть рассрочка

Вы сможете использовать C на практике и решать задачи Middle-уровня. В процессе обучения вы рассмотрите устройство UNIX-подобных ОС и сопутствующего инструментария. Получите практические советы по написанию конкретных классов программ: веб-сервисов, демонов, игр, взаимодействия с БД, конкурентного программирования (многопоточных и многопроцессных программ).Еще одна особенность курса в том, что вы познакомитесь с аналогами ООП в C, хотя традиционно считается, что ООП в C не бывает.

Для кого этот курс?
Курс для тех, кто:

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

Что даст вам обучение на курсе?

  • Изучите синтаксис С
  • Изучите основы архитектуры процессора и памяти
  • Изучите основы ассемблер
  • Сможете писать низкоуровневые приложения
  • Изучите структуры данных
  • Научитесь писать сетевые приложения (и клиенты, и серверы)
  • Научитесь быстро находить ошибки
  • Сможете написать приложения под UNIX
  • Сможете понять, как С используется в играх и веб-приложениях
  • Поймете, как пишутся приложения под микроконтроллеры
  • Поймете, как интегрируется С с PostgreSQL, MySQL и SQLite
  • В конце курса вы реализуете полноценный проект на C: это может быть какая-то ваша рабочая задача, своя идея или предложенная нами тема.

Что вы получите после обучения

Приобретаемые навыки
1
UNIX
3
C
4
Сетевые протоколы
5
OpenGL
6
Динамическое программирование
7
Интерактив
8
Многопоточность
9
СУБД
10
POSIX
11
Микроконтроллеры
12
DirectX
Сертификат, ссылками на который можно делиться с другими людьми

Вас будут обучать

20 лет опыта разработки desktop информационных систем в области ГИС - технологий, технологий искусственного интеллекта, нейронных сетей как в роли разработчика, так и в роли руководителя проектов.Навыки разработки приложений на...
20 лет опыта разработки desktop информационных систем в области ГИС - технологий, технологий искусственного интеллекта, нейронных сетей как в роли разработчика, так и в роли руководителя проектов.Навыки разработки приложений на С/С++, OpenGL, Qt, Microsoft SQL Server, MySQL, PostgreSQL, Python, CLIPS, SQL. Преподаватель
Опыт работы в IT-индустрии более 15 лет, опыт преподавания более 20ти. В настоящее время:-программист Центра интеллектуальных геоинформационных технологий (ЦИГИТ) ФГБОУ ВО "АГУ";- старший преподаватель кафедры Автоматизированных систем обработки информации и...
Опыт работы в IT-индустрии более 15 лет, опыт преподавания более 20ти. В настоящее время:-программист Центра интеллектуальных геоинформационных технологий (ЦИГИТ) ФГБОУ ВО "АГУ";- старший преподаватель кафедры Автоматизированных систем обработки информации и управления по направлениям "Программирование и основы алгоритмизации", "Базы данных", "Системы искусственного интеллекта";- соучредитель малого инновационного предприятия ООО "ФореСайс" - научные исследования в области естественных и технических наук, разработка программного обеспечения. Навыки: программирование С/С++, Delphi; проектирование и разработка баз данных: СУБД MSVisualFoxPro, MSAccess, MSSQLServer, PostgreSQL.Имеет 2 патента и 8 свидетельств о регистрации программ для ЭВМ Преподаватель
Специалист по математике, электронике, статистике, компьютерной алгебре, численному моделированию. Опытный научно-технический работник.Более 5 лет работает на предприятии военно-промышленного комплекса Республики Беларусь на должности научного сотрудника. Занимается системами радиолокации, навигации и...
Специалист по математике, электронике, статистике, компьютерной алгебре, численному моделированию. Опытный научно-технический работник.Более 5 лет работает на предприятии военно-промышленного комплекса Республики Беларусь на должности научного сотрудника. Занимается системами радиолокации, навигации и управления беспилотными летательными аппаратами.Ключевые навыки: C++, Python, Matlab/Simulink, программный пакет Mathematica.Образование:— физический факультет БГУ;— магистратура и аспирантура в Белорусском государственном университете информатики и радиоэлектроники (БГУИР). Преподаватель

Образовательная организация

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

OTUS сегодня – это более 80 авторских курсов для IT-специалистов из разных направлений таких как программирование, тестирование, инфраструктура, информационная безопасность, управление и Data Science. И что важно, у нас есть программы для разных уровней подготовки от новичков до профессионалов, которые хотят освоить продвинутые навыки.
Наша миссия — делать обучение осмысленным, реализуя взаимосвязь между ожиданиями работодателей, компетенциями специалистов и возможностями преподавателей.

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

Основы программирования на С
В модуле будет рассмотрено современное состояние языка С, его возможности и особенности в соответствии со стандартами. Будут разбираться базовые конструкции языка С, работа с наиболее распространёнными структурами данных, а так же основы практической разработки под 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: Подведение итогов курса

Рейтинг курса

4.6
рейтинг
0
0
0
0
0

Может быть интересно

обновлено 21.02.2024 11:42
Программист С

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

Оставить отзыв
Поделиться курсом с друзьями