МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Государственное образовательное учреждение высшего профессионального образования «ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР) УТВЕРЖДАЮ Проректор по учебной работе _____________________ Л. А. Боков «___» ____________________ 2010 г. РАБОЧАЯ ПРОГРАММА учебной дисциплины «Объектно-ориентированные языки и системы программирования» Уровень основной образовательной программы _____ магистратура Направление(я) подготовки (специальность): Прикладная Магистерская программа Математическое и математика и информатика 010500.68 программное обеспечение вычислительных машин Форма обучения _ очная Факультет ___ систем управления Кафедра автоматизированных систем управления Курс _ ______ 5 Семестр 9 (первый год обучения) Учебный план набора 2010 года Факультет систем управления Профилирующая кафедра Автоматизированных систем управления Учебный план для набора 2010 года Курс 5 Семестр 9 Распределение учебного времени (всего часов) Лекции 20 часов Лабораторные занятия 40 часов Всего аудиторных занятий 60 часов Самостоятельная работа 90 часов Общая трудоемкость 150 часов Экзамен 9 семестр Томск 2010 2 Рабочая программа составлена с учетом требований Государственного образовательного стандарта высшего профессионального образования (ГОС ВПО) второго поколения по направлению подготовки «Прикладная математика и информатика» (квалификация (степень) "магистр прикладной математики и информатики"), утвержденного Приказом Министерства образования и науки Российской Федерации от 23 марта 2000 г. № 686 с изменениями от 23.03.2006 № 03-749. Программа рассмотрена и утверждена на заседании кафедры АСУ, протокол № 1 от “ 28 ” августа Разработчик, к.т.н., доцент каф. АСУ Зав. 2010 г. _____________________ Е.Б. Грибанова обеспечивающей кафедрой АСУ д.т.н., профессор А.М. Кориков Рабочая программа согласована с факультетом, профилирующей и выпускающей кафедрами специальности. Декан, д.т.н., профессор Н.В. Замятин Заведующий профилирующей и выпускающей кафедрой АСУ, д.т.н., профессор А.М. Кориков 3 1. ЦЕЛИ И ЗАДАЧИ ДИСЦИПЛИНЫ И ЕЕ МЕСТО В УЧЕБНОМ ПРОЦЕССЕ Дисциплина «Объектно-ориентированные языки и системы программирования» является специальной дисциплиной магистерской программы. Эта дисциплина читается в 9 семестре и предусматривает чтение лекций, проведение лабораторных занятий и получение различного рода консультаций. Целью дисциплины является формирование у студентов систематизированных знаний и практических навыков в области объектно-ориентированного программирования. Основной задачей изучения дисциплины является формирование у студентов теоретических знаний и практических навыков объектно-ориентированного программирования с использованием языка высокого уровня Java. В результате изучения курса студенты должны усвоить следующие понятия и определения: объектно-ориентированная парадигма, класс, объект, доступ, поля и методы, проектирование объектно-ориентированных программ, объектно-ориентированные языки, архитектура, а также свободно владеть технологией объектно-ориентированного программирования. Важным навыками должны стать умение программировать, используя объектно-ориентированный подход на языке Java, а также умение описывать и читать архитектуру классов и объектов на языке UML. В результате изучения дисциплины студент должен: Знать: • принципы объектно-ориентированной разработки программ; • способы описания программы на языке моделирования. Уметь: • пользоваться принципами объектно-ориентированной программ на языке высокого уровня; разработки для написания Владеть: • объектно-ориентированной технологией разработки программ; • языком высокого уровня Java и средой разработки Eclipse; • языком моделирования систем UML. Дисциплина «Объектно-ориентированные языки и системы программирования» (ООЯСП) относится к числу специальных дисциплин. Успешное овладение дисциплиной предполагает предварительные знания операционных систем, сетей ЭВМ и телекоммуникаций, предусмотренном специальностью «Прикладная математика и информатика», а также навыки программирования на языках высокого уровня. 2. СОДЕРЖАНИЕ ДИСЦИПЛИНЫ 2.1 Лекционный курс (20 часов) Тема 1. Системы объектно-ориентированного программирования. Технология Java Лекции 1 час Самостоятельная работа 1 часа Обзор систем объектно-ориентированного программирования. История развития Java. Основные понятия Java. 4 Тема 2. Интегрированная среда разработки Eclipse Лекции 1 час Самостоятельная работа 1 часа Работа со средой Eclipse. Навигация ресурсов. Инструмент разработки Java Development Kit (JDK). Тема 3. Объектно-ориентированное программирование на Java Лекции 2 часа Самостоятельная работа 1 часа Понятие объекта. Понятие класса, отношения между классами. Понятие наследования. Понятие интерфейса. Понятие пакета. Тема 4. Типы данных, переменные, операторы языка Java Лекции 2 часа Самостоятельная работа 1 часа Идентификаторы, типы данных, литералы. Приведение типов. инициализация переменных. Массивы примитивных типов. Операторы Java. Объявление и Тема 5. Создание и использование объектов языка Java. Классы и объекты String. Классы и объекты Java API Лекции 2 часа Самостоятельная работа 1 часа Объявление, создание экземпляров, инициализация, хранение объектов в оперативной памяти. Использование класса String. Спецификация классов Java API. Тема 6. Операторы управления ходом программы на языке Java. Лекции 2 часа Самостоятельная работа 1 час Операторы цикл. Операторы условия. Оператор выбора. Тема 7. Разработка методов, инкапсуляция и конструкторы, массивы объектов Лекции 2 часа Самостоятельная работа 1 часа Разработка методов в классах Java. Инкапсуляция и конструкторы. Массивы и объекты. Тема 8. Наследование, интерфейсы и полиморфизм Лекции 2 часа Самостоятельная работа 1 часа Наследование. Интерфейсы и абстрактные классы. Полиморфизм. Коллекции и генерики в Java. Тема 9. Язык объектно-ориентированного моделирования UML Лекции 2 часа Самостоятельная работа 1 часа 5 Основные элементы языка UML. Виды диаграмм: диаграммы классов, объектов, последовательности, состояний, вариантов использования. Тема 10. Механизм исключений и операции ввода/вывода Лекции 2 часа Самостоятельная работа 1 часа Механизм исключений. Файловый ввод/вывод. Сетевое взаимодействие. Тема 11. Графический интерфейс пользователя на основе библиотеки Swing Лекции 2 часа Разработка графического интерфейса с применением компонента Visual Editor среды Eclipse. Всего Лекционный курс Самостоятельная работа 20 часов 10 часов 2.2 Лабораторные работы Темы лабораторных работ Кол-во часов Тема 1 Компиляция и запуск Java-приложений из командной строки 4 часа Тема 2 Создание и отладка проекта в среде Ecipse. Элементы объектно4 часа ориентированного программирования Java. Тема 3 Объявление, инициализация и использование переменных 4 часа Тема 4 Создание и использование объектов 4 часа Тема 5 Операторы управления ходом программ 4 часа Тема 6 Разработка методов в классах Java, использование инкапсуляции и 4 часа конструкторов. Тема 7 Создание и использование массивов 4 часа Тема 8 Наследование, переопределение методов, полиморфизм. Интерфейсы и 4 часа абстрактные классы Тема 9 Механизм исключений и операции ввода/вывода 4 часа Тема 10 Разработка графического интерфейса в среде Eclipse 4 часа Всего часов лабораторных занятий Для подготовки к лабораторным работам и оформления отчетов требуется 40 часов самостоятельной работы. 40 часов 2.3 Самостоятельная работа N п/п 1 2 Наименование работы Проработка лекционного материала Самостоятельное изучение тем теоретической части Темы для самостоятельного изучения Количеств о часов 10 20 Форма контроля Опрос на занятиях (устно) Домашние задания по 6 3 4 1) Язык UML. Диаграммы обзора взаимодействия, синхронизации, пакетов, компонентов. 2) Классы Java для работы в Интернет. 3) Шаблоны объектно-ориентированного проектирования. Подготовка отчетов по лабораторным работам (написание программы с помощью объектноориентированного языка программирования Java, тестирование программы, выполнение расчетов, их интерпретация, написание отчета) Подготовка к контрольному тестированию Всего часов самостоятельной работы каждой теме, тесты Контрольные работы 40 Защита отчетов 20 экзамен 90 часов 3. УЧЕБНО-МЕТОДИЧЕСКОЕ И ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ 3.1. основная литература 1. Павловская Т.А. C/C++. Программирование на языке высокого уровня : учебник для вузов. - СПб. : Питер, 2009. - 464 с. (4 экз.) 2. Лаптев В.В. С++. Объектно-ориентированное программирование : учебное пособие. СПб. : Питер, 2008. – 457 с. (3 экз.) 3. Грибанова Е.Б. Объектно-ориентированные языки и системы программирования. Учебное методическое пособие по лабораторным работам. – Томск, 2010. – 21с./ http://asu.tusur.ru/learning/mag010400/d11/m010400_d11_labs.doc/ (электронный ресурс каф. АСУ ТУСУР) 3.2. дополнительная литература 1. Кьоу Д. Объектно-ориентированное программирование. - СПб.: Питер, 2005. – 237 с. (20 экз.) 2. Хорев П.Б. Технологии объектно-ориентированного программирования. – М.: Академия, 2004. – 446 с. (30 экз.) 3. Леоненков А.В. Объектно-ориентированный анализ и проектирование с использованием UML и IBM Rational Rose. - М.: БИНОМ. Лаборатория знаний, 2006. – 318 c. (20 экз.) 4. Ноутон П., Шилдт Г. Java 2 в подлиннике. – СПб: BHV – Петербург, 2006. – 1072 с. (1 экз.) 5. Бойченко И.В. Основы технологии Java. – Томск : ТУСУР, 2009. – 236 с. 6. Бойченко И.В., Мардяшов А.В. Методические указания к лабораторным работам по дисциплине «Технология Java». – Томск : ТУСУР, 2008. – 73 с. 7. Хабибуллин И. Создание распределенных приложений Java 2. – СПб: БХВ – Петербург, 2002. – 704 с. (1 экз.) 8. Вязовик Н.А. Программирование на Java http://www.intiut.ru/department/pl/javapl. 9. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений. – М: Издательский дом «Вильямс», 2008. – 720 с. (1 экз.) 10. Приемы ООП. Паттерны проектирования / Э.Гамма и др. - СПб.: Питер, 2001 г. – 656 с. 3.3. Учебно-методическое пособие по самостоятельной работе студентов Грибанова Е.Б. Объектно-ориентированные языки и системы программирования. Методические указания по самостоятельной и индивидуальной работе студентов. – Томск, 2010. – 21с. / http://www.asu.tusur.ru/learning/mag010400/ (электронный ресурс каф. АСУ ТУСУР) 7 3.4. Лицензионное программное обеспечение Среда разработки Eclipse, виртуальная машина Java. 3.5. Internet-ресурсы: 1. http://onlinelibrary.wiley.com - научные журналы издательства Wiley&Sons 2. http://www.sciencedirect.com/ - научные журналы издательства Elsevier 3. www.intuit.ru - национальный открытый университет 4. el.asu.tusu.ru – электронные курс по дисциплине Основы технологии Java 2. 4. МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ Для проведения лекций по дисциплине используются персональный ПК с проектором. Лабораторные занятия осуществляются в компьютерном классе с использованием среды разработки Eclipse. 8 5. БАЛЛЬНО-РЕЙТИНГОВАЯ СИСТЕМА Курс 5, семестр 9 Контроль обучения – Экзамен. Максимальный семестровый рейтинг – 100 баллов. По дисциплине «Объектно-ориентированные языки и системы программирования» (ООЯСП) проведение экзамена является обязательным. При этом балльная оценка в соотношении 70/30 распределяется на две составляющие: семестровую и экзаменационную. Т.е. 70 баллов можно получить за текущую работу в семестре, а 30 баллов – за ответы на экзамене. Для стимулирования планомерности работы студента в семестре в раскладку баллов по элементам контроля введен компонент своевременности, который применяется только для студентов, без опозданий отчитывающихся по предусмотренным элементам контроля (тесты, лабораторные работы, коллоквиумы). На протяжении всего семестра текущая успеваемость оценивается только в баллах нарастающим итогом, в том числе и результаты контрольных точек. Текущий контроль изучения дисциплины состоит из контроля за усвоением теоретического материала – проведение 3 тестов. В таблице 5.1 содержится распределение баллов в течение семестра для дисциплины «Объектно-ориентированные языки и системы программирования» (ООЯСП)», завершающейся экзаменом и содержащей 10 лекций (20 часов), 10 лабораторных работ (40 часов), проводимых в течение семестра и 3 итоговых теста во время проведения двух контрольных точек. В таблице 5.2 представлен пересчет суммы баллов по 1 и 2 контрольной точке в традиционную оценку. В таблице 5.3 – представлен пересчет итоговой суммы баллов в традиционную и международную оценку. Таблица 5.1 – Дисциплина «Объектно-ориентированные языки и системы программирования» (ООЯСП) (экзамен, лекции, лабораторные работы, тесты) Элементы учебной Максимальный Максимальн Максимальный Всего за деятельности балл на 1-ую ый балл за балл за период семестр контрольную период между 2КТ и на точку с начала между 1КТ и конец семестра семестра 2КТ Посещение занятий 4 4 4 12 Выполнение и защита резуль10 10 10 30 татов лабораторных работ Тестовый контроль 5 5 5 15 Компонент своевременности 4 4 5 13 Итого максимум за период: 23 23 24 70 Нарастающим итогом 23 46 70 Экзамен 30 ИТОГО 100 По результатам текущего контроля формируется допуск студента к итоговому контролю – экзамену по дисциплине. Экзамен осуществляется в форме опроса по теоретической части дисциплины. В составе суммы баллов, полученной студентом по дисциплине, заканчивающейся экзаменом, экзаменационная составляющая должна быть не менее 10 баллов. В противном случае экзамен считается не сданным, студент в установленном в ТУСУРе порядке обязан его пересдать. Методика выставления баллов за ответы на экзамене определяется из расчета до 10 баллов за каждый из 3 вопросов в билете. 9 Неудовлетворительной сдачей экзамена считается экзаменационная составляющая менее 10 баллов. При неудовлетворительной сдаче экзамена (<10 баллов) или неявке на экзамен экзаменационная составляющая приравнивается к нулю (0). Таблица 5.2 – Пересчет баллов в оценки за контрольные точки Баллы на дату контрольной точки 90 % от максимальной суммы баллов на дату КТ От 70% до 89% от максимальной суммы баллов на дату КТ От 60% до 69% от максимальной суммы баллов на дату КТ < 60 % от максимальной суммы баллов на дату КТ Оценка 5 4 3 2 Таблица 5.3 – Пересчет суммы баллов в традиционную и международную оценку Итоговая сумма баллов, учитывает Оценка (ГОС) Оценка (ECTS) успешно сданный экзамен 5 (отлично) 90 - 100 А (отлично) 85 – 89 В (очень хорошо) 4 (хорошо) 75 – 84 С (хорошо) 70 - 74 D (удовлетворительно) 65 – 69 3 (удовлетворительно) 60 - 64 E (посредственно) 2 (неудовлетворительно), Ниже 60 баллов F (неудовлетворительно) (не зачтено)