0Корзина Закладки 0

Укажите в поиске ключевое слово / автора / название курса

Otus / Ольга Плисенко, Андрей Кравчук - Программист С 2025 Скоро в продаже

Otus / Ольга Плисенко, Андрей Кравчук - Программист С 2025

Артикул: 21437 Ожидается поступление

Автор курса:
Ольга Плисенко, Андрей Кравчук

Категория: Скоро

Дата выхода: 2025

Этот курс пока недоступен

Материалы ещё не поступили в магазин. Покупка и выдача ссылок пока недоступны. Посмотрите другие курсы в наличии ниже.

Проверяем подписку…

О материале

Описание

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

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

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

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

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

Основы программирования на С

В модуле будет рассмотрено современное состояние языка С, его возможности и особенности в соответствии со стандартами. Будут разбираться базовые конструкции языка С, работа с наиболее распространёнными структурами данных, а так же основы практической разработки под Windows и UNIX-подобные ОС.
  • Тема 1: Инструментарии разработки
  • Тема 2: Основы языка C //ДЗ
  • Тема 3: Стандарты C
  • Тема 4: Best practices программирования
  • Тема 5: Препроцессор
  • Тема 6: Библиотеки / ДЗ
  • Тема 7: Основы ассемблера / ДЗ
  • Тема 8: Консультация по вопросам ДЗ (Q&A)
Подготовительный блок: основы C и алгоритмы
Эти занятия помогут освежить базовые знания, которые понадобятся в первом модуле курса. Материалы не входят в обязательную программу. Используйте их: до старта курса, если давно не работали с C; параллельно с первым модулем, если чувствуете, что не хватает базовых знаний; точечно — можно смотреть только те темы, которые необходимо повторить.
  • Тема 1: Типы данных
  • Тема 2: Типы данных (продолжение)
  • Тема 3: Динамические структуры данных
  • Тема 4: Алгоритмы поиска и сортировки
Современный С
В модуле будут рассмотрены элементы сборки программы на языке С: статические и динамические библиотеки. Будут приведены примеры поиска, обнаружения и обработки ошибок в коде, а также методики ООП в языке C.
  • Тема 1: История, философия и основы работы в UNIX / ДЗ
  • Тема 2: Программирование под UNIX / ДЗ
  • Тема 3: Программирование под Windows, интерфейс WinAPI
  • Тема 4: ООП в C / ДЗ
  • Тема 5: Обработка ошибок / ДЗ
Процессы в UNIX
Будут рассмотрены особенности программирования под UNIX подобные операционные системы и существующие для этого инструментальные средства. Будет разбираться понятие программ демонов и механизмы их создания.
  • Тема 1: Введение в процессы
  • Тема 2: Демоны UNIX
  • Тема 3: Взаимодействие между процессами / ДЗ
  • Тема 4: Разделяемая память / ДЗ
Механизмы многопоточности
В модуле рассматриваются принципы создания потоков, что это такое и для чего они нужны. Будут рассмотрены механизмы синхронизации для обеспечения целостности данных.
  • Тема 1: Введение в потоки / ДЗ
  • Тема 2: Механизмы синхронизации
  • Тема 3: Функции в многопоточных приложениях
  • Тема 4: Консультация по вопросам ДЗ (Q&A)
Сетевое программирование
В модуле будут рассмотрены методы и технологии взаимодействия программ по сети с помощью кода на языке С. Будут показаны примеры создания серверных и клиентских приложений.
  • Тема 1: Сетевое взаимодействие / ДЗ
  • Тема 2: Асинхронные сетевые интерфейсы
  • Тема 3: Веб-сервисы / ДЗ
Введение в ядро Linux
  • Тема 1: Современные архитектуры ОС
  • Тема 2: Ядро Linux
  • Тема 3: Инструментарий для программистов ядра //ДЗ
  • Тема 4: Система драйверов //ДЗ
Микроконтроллеры
В модуле рассматриваются вопросы применения языка С для работы с микроконтроллерами. В качестве примера будет рассмотрена архитектура Ардуино и показаны примеры программирования на С с использованием микросхемы Ардуино.
  • Тема 1: Введение в микроконтроллеры
  • Тема 2: Введение в Ардуино
  • Тема 3: Разработка приложений на Ардуино
Базы данных
Познакомимся с основными направлениями развития современных СУБД и научимся писать запросы на С к базам данных, реализованным на СУБД PostgreSQL, MySQL и SQLite.
  • Тема 1: Современные СУБД
  • Тема 2: Работа с СУБД из C / ДЗ
Создание игр
В модуле представлены основные принципы разработки игр на С. Будут рассмотрены библиотеки DirectX и OpenGL для работы с графикой. Научимся создавать функции работы с устройствами ввода/вывода и создавать интерактивность в играх.
  • Тема 1: Графические интерфейсы / ДЗ
  • Тема 2: Игровые фреймворки на С
  • Тема 3: Современные паттерны / ДЗ
Проектная работа
Заключительный месяц курса посвящен проектной работе. Свой проект - это то, что интересно писать студенту. То, что можно создать на основе знаний, полученных на курсе. При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей.
  • Тема 1: Выбор темы и организация проектной работы
  • Тема 2: Консультация по проектам и домашним заданиям
  • Тема 3: Защита проектных работ
  • Тема 4: Подведение итогов курса
Преподаватели
Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания
  • Виктор Коробков. Консультант команды технологического обеспечения ИТ ИКС 5 Технологии
  • Андрей Кравчук. C/Python Developer
  • Виктор Легкоступ. DSP system developer
  • Ольга Плисенко. Зав. сектором разработки ЦИГИТ АГУ

Другие курсы в наличии

Материалы, которые можно приобрести уже сейчас