МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ГЕОДЕЗИИ И КАРТОГРАФИИ (МИИГАИК) УТВЕРЖДАЮ Ректор МИИГАиК _________________ А.А. Майоров «____»__________2015 г. Номер внутривузовской регистрации __________________ Рабочая программа дисциплины Информатика Направление подготовки 230400 Картография и геоинформатика Квалификация (степень) выпускника Бакалавр Форма обучения очная Москва 2015 1. Цели освоения дисциплины Курс «Информатика» знакомит студентов современными методами программирования на языках высокого уровня С и С++ для решения различных инженерно-геодезических и организационных задач. Дисциплина «Информатика» является одной из базовых дисциплин инженерного цикла, посвященных программированию на языках высокого уровня. Дипломированные специалисты, занятые в области геодезии и дистанционного зондирования, должны обладать знаниями и практическими навыками по программированию вычислительных средств. В курсе излагаются сведения о языках программирования С и С++. Целью изучения курса «Информатика» является: подготовка студентов к деятельности, связанной с использованием вычислительной техники; формирование профессиональных компетенций, определяющих способность студента к использованию теоретических знаний и практических навыков при разработке, анализе и применении существующих программных средств, а также разработке или модификации программ для решения своих профессиональных задач. В результате изучения курса «Информатика» студент должен демонстрировать следующие результаты обучения: иметь представление о синтаксисе и грамматике языков программирования С/С++, их особенностях, различиях между собой и отличии от других языков программирования высокого уровня, а также области наиболее предпочтительного их использования; о современных средствах разработки программ на языках высокого уровня; технологиях программирования и методах анализа эффективности алгоритмов решения прикладных задач; знать правила написания программ на языках С и С++, их редактирования, отладки и тестирования, а также знать современные технологии проектирования, разработки структуры программы и разработки программного модуля, их тестирования и отладки; уметь формализовать поставленную задачу; выбирать необходимые инструментальные средства для разработки программ, уметь строить алгоритмы решения инженерно-геодезических и научно-исследовательских задач; составлять, тестировать, отлаживать и оформлять программы на языках высокого уровня С и С++, включая объектно-ориентированные программы 2. Место дисциплины в структуре ООП бакалавриата Учебная дисциплина «Информатика» входит в раздел «Б.3. Базовая часть» ФГОС ВПО по направлению подготовки «Информационные системы и технологии». Содержание дисциплины «Информатика» является логическим продолжением дисциплин «Технология программирования», «Математика» и служит основой освоения дисциплин «Архитектура информационных систем», «Методы и средства проектирования информационных систем и технологий», «Инструментальные средства информационных систем». 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Информатика» В результате освоения дисциплины «Информатика» обучающиеся должны достигнуть следующих результатов образования: Знать: основы языка программирования С/С++; методы отладки и компиляции программ в современных средах разработки программного обеспечения; современные средства разработки и анализа программ на языках высокого уровня; методы программирования и методы разработки эффективных алгоритмов решения прикладных задач; Уметь: формализовать поставленную задачу; выбрать необходимые инструментальные средства для разработки программ; строить алгоритмы решения инженерно-геодезических и научно-исследовательских задач; составлять, тестировать, отлаживать и оформлять программы на языках высокого уровня С и С++, включая объектно-ориентированные программы составлять, тестировать, отлаживать на языках высокого уровня, включая объектно-ориентированные; Владеть: основными подходами к организации процесса разработки программ на языках программирования С/С++. Процесс освоения дисциплины «Информатика» направлен на формирование следующих профессиональных компетенций: Код компетенц ии ОК - 1 ПК - 1 ПК - 2 ПК - 3 ПК - 4 ПК - 6 ПК - 7 ПК - 12 ПК - 15 ПК - 20 ПК - 23 ПК - 27 ПК - 30 ПК - 31 Наименование компетенции Владение культурой мышления, способность к обобщению, анализу, восприятию информации, постановке цели и выбору путей ее достижения, умение логически верно, аргументированно и ясно строить устную и письменную речь Способность проводить предпроектное обследование объекта проектирования, системный анализ предметной области, их взаимосвязей Способность проводить техническое проектирование Способность проводить рабочее проектирование Способность проводить выбор исходных данных для проектирования Способность оценивать надежность и качество функционирования объекта проектирования Способность осуществлять сертификацию проекта по стандартам качества Способность разрабатывать средства реализации информационных технологий Готовность участвовать в работах по доводке и освоению информационных технологий в ходе внедрения и эксплуатации информационных систем Способность организации работы малых коллективов исполнителей Способность проводить сбор, анализ научно-технической информации по тематике исследования Способность оформлять полученные рабочие результаты в виде презентаций, научно-технических отчетов, статей и докладов на научнотехнических конференциях Готовность проводить сборку информационной системы из готовых компонентов Способность к осуществлению инсталляции, отладки программных и ПК – 32 ПК - 34 ПК - 35 4. настройки технических средств для ввода информационных систем в промышленную эксплуатацию Способность поддерживать работоспособность информационных систем и технологий в заданных функциональных характеристиках и соответствии критериям качества Готовность адаптировать приложения к изменяющимся условиям функционирования Способность составления инструкций по эксплуатации информационных систем Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 4,25 зачетных единиц, 154 часа. При реализации программы дисциплины «Информатика» в часы, отведенные для аудиторных занятий, занятия проводятся: в виде лекций (36 ч) в больших потоковых аудиториях, с использованием меловой доски; в виде лабораторных работ (118 ч) в компьютерном классе с использованием электронной интерактивной доски Polyvision; в виде самостоятельной работы студентов под руководством преподавателя по выполнению индивидуальных расчетно-графических работ. Формы контроля Рубежный контроль В течение семестра студенты, руководствуясь учебно-тематическим планом, выполняют лабораторные работы. Выполнение всех работ является обязательным для обучающихся. Студенты, не выполнившие в полном объёме лабораторные работы, не допускаются кафедрой к сдаче экзамена. Итоговый контроль по курсу Для контроля усвоения данной дисциплины учебным планом предусмотрен – экзамен. Оценка за экзамен является итоговой по дисциплине и проставляется в Приложении к диплому. № п/п 1 1 2 Раздел дисциплины 2 Введение в языки программирования С/С++. Среда программирования Borland C++ Builder 6 Простейшая программа Hello world! Имена переменных. Комментарии. Типы и размеры данных: char, int, float, double, Виды аудиторной работы (занятий) СРС (час) (час) Лекци и 3 Семин Практ Лабор ары иаческие торны е 4 5 6 2 2 2 2 7 3 4 5 6 7 8 9 void Объявления переменных. Арифметические операторы. Операторы отношения и логические операторы. Операторы инкремента и декремента. Общие сведения о приоритетах операторов. Управление. Условные конструкции: if, if-else, вложенные конструкции else-if. Переключатель switch. Циклы while, for, do-while. Инструкции break и continue. Функции и структура программ на С. Аргументы функции. Указатели на переменные, понятие адреса. Оператор взятия адреса (&) и раскрытия ссылки (*). Арифметические операции над указателями. Массивы. Формы записи элементов массива: имя массива с индексом a[ i ] и указатель со смещением *(a+i). Представление об объектах и объектноориентированном программировании. Понятие класса, определение методов класса внутри и вне класса. Управление доступом к элементам класса. Общие (public), частные (private) и статические (static) элементы. Конструктор и деструктор. Перегрузка операторов. Понятие о наследовании. Простое наследование и защищенные (protected) элементы. Множественное наследование. Аттестация (зачет) ИТОГО: 5. 2 2 2 2 2 2 2 10 3 8 2 2 2 8 19 60 Программа дисциплины (содержание курса) Раздел 1. Введение в язык С/С++ Введение в языки программирования С/С++. Среда программирования Borland C++ Builder 6. Простейшая программа Hello world! Имена переменных. Комментарии. Типы и размеры данных: char, int, float, double, void. Объявления переменных. Арифметические операторы. Операторы отношения и логические операторы. Операторы инкремента и декремента. Общие сведения о приоритетах операторов. Раздел 2. Основные конструкции языка С Управление. Условные конструкции: if, if-else, вложенные конструкции else-if. Переключатель switch. Циклы while, for, do-while. Множественная инициализация и приращение счетчиков цикла for. Инструкции break и continue. Функции и структура программ на С. Аргументы функции. Блочная структура С программ. Си-препроцессор. Подключение заголовочных файлов директивой #include. Раздел 3. Более сложные конструкции языка С Указатели на переменные, понятие адреса. Оператор взятия адреса (&) и раскрытия ссылки (*). Арифметические операции над указателями. Указатели и аргументы функций. Указатели на одномерные массивы. Формы записи элементов массива: имя массива с индексом a[ i ] и указатель со смещением *(a+i). Основные сведения о структурах. Структура point. Доступ к членам структуры. Раздел 4. Основные конструкции языка С++ Представление об объектах и объектно-ориентированном программировании. Понятие класса, определение методов класса внутри и вне класса. Управление доступом к элементам класса. Общие (public), частные (private) и статические (static) элементы. Конструктор и деструктор. Перегрузка операторов. Понятие о наследовании. Простое наследование и защищенные (protected) элементы. Множественное наследование. Иерархия классов. Понятие о друзьях (frend) класса. Определение количества друзей. Понятие о функциях – друзьях. Перегрузка функций. Использование ссылок в С++. 6. Образовательные технологии и перечень ресурсов информационнотелекоммуникационной сети Интернет, необходимых для освоения дисциплины 1. http://www.intuit.ru/department/se/introprogteach/ - Введение в языки программирования С/С++. 2. http://www.intuit.ru/department/se/inprogeng/ - Введение в программную инженерию. 3. http://www.intuit.ru/department/se/testing/ Основы тестирования программного обеспечения 7. Критерии достижения результатов обучения по дисциплине. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины и учебно-методическое обеспечение самостоятельной работы студентов. Порядок проведения промежуточной аттестации по дисциплине Общие критерии оценки ответов студентов Для отличной Для хорошей Для удовлетвориоценки оценки тельной оценки На «5» оценивается На «4» оценивается На «3» оценивается ответ, если студент ответ, в котором неполный ответ, в имеет системные отсутствуют котором полные знания и незначительные отсутствуют умения по элементы значительные поставленному содержания или элементы вопросу. присутствуют все содержания или Содержание вопроса необходимые присутствуют все излагает связно, в элементы вышеизложенные краткой форме, содержания, но знания, но раскрывает допущены допущены последовательно некоторые ошибки, существенные суть изученного иногда нарушалась ошибки, нелогично, материала, последовательность пространно демонстрируя изложения. изложено основное прочность и содержание вопроса. прикладную Для неудовлетворительной оценки На «2» оценивается ответ, при котором студенты демонстрируют отрывочные, бессистемные знания, неумение выделить главное, существенное в ответе, допускают грубые ошибки направленность полученных знаний и умений, не допускает терминологических ошибок и фактических неточностей 8. Контрольные теоретические вопросы по курсу к экзамену 1. Разработка программ: написание кода, компилирование, редактирование и отладка в среде Borland Builder 6. Понятие о языках низкого и высокого уровня. Семейство языков высокого уровня С и С++. Особенности программирования консольных приложения и приложений под Windows. 2. Имена переменных. Комментарии. Типы и размеры данных. Типы констант: целая десятичная, восьмеричная, шестнадцатеричная, с плавающей точкой. 3. Объявления переменных. Арифметические операторы. Операторы отношения и логические операторы. Преобразования типов. Операторы инкремента и декремента. Общие сведения о приоритетах операторов. 4. Управление. Условные конструкции: if, if-else, вложенные конструкции else-if. Переключатель switch. 5. Циклы while, for, do-while. Множественная инициализация и приращение счетчиков цикла for. Инструкции break и continue. Инструкция goto и метки. 6. Функции и структура программ на С. Аргументы функции. Блочная структура С программ. Си-препроцессор. Подключение заголовочных файлов директивой #include. 7. Указатели на переменные, понятие адреса. Оператор взятия адреса (&) и раскрытия ссылки (*). Арифметические операции над указателями. Указатели и аргументы функций. Указатели на одномерные массивы. 8. Основные сведения о структурах. Структура point. Доступ к членам структуры. Вложенные структуры (struct rect). Операции над структурами. Передача структур в функции. Указатель на структуру. 9. Представление об объектах и объектно-ориентированном программировании. Понятие класса, определение методов класса внутри и вне класса. 10. Управление доступом к элементам класса. Общие (public), частные (private) и статические (static) элементы. Конструктор и деструктор. Перегрузка операторов. 11. Понятие о наследовании. Простое наследование и защищенные (protected) элементы. Множественное наследование. Иерархия классов 9. Список основной и дополнительной литературы а) основная литература: 1. Керниган Б., Ритчи Д. Язык программирования Си. Изд. «Финансы и статистика», М., 1992г. 2. Страуструп Б. Язык программирования С++. Изд. «Радио и связь», М., 1991г. 3. Березин Б.И., Березин С.Б. Начальный курс С и С++. Изд. «ДИАЛОГ-МИФИ», М., 2000г б) дополнительная литература: 1. Бобровский С. Самоучитель программирования на языке С++ в системе Borland C++ Builder 5.0. Изд. «ДЕСС КОМ». М., 2001г. 2. Джамса К. Учимся программировать на языке С++. Изд. «Мир», М., 1999г. 10. Материально-техническое обеспечение дисциплины Учебные лаборатории кафедры вычислительной техники и автоматизированной обработки аэрокосмической информации, УВЦ факультета, доступ к сети Интернет, программное обеспечение, мультимедийные средства, презентации. Автор, доцент кафедры ВТиАОАИ Зав. Кафедрой ВТиАОАИ, профессор Заблоцкий В.Р. Журкин И.Г. Программа одобрена на заседании Методической комиссии факультета от ___________ года, протокол № ________.