МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ВЛАДИВОСТОКСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ЭКОНОМИКИ И СЕРВИСА
КАФЕДРА МАТЕМАТИКИ И МОДЕЛИРОВАНИЯ
Основы алгоритмизации и языки программирования
Рабочая программа дисциплины
по направлению подготовки
38.03.05 Бизнес-информатика
Владивосток 2016
Рабочая программа дисциплины Основы алгоритмизации и языки программирования составлена в соответствии с требованиями ФГОС ВО по направлению подготовки 38.03.05 Бизнес-информатика и Порядком организации и осуществления образовательной деятельности по образовательным программам высшего образования – программам бакалавриата, программам специалитета, программам магистратуры (утв. приказом Минобрнауки России от 01.01.01 г. N 1367)
Составитель:
, канд. физ.-мат. наук, mihail. *****@***ru
Утверждена на заседании кафедры математики и моделирования от 01.01.2001 г., протокол
№ 11
Редакция 2016 г. утверждена на заседании кафедры математики и моделирования от 01.01.2001г., протокол № 9
Заведующий кафедрой (разработчика) _____________________ _ __
«____»_______________20__г.
Заведующий кафедрой (выпускающей) _____________________ _________________
«____»_______________20__г.
1 Цель и задачи освоения дисциплины (модуля)
1.1. Цели освоения учебной дисциплины
Целью освоения дисциплины Основы алгоритмизации и языки программирования является формирование у студентов базовых компетенций в области программирования, в том числе ознакомление студентов с понятием алгоритма, основными видами алгоритмов и способами их составления, алгоритмами некоторых стандартных процессов. В качестве языка обучения используется С#.
Задачи освоения дисциплины Основы алгоритмизации и языки программирования:
- формирование у студента навыка перевода конкретной задачи на алгоритмический язык;
- развитие способностей составления кода программы и ее отладки.
2 Перечень планируемых результатов обучения по дисциплине (модулю), соотнесенных с планируемыми результатами освоения образовательной программы
Планируемыми результатами обучения по дисциплине, являются знания, умения, владения и/или опыт деятельности, характеризующие этапы/уровни формирования компетенций и обеспечивающие достижение планируемых результатов освоения образовательной программы в целом. Перечень компетенций, формируемых в результате изучения дисциплины, приведен в таблице 1.
Таблица 1 – Формируемые компетенции
Название ООП (сокращенное название ООП) | Блок | Компетенции | Знания/ умения/ владения (ЗУВ) | |
38.03.05 Бизнес-информатика | Б.3 | ПК-15 – проектировать и внедрять компоненты ИТ-инфраструктуры предприятия, обеспечивающие достижение стратегических целей и поддержку бизнес-процессов | Знания: | основные технологии программирования; |
Умения: | проектировать и внедрять ИС и ИКТ | |||
Владение: | методами и инструментальными средствами разработки программ | |||
ПК-18- разрабатывать контент и ИТ-сервисы предприятия и Интернет-ресурсов | Умения: | разрабатывать контент и ИТ-сервисы предприятия и Интернет-ресурсов |
3 Место дисциплины (модуля) в структуре основной образовательной программы
Дисциплина «Основы алгоритмизации и языки программирования» относится к базовой части профессионального цикла. Изучение дисциплины базируется на знаниях, полученных в ходе изучения следующих дисциплин математического и естественнонаучного цикла: «Дискретная математика», «Линейная алгебра», «Математический анализ», «Информатика и программирование модуль 1».
4. Объем дисциплины (модуля)
Объем дисциплины (модуля) в зачетных единицах с указанием количества академических часов, выделенных на контактную работу с обучающимися (по видам учебных занятий) и на самостоятельную работу по всем формам обучения, приведен в таблице 2.
Название ООП | Форма обучения | Цикл | Семестр курс | Трудоемкость (З. Е.) | Объем контактной работы (час) | СРС | Форма аттестации | |||
Всего | Аудиторная | Внеаудиторная | ||||||||
лек | прак | лаб | ПА | КСР | ||||||
Б-БИ | ОФО | Б.3.Б.07 | 3 | 3 | 108 | 17 | 41 | 6 | 11 | Экзамен |
Таблица 2 – Общая трудоемкость дисциплины
5 Структура и содержание дисциплины
5.1 Структура дисциплины
Тематический план, отражающий содержание дисциплины (перечень разделов и тем), структурированное по видам учебных занятий с указанием их объемов в соответствии с учебным планом, приведен в таблице 3.
Таблица 3 – Структура дисциплины
№ | Название темы | Вид занятия | Объем час | Кол-во часов в интерактивной и электронной форме | СРС |
1 | Основные принципы алгоритмизации и программирования | Лекция | 3 | 1 | |
Практическое занятие | 6 | ||||
2 | Основные элементы языка С# | Лекция | 2 | 1 | |
Практическое занятие | 6 | ||||
3 | Операторы управления и функции | Лекция | 2 | 1 | |
Практическое занятие | 8 | ||||
4 | Указатели. Массивы | Лекция | 2 | 2 | |
Практическое занятие | 8 | ||||
5 | Работа с файлами. Структуры и классы | Лекция | 3 | 2 | |
Практическое занятие | 8 | 3 | |||
6 | Сортировка и поиск | Лекция | 2 | 2 | |
Практическое занятие | 6 | ||||
7 | Графика в Windows | Лекция | 3 | 2 | |
Практическое занятие | 9 | 3 |
5.2 Содержание дисциплины (модуля)
Темы лекций
Тема 1. Основные принципы алгоритмизации и программирования (3 часа)
Основные понятия алгоритмизации. Понятие алгоритма. Свойства алгоритма. Схема решения задач на ЭВМ. Формы записи алгоритмов. Общие принципы построения алгоритмов. Основные алгоритмические конструкции: линейные, разветвляющиеся, циклические. Логические основы алгоритмизации. Основные базовые и структурированные типы данных, их характеристика.
Языки программирования. Эволюция языков программирования. Классификация языков программирования. Интегрированная среда программирования. Методы программирования: структурный, модульный, объектно-ориентированный. Достоинства и недостатки методов программирования. Общие принципы разработки программного обеспечения. Жизненный цикл программного обеспечения. Типы приложений. Консольные приложения.
Тема 2. Основные элементы языка С# (2 часа)
Алфавит. Идентификаторы. Переменные и константы. Операции и выражения. Операция условия, присваивания. Преобразование типов. Порядок выполнения операций.
Тема 3. Операторы управления и функции (2 часа)
Оператор if. Оператор switch. Оператор while. Оператор for. Операторы break и continue. Описание функции. Правила работы с функциями. Передача параметров.
Тема 4. Указатели. Массивы (2 часа)
Назначение указателей. Операции над указателями. Выражения и арифметические действия с указателями. Одномерные и многомерные массивы. Массивы и функции. Массивы и указатели.
Тема 5. Работа с файлами. Структуры и классы. (3 часа)
Форматирование ввода-вывода. Область видимости переменных. Работа с файлами. Структуры. Классы.
Тема 6. Сортировка и поиск. (2 часа)
Сортировка нахождением максимума, пузырьковая сортировка. Поиск в массиве.
Тема 7. Графика в Windows. (3 часа)
Оконное приложение. Компоненты, их свойства и события. Библиотека компонентов. Классы и объекты.
Перечень тем лабораторных занятий
Тема 1. Составление алгоритмов для решения задач (6 час.)
Тема 2. Основные элементы языка С# (6 час.)
Тема 3. Операторы управления и функции (8 час.)
Тема 4. Указатели. Массивы (8 час.)
Тема 5. Работа с файлами. Структуры и классы. (8 час., метод кооперативного обучения)
Тема 6. Сортировка и поиск. (6 час.)
Тема 7. Графика в Windows. (9 час., метод кооперативного обучения)
Формы и методы проведения занятий по теме, применяемые образовательные технологии
Программой дисциплины предусмотрено чтение лекций, проведение лабораторных занятий. В течение изучения дисциплины бакалавры изучают на лекционных занятиях теоретический материал. На лабораторных занятиях под руководством преподавателя, решают практические задачи. При проведении лабораторных занятиях применяется метод кооперативного обучения: студенты работают в малых группах (3 – 4 чел.) над индивидуальными заданиями, в процессе выполнения которых они могут совещаться друг с другом. Преподаватель, в свою очередь, наблюдает за работой малых групп, а также поочередно разъясняет новый учебный материал малым группам, которые закончили работать над индивидуальными заданиями по предыдущему материалу
Самостоятельная работа студентов организована с использованием электронных ресурсов, размещенных в электронном курсе в ЭОС Moodle. Студенты самостоятельно изучают дополнительный материал, отвечают на вопросы для самопроверки и выполняют задания в среде Moodle.
Форма текущего контроля
Для студентов в качестве самостоятельной работы предполагается выполнения индивидуальных домашних заданий и контрольных работ:
Контрольная работа «Составление блок-схем». Контрольная работа «Вычисление по формулам. Условный оператор». Контрольная работа «Целочисленная арифметика. Операторы цикла.». Контрольная работа «Работа с массивами». Контрольная работа «Работа с файлами». Индивидуальное домашнее задание.6. Методические указания для обучающихся по освоению дисциплины
Для обеспечения систематической и регулярной работы по изучению дисциплины и успешного прохождения текущих и промежуточных контрольных испытаний студенту рекомендуется придерживаться следующего порядка обучения:
- самостоятельно определить объем времени, необходимого для проработки каждой темы;
- регулярно изучать каждую тему дисциплины, используя различные формы индивидуальной работы;
- согласовывать с преподавателем виды работы по изучению дисциплины.
По завершении отдельных тем сдавать выполненные работы (ИДЗ) преподавателю.
При выполнении индивидуальных домашних заданий необходимо использовать теоретический материал, делать ссылки на соответствующие теоремы, свойства, формулы и др. Решение ИДЗ выполняется подробно и должно содержать необходимые пояснительные ссылки.
Самостоятельность в учебной работе способствует развитию заинтересованности студента в изучаемом материале, вырабатывает у него умение и потребность самостоятельно получать знания, что весьма важно для специалиста с высшим образованием.
Целью самостоятельной работы студентов является овладение фундаментальными знаниями, профессиональными умениями и навыками деятельности по профилю, опытом творческой, исследовательской деятельности.
Самостоятельная работа студента включает следующие виды, выполняемые в соответствии с федеральным государственным образовательным стандартом высшего образования и рабочим учебным планом:
- аудиторная самостоятельная работа студента под руководством и контролем преподавателя на лекции и практическом занятии;
- внеаудиторная самостоятельная работа студента под руководством и контролем преподавателя: изучение теоретического материала, подготовка к аудиторным занятиям (лекция, практическое занятие, коллоквиум, контрольная работа, тестирование, устный опрос), дополнительные занятия, текущие консультации по дисциплинам.
В процессе изучения дисциплины, помимо теоретического материала, предоставленного преподавателем во время лекционных занятий, может возникнуть необходимость изучения учебной литературы.
7. Перечень учебно-методического обеспечения для самостоятельной работы
Для обеспечения самостоятельной работы студентов разработаны комплекты индивидуальных домашних заданий с решением типовых задач. Условия для индивидуальных домашних заданий студенты берут в ЭОС ВГУЭС.
8. Фонд оценочных средств для проведения промежуточной аттестации
В соответствии с требованиями ФГОС ВО для аттестации обучающихся на соответствие их персональных достижений планируемым результатам обучения по дисциплине созданы фонды оценочных средств (Приложение 1).
9. Перечень основной и дополнительной учебной литературы, необходимой для освоения дисциплины (модуля)
а) основная литература
1. Программирование на языке высокого уровня. Программирование на языке C++: учеб, пособие для студентов, обуч. по направл. подгот. 230100 "Информатика и вычисл. техника" Немцова, , ; под ред. . - М.: ФОРУМ : ИНФРА-М, 2016. - 512 с.: ил.
2. . Технология программирования: учебник для студентов вузов, обуч. по направл. "Информатика и вычислительная техника" / . - 3-е изд.: стер. - М.: КНОРУС. 2016. - 334 с.
3. Введение в программирование на языке Visual C#: Учебное пособие / . - М.: Форум: НИЦ ИНФРА-М, 2013. - 448 с. ISBN 978-5-91134-738-3 [Электронный ресурс]. - URL: http:///go. php? id=404441
4. Алгоритмизация. Введение в язык программирования C++ / , , . - 2-е изд„ испр. - М.: Национальный Открытый Университет «ИНТУИТ», 2016. - 197 с.: ил.; [Электронный ресурс]. - URL: htto://biblioclub. ru/index. DhD? Dage=book& № 000
5. Информатика II. Основы алгоритмизации и программирования на языке C++ : учебнометодическое пособие / ; Министерство образования и науки Российской Федерации. Томский Государственный Университет Систем Управления и Радиоэлектроники (ТУСУР). - Томск : Эль Контент, 2013. - 160 с.: ил.,табл., схем. - ISBN 978-5-4332-0068-5; [Электронный ресурс]. - URL: http://biblioclub. ru/index. php? page=book&id =208651 (13.09.2016).
б) дополнительная литература
1. , Основы алгоритмизации и программирования. - М.: ФОРУМ : ИНФРА-М, 2012.
2. , , Основы алгоритмизации и программирования. - М.: ФОРУМ, 2014.
10. Перечень ресурсов информационно - телекоммуникационной сети «Интернет»
1. Уроки программирования с нуля. Си-шарп для чайников http://mycsharp. ru/
2. Обучение C# для начинающих https://www. /watch? v=xsaRhgD7XL4
11. Перечень информационных технологий (при необходимости)
нет
12. Электронная поддержка дисциплины (модуля) (при необходимости)
нет
13. Материально-техническое обеспечение дисциплины (модуля)
Для качественного проведения лекционных занятий по данной дисциплине используются аудитории, оснащенные мультимедийным оборудованием, компьютерный класс с установленным Microsoft Visual Studio для проведения лабораторных работ.
14. Словарь основных терминов
Алгоритм — набор инструкций, описывающих порядок действий исполнителя для достижения результата решения задачи за конечное число действий.
Идентификатор — это специальное наименование, имя элементарных данных, программ или других объектов, которые запрашиваются, обрабатываются и выдаются на выход ЭВМ. Для переменных величин (данных) требуется четко различать имя и значение величины (напр., имя переменной x, значение — 0, 1 и т. д.).
Переменная — это идентификатор, определяющий данные. Обычно это имя, скрывающее за собой область памяти с хранящимися там данными. Переменная может иметь тип, характеризующий множество значений, которые она может принимать. В программировании, переменные, как правило, обозначаются одним или несколькими словами или символами, такими, как «time», «_x», «foo123» и тому подобное.
Программа — предварительное описание предстоящих событий или действий.
Процедура — это независимая именованная часть программы, которую после однократного описания можно многократно вызвать по имени из последующих частей программы для выполнения определенных действий.
Подпрограмма — поименованная или иным образом идентифицированная часть компьютерной программы, содержащая описание определённого набора действий. Подпрограмма может быть многократно вызвана из разных частей программы. В языках программирования для оформления и использования подпрограмм существуют специальные синтаксические средства. Подпрограммы часто используются для многократного выполнения стереотипных действий над различными данными. Подпрограмма обычно имеет доступ к объектам данных, описанным в основной программе (по крайней мере, к некоторым из них), поэтому для того, чтобы передать в подпрограмму обрабатываемые данные, их достаточно присвоить, например, глобальным переменным. Для обеспечения контролируемой передачи параметров в подпрограмму и возврата результатов из неё используется механизм параметров. Параметры описываются при описании подпрограммы (в её заголовке) и могут использоваться внутри процедуры аналогично переменным, описанным в ней. При вызове процедуры значения каждого из параметров указываются в команде вызова (обычно после имени вызываемой подпрограммы).
Тип определяет множество допустимых значений, которые может тот или иной объект, а также множество допустимых операций, которые применимы к нему. Кроме того, тип определяет формат внутреннего представления данных в памяти ПК. Типы подразделяются на простые и структурированные. К простым типам относятся порядковые и вещественные типы.
Структурированный тип данных – это множество элементов данных (компонент) с одним именем. В отличие от данных скалярного типа, которые могут принимать одно значение, данные структурированного типа могут принимать множество значений одного типа (регулярный тип, например, массивы), либо разных типов (комбинированные типы, например, записи).
Функция — это подпрограмма специального вида, которая, кроме получения параметров, выполнения действий и передачи результатов работы через параметры имеет ещё одну возможность — она может возвращать результат. Вызов функции является, с точки зрения языка программирования, выражением, он может использоваться в других выражениях или в качестве правой части присваивания.


