- •Оглавление
- •Программа спецкурсов кафедры фти. Бакалавриат
- •Программа спецкурсов кафедры фти. Магистратура
- •Архитектура и эволюция эвм(2-й курс, 3-й сем., 36 ч., экзамен) Программа курса лекций (36 ч.)
- •Литература
- •Обьектно‑ориентированное программирование(2-й курс, 3-й сем., 72 ч., диф. Зачёт) Программа курса лекций(36 ч.)
- •Программа практических занятий(36 ч.)
- •Курсовые работы
- •Литература
- •Обьектно‑ориентированное программирование(2-й курс, 4-й сем., 64 ч., диф. Зачёт) Программа курса лекций(32 ч.)
- •Программа практических занятий(32 ч.)
- •Курсовые работы
- •Литература
- •Операционные системы(2-й курс, 4-й сем., 32 ч., экзамен) Программа курса лекций(32 ч.)
- •Литература
- •Операционные системыUnix (3-й курс, 5-й сем., 108 ч., диф. Зачёт) Программа курса лекций(36 ч.)
- •Раздел 1
- •Раздел 2
- •Программа практических занятий(72 ч.)
- •Задания практикума Раздел 1
- •Раздел 2
- •Литература
- •Эвм в планировании и обработке физического эксперимента(3-й курс, 5-й сем., 72 ч., диф. Зачёт) Программа курса лекций(36 ч.)
- •Программа практических занятий(36 ч.)
- •Литература
- •Введение в системы автоматического проектирования радиоэлектронных устройств(3-й курс, 5-й сем., 72 ч., диф. Зачет) Программа практических занятий(72 ч.)
- •Аналоговая электроника(3-й курс, 5-й сем., 36 ч., экзамен) Программа курса лекций (36 ч.)
- •Литература
- •Цифровые интегральные схемы(3-й курс, 5-й сем., 36 ч., экзамен) Программа курса лекций (36 ч.)
- •Литература
- •Объектно–ориентированный анализ и дизайн(3-й курс, 6-й сем., 64 ч., диф. Зачет) Программа курса лекций (32 ч.)
- •Примерная тематика курсовых проектов
- •Литература
- •Введение в субд(3-й курс, 6-й сем., 96 ч., зачет, экзамен) Программа курса лекций (32 ч.)
- •Программа практических занятий (64 ч.)
- •Примеры тем курсовых работ
- •Литература
- •Архитектура и проектирование микроконтроллеров(3-й курс, 6-й сем., 64 ч., диф. Зачет) Программа практических занятий(64 ч.)
- •Задания
- •Электроника детекторных систем(3-й курс, 6-й сем., 32 ч., экзамен) Программа курса лекций (32 ч.)
- •Литература
- •Микропроцессоры и микропроцессорные системы(3-й курс, 6-й сем., 32 ч., экзамен) Программа курса лекций (32 ч.)
- •Литература
- •Информационные сети и системы(4-й курс, 7-й сем., 108 ч., диф. Зачет) Программа курса лекций(36 ч.)
- •Программа практических занятий (72 ч.)
- •Литература
- •Машинная графика(4-й курс, 7-й сем., 72 ч., диф. Зачет) Программа курса лекций(36 ч.)
- •Программа практических занятий (36 ч.)
- •Задания
- •Литература
- •Динамическая 3d-графика (4-й курс, 8-й сем., 64 ч., диф. Зачет) Программа курса лекций(32 ч.)
- •Программа практических занятий(32 ч.)
- •Задания
- •Литература
- •Методы анализа экспериментальных данных(4-й курс, 8-й семестр, 64 ч., экзамен) Программа курса лекций(32 ч.)
- •Программа практических занятий(32 ч.)
- •Литература
- •Программируемые логические устройства(1-й курс магистратуры, 9-й сем., 36 ч., экзамен) Программа практических занятий (36 ч.)
- •Практические и контрольные задания
- •Варианты курсового проекта
- •Литература
- •Новые информационные технологии(1-й курс магистратуры, 10-й сем., 64 ч., экзамен) Программа курса лекций(64 ч.)
- •Литература
- •Проблемы безопасности в информационных технологиях(1-й курс магистратуры, 10-й сем., 64 ч., экзамен) Программа курса лекций (64 ч.)
- •Литература
- •Менеджмент программных продуктов(1-й курс магистратуры, 10-й сем., 32 ч., экзамен) Программа курса лекций(32 ч.)
- •Практические задания
- •Разработка распределенных систем(2-й курс магистратуры, 11-й семестр, 72 ч., диф. Зачет) Программа курса лекций(36 ч.)
- •Программа практических занятий(36 ч.)
- •630090, Новосибирск, ул. Пирогова, 2
Литература
В. В. Мухортов, В. Ю. Рылов. Объектно-ориентированное программирование, анализ и дизайн: Учебное пособие. Новосибирск: ИМ СО РАН, 2002.
Г. Буч. Объектно ориентированный анализ и проектирование с примерами приложений на С++, 2-е изд./ Пер. с англ. СПб.; М.: «Невский Диалект» – «Издательство БИНОМ», 1999.
Антон Элиенс. Принципы объектно-ориентированной разработки программ. 2-е изд. / Пер с англ. М.: Издательский дом «Вильямс», 2002.
Г. Буч, Д. Рамбо, А. Джекобсон. Язык UML: Руководство пользователя. / Пер. с англ. М.: ДМК, 2000.
Б. Страуструп. Язык программирования C++, 3-е изд. / Пер. с англ. СПб.; М.: «Невский Диалект» – «Издательство БИНОМ», 1999.
Б. Страуструп. Дизайн и эволюция языка С++. / Пер. с англ. М.: ДМК, 2000.
А. Голуб. Правила программирования C & C++. / Под редакцией Костенко В. М.: Восточная книжная компания, 1996.
С. Мейерс. Эффективное использование С++. 50 рекомендаций по улучшению ваших программ и проектов. / Пер. с англ. М.: ДМК, 2000.
С. Мейерс. Наиболее эффективное использование С++. 35 новых рекомендаций по улучшению ваших программ и проектов. / Пер. с англ. М.: ДМК, 2000.
Брюс Эйкель. Философия Java. СПб.: Питер, 2001.
П. Ноутон, Г. Шилдт. Java 2. Наиболее полное руководство. СПб.: BHV, 2001.
Обьектно‑ориентированное программирование(2-й курс, 4-й сем., 64 ч., диф. Зачёт) Программа курса лекций(32 ч.)
Старший преподаватель Всеволод Юрьевич Рылов
Инструментальные средства ООП языка программирования Java
Виртуальная машина Java (2 часа).
История и предпосылки появления Java.
Понятие виртуальной машины. Среда исполнения и байт-код. Взаимодействие виртуальной машины с операционной системой.
Пространства классов. Структура приложений на Java. Загрузка классов и инициализация объектов.
Сферы применения Java в современном информационном мире.
Версии Java машины и их эволюция.
Средства ООП, непосредственно поддерживаемые в Java.
Простейшие приложение на Java.
Алгоритмические средства языка Java (1 час).
Строгая типизация Java.
Базовые типы языка. Строки и литералы.
Преобразования типов в выражениях.
Особенности инициализации массивов. Операторы управления памятью.
Краткий обзор операторов. Использование break.
Средства объектного программирования языка Java (3 часа).
Представление объектов и классов.
Структура объявления класса.
Доступ к членам класса.
Спецификаторы доступа для обеспечения инкапсуляции.
Спецификатор доступа final.
Средства управления жизнью объекта. Конструкторы и метод finalize().
Принципы работы сборщика мусора.
Работа с массивами объектов.
Статические поля и методы классов. Классы – утилиты.
Блок статической инициализации.
Принцип работы ClassLoader.
Реализация отношений между объектами и классами.
Ассоциация и агрегация объектов и классов.
Использование и зависимость от интерфейсов.
Объекты при передаче параметров и возврате из методов.
Реализация отношения Клиент – Сервер.
Внутренние классы.
Средства объектно-ориентированного программирования Java (6 часов).
Наследование в Java.
Производные классы.
Класс Object. Метод toString().
Управление доступом в производных классах.
Абстрактные классы и интерфейсы.
Реализация интерфейсов как альтернатива множественному наследованию.
Информация о типе на этапе исполнения. Оператор instanceof. Приведение типов.
Использование класса Class.
Пакеты.
Определение пакета.
Ограничение доступа.
Импортирование пакетов. Разрешение конфликтов имен.
Обработка исключений.
Основные принципы и типы исключительных ситуаций.
Перехват исключительных ситуаций. Операторы try, throw, throws, catch, finally.
Использование нескольких блоков catch и вложенный оператор try.
Не перехваченные исключительные ситуации.
Встроенные исключительные исключения Java. Классы Throwble и Exception.
Принципы создания и использования исключительных ситуаций.
Многопоточное программирование на Java. Параллелизм.
Модель потока в Java. Зависимость от реализации потока в операционной системе.
Свойства потока. Синхронизация. Передача сообщений.
Класс Thread и интерфейс Runnable.
Главный поток и способы создания потоков.
Управление потоками и приоритеты потоков.
Группы потоков.
Особенности написания многопоточных программ.
Использование синхронизирующих блоков и мониторов объектов. Синхронизированные методы объектов.
Взаимная блокировка.
Использование пула потоков.
Стандартная библиотека Java (8 часов).
Организация пакетов стандартной библиотеки Java. Пакеты java и javax.
Обработка строк.
Использование и методы класса String
Использование StringBuffer.
Пакет java.lang.
Структура и назначение.
Использование класса System. Управление средой исполнения.
Использование классов Number, Double, Integer, Character и др.
Класс Math.
Класс Compiler и класс ClassLoader.
Пакет java.util.
Общие принципы организации контейнеров и коллекций в Java.
Использование множеств и списков.
Использование отображений и ассоциативных контейнеров.
Итераторы и исключительные ситуации при работе с классами утилит.
Класс Properties.
Классы Date и Calendar.
Подсистема ввода вывода java.io.
Общие концепции организации ввода – вывода в библиотеке Java.
Проблема платформенной независимости и локализации.
Основные классы потоков ввода-вывода в Java и методы работы с ними.
Использование потоков ввода вывода при работе с файлами. Эффективность.
Концепция Reader и Writer. Управление локализацией.
Использование Tokenizer.
Пакет java.net.
Основы работы с сетью в Internet. Адресация.
Сокеты. Жизненный цикл сокета.
Работа с протоколом HTTP и класс URL.
Графическая подсистема Java. JFC (4 часа).
Классы AWT.
Основы работы с окнами. Component, Container, Panel, Window, Frame, Canvas.
Доставка и обработка событий в графической подсистеме. Механизм Listeners.
Создание программы с оконным интерфейсом. Рисование графических примитивов.
Использование управляющих элементов, диспетчеров компоновки и меню.
Связь классов AWT с оконным интерфейсом операционной системы.
Классы Swing.
Основные принципы графической системы Swing. Платформенная независимость, понятие Look&Feel.
Написание графического интерфейса с использованием Swing компонентов.
Работа с таблицами, текстом, диалогами и HTML.
Апплеты.
Основы работы с апплетом.
Жизненный цикл апплета.
Дескриптор APPLET.
Передача параметров и загрузка апплета.
Модель безопасности Java (2 часа).
Принципы организации и эволюция модели безопасности в Java.
SecurityManager. Инициализация и функции.
Права доступа. Управление и проверка прав доступа.
Исключительные ситуации.
Java Cryptography Extension
Алгоритмы шифрования. Ключи и цифровые подписи.
Программирование распределенных приложений (6 часов).
Принципы построения распределенных приложений.
Проблемы передачи объектов и синхронизации в распределенных приложениях.
Реализация сохраняемости.
Three-tier технология.
Уровень интерфейса.
Уровень бизнес логики.
Уровень сохранения.
Remote Method Invocation.
Основные принципы и протокол взаимодействия.
Интерфейс Remote и класс UnicastRemoteObject.
Класс Naming и rmiregistry сервис.
RMI сервер.
RMI клиент.
Модель безопасности, синхронизация и сборка мусора в распределенных RMI приложениях.
Механизм Activation.
Основы архитектурного анализа и проектирования объектно-ориентированных систем.
Правила дизайна классов и пакетов.
Паттерны проектирования.
Цикл разработки объектно-ориентированного приложения. RUP.