Курc включает в себя изучение основных современных компьютерных инструментов, таких как R и Python, используемых для преподавания математики в средней и старшей школе. Курс направлен на использование данного инструментария в среде Linux.
Описание курса обучения «Программирование на языке C в Linux»
Полное наименование: | «Программирование на языке C в Linux» |
Срок обучения: | 40 часов. |
Итоговый документ: | Удостоверение о повышении квалификации |
Стоимость обучения: | Очно: |
Ответственный за обучение: | Тоболин Дмитрий Юрьевич |
Телефон: | +7 (343) 287-14-16 доб.102 |
Электронный адрес: | [email protected] |
Лицензия на право ведения образовательной деятельности, регистрационный номер № Л035-01277-66/00195362 от 11 ноября 2015 г.
График обучения курса «Программирование на языке C в Linux»
Нет мероприятий в ближайшее время
Программа обучения по курсу «Программирование на языке C в Linux»
Модуль 1
Занятие № 1
Компилятор gcc для программирования на С. Использование редактора nano для написания кода на C. Компиляция программа. Ключи компиляции. Получение ассемблерного кода. Сборка проекта с использованием make. Использование gdb, ddd для отладки кода. Команды nm, ldd и их использование.
Занятие № 2
Создание статических библиотек и подключение их к проекту. Команда ar. Создание и использование динамических библиотек. Ключи fPID, -shared. Подключение динамических и статических библиотек к проекту. с использованием командной строки и Makefile.
Занятие № 3
Интерфейс прикладного программирования операционной системы Linux. Общий обзор возможностей Linux API. Наиболее распространенные команды Linux API. Написание программ с использованием простых функций Linux API. Функция system(), написание minishell.
Занятие № 4
Работа с переменными окружения. Команда env и ее ключи. Написание программы для просмотр всех переменных окружения. Получение, просмотр и изменение отдельных позиций переменной окружения. Использование функций getenv(), setenv(), putenv() для для работы с переменными окружения.
Модуль 2
Занятие № 5
Ввод-вывод в операционной системе Linux с использованием языка С. Низкоуровневый POSIX ввод-вывод и высокоуровневый ANSI C ввод-вывод. Особенности написания программ с использованием низкоуровневого и высокоуровневого ввода-вывода.
Занятие № 6
Файловая система Linux. Типы файлов в операционной системе Linux. Обзор основных команд необходимых для программирования на С под Linux. Изучение прав доступа к файлам. Использование низкоуровневых функций open, create, write, read, lseek для работы с файлами в операционной системе Linux.
Занятие № 7
Написание программ с использованием функций высокоуровневого и низкоуровневого ввода-вывода. Файловые дескрипторы и использование функций dup, dup2 для работы с файловыми дескрипторами. Работа со ссылками. Работа с каталогами. Создание, удаление каталогов.
Занятие № 8
Файловая система /proc. Работа с командами уровня ядра. Получение данных о состоянии ядра системы. Разреженные файлы. Блокировки областей файла с использованием языка C.
Модуль 3
Занятие № 9
Процессы. Команды и программы операционной системы Linux для работы с процессами. Запуск процесса, остановка процесса. Удаление процесса.
Занятие № 10
Изучение и использование функций Linux для работы с процессами и потоками. Функции fork(), kill().Создание дочернего процесса. Создание двух и более дочерних процессов. Написание компьютерных программ на языке C по работе с процессами.
Звнятие № 11
Потоки (threads) Потоки POSIX. Атрибуты потоков. Использование потоков в программах. Многопоточное программирование. Написание программ с использованием потоков.
Занятие № 12
Синхронизация потоков. Семафоры. Использование функций для работы с семафорами. Мьютексы. Написание программ на C, использующих мьютексы.
Модуль 4
Занятие № 13
Межпроцессное взаимодействие (IPC) в Linux. Каналы (pipes). Сообщения и очереди сообщений. Разделяемая память (shared memory). Написание программ для различных механизмов межпроцессного взаимодействия.
Занятие № 14
Работа с отображаемыми в память файлами. Команды и функции для работы с отображаемыми в память файлами. Функция mmap(). Копирование файлов с использованием mmap().
Занятие № 15
Сокеты в операционной системе Linux. Виды сокетов. Использование сокетов для сетевого программирования. Протоколы TCP/IP. Написание программы сетевого обмена (сервера и клиента) с использованием сокетов TCP. Написание программы (сервера и клиента) с использованием сокетов UDP.
Занятие № 16
Работа с сигналами в Linux. Типы сигналов. Создание и отправка сигналов. Написание компьютерных программ, отслеживающих сигналы. Сигнал kill. Написание программы для работы с сигналом kill.
Занятие № 17
Программирование под аппаратную платформу. Использование команд Linux для изучения аппаратного устройства компьютера. Работа с каталогом /dev. Написание программы для работы с последовательным портом и usb. Написание программы для работы со звуковой картой.
Модуль 5
Занятие № 18
Работа с терминалом. Консольные приложения. Использование библиотеки ncurses для создания графического терминала. Создание окон, диалогов и меню в консольном приложении. Переключение между окнами в консоли. Вывод графики и рисование с использованием ncurses. Использование Unicode для ввода данных на иностранных языках.
Занятие № 19
Демоны и фоновые приложения. Понятие демона. Этапы создания демона. Особенности работы компьютерных программ в фоновом режиме. Библиотеки. Инсталляция новых библиотек для разработки программного обеспечения. Специфика разработки 64 разрядных приложений под Linux.
Занятие № 20
XWindow, Создание окна с использованием библиотеки X11. Особенности XWindow. Библиотека Xt для создания графических приложений.
Занятие № 21
Использование библиотеки GTK+ для разработки приложений с графическим пользовательским интерфейсом. Создание простого графического окна приложения. Добавление и использование различных графических компонентов (widgets), для создания пользовательского интерфейса. Использование “раскладчиков” для размещения компонентов на форме. Связи (connections), сигналы и функции обратного вызова (callback) для функционирования компонентов.
Цель обучения: | Освоить на практике основные принципы системного программирования на языке С в операционной системе Linux. |
Категории слушателей: | Лица, с высшим и средним специальным образованием желающие пройти подготовку и обучение по системному программированию в операционной системе Linux. |
Форма обучения: | Очная |
Итоговый документ: | Удостоверение о повышении квалификации |
Требования для зачисления на курс: | Лица, имеющие среднее специальное и высшее образование без предъявления требований к стажу работы, владеющие основами программирования на языке С и базовыми навыками использования операционной системы Linux. |
Срок обучения: | 40 часов. |
Стоимость обучения: | Очно: |
Ответственный за обучение: | Тоболин Дмитрий Юрьевич |
Телефон: | +7 (343) 287-14-16 доб.102 |
Электронный адрес: | [email protected] |
20 сентября свой профессиональны праздник отмечают секретари
Подробнее >>
12 сентября 2024 г. День программиста
Подробнее >>
14 мая: День фрилансера в России
Подробнее >>