О курсе
Дисциплина «Введение в структуры данных» направлена на формирование у обучающихся компетенций в области структур данных, программирования и промышленной разработки программного обеспечения. В рамках курса изучаются основы программирования на языке Си, базовые принципы организации данных, элементы машинного кода и языков ассемблера, а также основы компиляторных технологий.
Особое внимание уделяется практическим аспектам разработки программ: созданию программ на языке Си, применению методов защитного программирования и реализации моделей вычислительных систем. В процессе обучения обучающиеся осваивают навыки отладки программного кода, а также приобретают опыт работы в операционных средах UNIX и Windows.
Изучение дисциплины обеспечивает формирование фундаментальных знаний и практических навыков, необходимых для дальнейшего освоения дисциплин в области программной инженерии, системного программирования и разработки вычислительных систем.
Пререквизиты (что студенты должны знать и уметь, приступая к курсу):
Программа курса
| Неделя |
Семинары |
Лабараторные |
Домашние задания
|
| 1-5 |
Основы языка Си. |
Темы уточняются |
Темы уточняются
|
| 6-10 |
Основы защитного программирования. |
Темы уточняются |
Темы уточняются
|
| 11-15 |
Знакомство с компиляторными технологиями. |
Темы уточняются |
Темы уточняются
|
Коммуникация
За каждой группой закреплён семинарист и ассистент, к которым можно обращаться за помощью.
Чат курса (Telegram)
Прогресс студентов
Таблица с оценками, доступная студентам
Критерии оценивания и формы контроля успеваемости
Домашние задания (темы), даты выдачи и сроки сдачи. Критерии оценивания домашних заданий.
Информация обновляется
Самостоятельная работа включает в себя:
- проработку учебного материала, подготовку ответов на вопросы, предназначенных для самостоятельного изучения.
- выполнение лабораторных работ и заданий.
Оценка за зачет выставляется из соотношения: 30% за теоретическую часть, и 70% - за практическую.
Оценка за практическую часть - это оценка за выполнение семинарских и домашних заданий, с учетом сроков сдачи.
Внимание: неудовлетворительная оценка за каждую из частей является блокирующей, то есть, в случае неудовлетворительной оценки за теоретическую либо практическую часть, итоговая оценка - неудовлетворительно.
Внимание: выполнение и сдача задач, разбираемых на семинарских занятиях, и задач домашнего задания, помеченных как “обязательные” (как правило, по одной задаче в неделю) является обязательным условием получения положительной оценки.
Все промежуточные расчеты оценки выполняются с точностью до второго знака после точки, итоговая оценка выставляется по 10-балльной шкале, с округлением по стандартным арифметическим правилам.
Команда курса
Преподаватель курса: Дединский Илья Рудольфович
Материалы курса
Основная литература
- Керниган Б., Ритчи Д. Язык программирования Си. 3-е издание.
- Керниган Б., Пайк Р. Практика программирования.
Дополнительная литература
- Ахо А., Ульман Дж. Сети Р., Лам М. Компиляторы.
- Грис Д. Разработка компиляторов для цифровых вычислительных машин.
- Мучник С. Усовершенствованная разработка и реализация компиляторов.
- Купер К., Торчон Л. Разработка компиляторов.