Учебная программа дисциплины "Основы программирования".
Рекомендуется для направления (ий) подготовки (специальности (ей))
01.03.02 Прикладная математика и информатика
Квалификация (степень) выпускника: Бакалавр
(указывается квалификация (степень) выпускника в соответствии с ФГОС)
1. Цели и задачи дисциплины: Студент должен приобрести практические навыки самостоятельной постановки и решения задач на компьютере, понимать важность разработки эффективного алгоритма и выбора подходящих структур данных для решения поставленной задачи, знать программирование типовых алгоритмов и уметь ими пользоваться. Знать основы языка программирования Си.__________________
2. Место дисциплины в структуре ООП: студент должен обладать знаниями основ информатики и программирования на одном из структурных языков программирования, уметь использовать компьютерную технику, обладать следующими общекультурными компетенциями: способностью работать с информацией в глобальных компьютерный сетях (ОК-12), способностью использовать в научной и познавательной деятельности, а также в социальной сфере профессиональные навыки работы с информационными и компьютерными технологиями (ОК-14).________________
(указывается цикл, к которому относится дисциплина; формулируются требования к входным знаниям, умениям и компетенциям студента, необходимым для ее изучения; определяются дисциплины, для которых данная дисциплина является предшествующей)
3. Требования к результатам освоения дисциплины:
Процесс изучения дисциплины направлен на формирование следующих компетенций:
Способность решать задачи производственной и технологической деятельности на профессиональном уровне, включая: разработку алгоритмических и программных решений в области системного и прикладного программирования (ПК-9), способность применять в профессиональной деятельности современные языки программирования, операционные системы, электронные библиотеки и пакеты программ (ПК-10)______________________________________________________________________
(указываются в соответствии с ФГОС ВПО)
В результате изучения дисциплины студент должен:
Знать: теоретические основы программирования на языке Си.
Уметь: самостоятельно ставить и решать с помощью компьютера
задачи по текущим профильным дисциплинам.
Владеть: навыками работы в средах программирования Geany и Dev-C++.
4. Объем дисциплины и виды учебной работы
Общая трудоемкость дисциплины составляет ____4_______ зачетных единиц.
Вид учебной работы | Всего часов | Семестры | |||
1 | 2 | 3 | 4 | ||
Аудиторные занятия (всего) | 68 | 68 | |||
В том числе: | - | - | - | - | - |
Лекции | 17 | 17 | |||
Практические занятия (ПЗ) | |||||
Семинары (С) | |||||
Лабораторные работы (ЛР) | 51 | 51 | |||
Самостоятельная работа (всего) | 76 | 76 | |||
В том числе: | - | - | - | - | - |
Курсовой проект (работа) | |||||
Расчетно-графические работы | |||||
Реферат | |||||
Другие виды самостоятельной работы | 76 | 76 | |||
Вид промежуточной аттестации (зачет, экзамен) | |||||
Общая трудоёмкость, час | 144 | 144 | |||
Зач. ед. | 4 | 4 |
5. Содержание дисциплины
5.1. Содержание разделов дисциплины
№ п/п | Наименование раздела дисциплины | Содержание раздела |
1. | Базовые средства программирования | Составление простейшей программы в среде программирования Geany или Dev-C++. Синтаксис и семантика языка Си (алфавит, идентификаторы, константы, переменные, основные простые типы данных, операции над данными, приоритеты и порядок (направление) выполнения операций). Операторы языка Си (арифметическое выражение, простого присваивания, перехода, условный, переключатель, циклы, составные). Программирование линейных, альтернативных и циклических управляющих конструкций. Массивы и строки. Указатели, их назначение, операции над указателями. Указатели и массивы. Использование различных типов цикла для работы с массивами и строками. Программирование типовых алгоритмов. Накопление сумм, произведений, нахождение наибольшего и наименьшего значений в массиве, вычисление среднего и дисперсии, программирование рекуррентных формул, приближенное вычисление сумм сходящихся числовых рядов. Применение схемы Горнера для вычисления значений полинома, реализация методов сортировки элементов массива (метод пузырька, метод выбора). Интерполяционный полином Лагранжа. |
2. | Модульное программирование | Функции. Объявление и определение функций. Назначение, способы передачи параметров. Указатели в параметрах функции. функции. Массивы и строки как параметры функций. Указатели на функции как параметры. Указатель на функцию как возвращаемое функцией значение. Рекурсивные функции. Перегрузка функций. Шаблоны функций. Файлы, их типы. Функции файлового ввода-вывода. Классы памяти и организация программ. Области действия и пространства имён. |
3. | Структуры и объединения | Производный тип данных структура. Структуры, массивы и указатели. Структуры и функции. Выделение и освобождение динамической памяти. Динамические структуры данных. Линейные списки. Стеки. Очереди. Бинарные деревья. Реализация динамических структур с помощью массивов. Объединения. |
(Содержание указывается в дидактических единицах. По усмотрению разработчиков материал может излагаться не в форме таблицы)
5.2 Разделы дисциплины и междисциплинарные связи с обеспечиваемыми (последующими) дисциплинами
№ п/п | Наименование обеспе-чиваемых (последую-щих) дисциплин | 1 | 2 | 3 |
1. | Технология программирования | + | + | + |
2. | Линейное программирование | + | + | + |
3. | Системы компьютерной алгебры и пакеты математических вычислений | + | + | + |
5.3. Разделы дисциплин и виды занятий
№ п/п | Наименование раздела дисциплины | Лекц. | Лаб. зан. | СРС | Все-го час. |
1. | Базовые средства программирования | 10 | 30 | 38 | 78 |
2. | Модульное программирование | 4 | 10 | 20 | 34 |
3. | Структуры и объединения | 3 | 11 | 18 | 32 |
6. Лабораторные занятия
№ раздела дисциплины | Тематика лабораторных работ | Трудо-емкость (час.) |
1 | Составление блок-схем для решения задач. Написание простейших программ для компьютера на языке С. Знакомство с форматированным вводом-выводом данных. Набор, компиляция и прогон программ в средах разработки Geany. Составление программ с использованием различного типа данных, с вводом данных с клавиатуры и выводом данных на экран. Программирование арифметических и логических выражений с использованием стандартных математических функций. Программирование альтернативных и циклических алгоритмических структур. Использование различных типов цикла для работы с массивами и строками. Нахождение наибольшего и наименьшего элементов в массиве. Вычисление среднего и дисперсии. Использование в циклах операторов break, continue. Вычисление рекуррентных формул, приближённое вычисление сумм сходящихся числовых рядов, вычисление значений полинома по схеме Горнера. Примеры использования типовых алгоритмов: сортировка выбором, применения интерполяционного полинома Лагранжа. | 25 |
2 | Составление программ при различных способах передачи данных, массивы в качестве аргументов функции, значения, возвращаемые функцией. Программирование типовых алгоритмов с применением функций. Использование рекурсивных функций. Составление и отладка рекурсивной программы быстрой сортировки. Использование массива указателей для сортировки данных. | 25 |
3 | Составление программы с инициализацией структуры и выводом значений её элементов. Решение задачи о центре масс системы материальных точек с применением массива структур. Рассмотрение программ с операциями над указателями на структуры. Примеры с реализацией функций, возвращающей структуру и использующую структуру в качестве параметра. Демонстрация выделения и освобождения динамической памяти. Формирование однонаправленного связного списка. Составление программы использующей объединение. | 18 |
7. Практические занятия (семинары)
№ п/п | № раздела дисциплины | Тематика практических занятий (семинаров) | Трудо-емкость (час.) |
1. | |||
2. | |||
… |
9. Учебно-методическое и информационное обеспечение дисциплины:
а) основная литература
1. Программирование на языке Си. М.: «Финансы и статистика», 2006.
2. С/С++. Программирование на языке высокого уровня. СПб., Питер, 2006, 2013.
, , Задачи по программированию. Часть 1. – М.: РУДН, 2012, – 60 с.б) дополнительная литература
1. зык программирования C. — Москва: Вильямс, 2015. - 304 с.
2. труктуры данных и алгоритмы. М., изд. Вильямс, 2003.
, , Программирование на С и С++. Практикум: Учеб. пособие для вузов. – М.: Горячая линия – Телеком, 2000. – 344 с. Программирование на языках Си и Си++ . Минск: Высш. школа, 1996. – 240 с. С &С++. Правила программирования. М.: БИНОМ, 1996. – 272 с. , Язык программирования Си для персонального компьютера. М: Радио и связь, 1990. – 384 с7. зык программирования Си. Задачи по языку Си. — Москва: Финансы и статистика, 1985. — 279 с.
в) программное обеспечение компилятор с языков С/С++
г) базы данных, информационно-справочные и поисковые системы___________________
____________________________________________________________________________
10. Материально-техническое обеспечение дисциплины: компьютерные классы с необходимым
программным обеспечением, со средами разработки Geany и Dev-C++ и с выходом в локальную
сеть и глобальную сеть Интернет.
11. Методические рекомендации по организации изучения дисциплины:
Регулярно посещать и конспектировать лекции. В лекциях дается краткое, но достаточно ясное изложение вопросов программирования в соответствии с программой дисциплины. Возникающие неясности можно уточнять у лектора. Выполнять домашние задания и активно работать на лабораторных занятиях. Если занятие пропускается по уважительной причине или должным образом не усвоен текущий материал, необходима дополнительная подготовка либо самостоятельно, либо с преподавателем в отведенное время для консультаций.(указываются рекомендуемые модули внутри дисциплины или междисциплинарные модули, в состав которых она может входить, образовательные технологии, а также примеры оценочных средств для текущего контроля успеваемости и промежуточной аттестации)
_____________________________________________________________________________
Лектор


