Опубликован: 27.09.2006 | Уровень: для всех | Доступ: платный | ВУЗ: Московский государственный индустриальный университет
В первой части курса происходит знакомство с языком программирования Java, и строится теоретическая база, необходимая для изложения последующего материала. Во второй части излагаются практические методы построения правильных программ небольшого объема. Третья часть посвящена введению в объектно-ориентированное программирование, основам реализации базовых структур данных и рассмотрению небольших программных проектов, являющихся прототипами реальных задач, которые позже будут рассматриваться в курсах по теории компиляции, вычислительной геометрии и компьютерной графики.
Изложение ведется на достаточно высоком уровне абстракции с постоянным привлечением материала из параллельно изучаемого блока математических дисциплин. Наличие в книге большого числа разобранных задач на программирование, решения которых изложены достаточно подробно и всегда завершаются построением текста итоговой программы, позволяет отнести книгу к категории "практически полезных" студенту, а значительное число задач для самостоятельного решения - преподавателю.
Цель: Пособие предназначено для студентов первого курса специальностей "Прикладная математика и информатика", "Математическое обеспечение и администрирование информационных систем" и "Прикладная информатика", однако оно может быть полезно всем тем, кто желает познакомиться с методами проектирования программ, приобрести практические навыки программирования в малом и получить начальное предствление о методах объектно-ориентированного программирования на языке Java.
План занятий
Занятие | Заголовок << | Дата изучения |
---|---|---|
- | ||
Лекция 126 минут | Алгоритмы и программы
Предмет науки программирования. Пример и свойства алгоритма. Парадигмы программирования (директивное, объектно-ориентированное и функционально-логическое программирование).
Оглавление | - |
Тест 136 минут | - | |
Лекция 21 час 4 минуты | Основы языка Java
Java - язык ООП. Свойства объектно-ориентированных языков программирования. Основные свойства объектно-ориентированных программ. Типы, переменные и операторы. Использование и реализация класса Xterm. Логические и условные операторы.
Оглавление | - |
Тест 236 минут | - | |
Лекция 31 час 22 минуты | Высказывания и предикаты
Значение предикатов для программиста. Синтаксис языка предикатов. Семантика предикатов. Расширение понятия предиката. Приоритеты и ассоциативность операторов языка Java.
Оглавление | - |
Тест 336 минут | - | |
Лекция 442 минуты | Особенности представления чисел в ЭВМ
Представление информации в компьютере. Целые числа. Вещественные числа. Арифметические и побитовые операторы языка Java. Числа произвольной длины и точности.
Оглавление | - |
Тест 436 минут | - | |
Лекция 51 час 3 минуты | Рекурсия, итерация и оценки сложности алгоритмов
Рекурсия и итерация. Особенности рекурсивных программ. Java и циклические конструкции. Основы оценок сложности алгоритмов. Массивы в языке Java. Исключительные ситуации и работа с последовательностями.
Оглавление | - |
Тест 536 минут | - | |
Лекция 61 час 3 минуты | Спецификация программ и преобразователь предикатов
Предикаты и документирование программ. Спецификация программы и преобразователь предикатов wp. Определение простейших операторов языка Java. Оператор if и слабейшее предусловие. Циклы в терминах wp. Вычисление слабейшего предусловия.
Оглавление | - |
Тест 636 минут | - | |
Лекция 71 час 15 минут | Базисные схемы обработки информации
Группы задач на написание программ. Рекурсия и итерация. Инвариант и ограничивающая функция цикла. Схема вычисления инвариантной функции. Функции на пространстве последовательностей.
Оглавление | - |
Тест 736 минут | - | |
Лекция 81 час 7 минут | Проектирование цикла при помощи инварианта
Условия правильности цикла. Теория воздушного шарика. Устранение конъюнктивного члена. Замена константы переменной. Расширение области значения переменной.
Оглавление | - |
Тест 836 минут | - | |
Лекция 91 час 26 минут | Индуктивные функции на пространстве последовательностей
Критерий индуктивности и стационарные значения. Индуктивные расширения. Критерий минимальности. Применение теории индуктивных функций.
Оглавление | - |
Тест 936 минут | - | |
Лекция 101 час 51 минута | Основы объектно-ориентированного программирования
Применение ООП к разработке программных проектов. Основные концепции ООП. Классы и объекты и их свойства в языке Java. Контейнеры и их реализация на базе вектора. Словарик ООП.
Оглавление | - |
Тест 1036 минут | - | |
Лекция 111 час 31 минута | Проект "Выпуклая оболочка"
Постановка задачи. Проектирование сверху вниз. Аналитическая геометрия и программирование. Реализация класса Polygon. Аплеты и работа с ними. Текст эталонного проекта.
Оглавление | - |
Тест 1136 минут | - | |
Лекция 121 час 46 минут | Проект "Компилятор формул"
Стековый калькулятор. Грамматики языка правильных арифметических формул. Рекурсивный компилятор формул. Стековый компилятор формул. Интерпретатор арифметических выражений. Тексты эталонных проектов.
Оглавление | - |
Тест 1236 минут | - | |
Лекция 131 час 53 минуты | Изображение полиэдра
Постановка задачи. Проектирование основных классов. Работа с тенями от граней. Некоторые технологические вопросы и оптимизация. Полный текст проекта.
Оглавление | - |
Тест 1336 минут | - | |
Дополнительный материал2 часа 8 минут | Все задачи курса
Данная статья содержит задачи на: составление алгоритмов, программирование, предикаты, особенности представления чисел в ЭВМ, рекурсию и итерацию, массивы, последовательности.
Оглавление | - |
5 часов | - |