Опубликован: 27.09.2006 | Уровень: для всех | Доступ: свободно | ВУЗ: Московский государственный индустриальный университет
Основы информатики и программирования В первой части курса происходит знакомство с языком программирования Java, и строится теоретическая база, необходимая для изложения последующего материала. Во второй части излагаются практические методы построения правильных программ небольшого объема. Третья часть посвящена введению в объектно-ориентированное программирование, основам реализации базовых структур данных и рассмотрению небольших программных проектов, являющихся прототипами реальных задач, которые позже будут рассматриваться в курсах по теории компиляции, вычислительной геометрии и компьютерной графики.
Изложение ведется на достаточно высоком уровне абстракции с постоянным привлечением материала из параллельно изучаемого блока математических дисциплин. Наличие в книге большого числа разобранных задач на программирование, решения которых изложены достаточно подробно и всегда завершаются построением текста итоговой программы, позволяет отнести книгу к категории "практически полезных" студенту, а значительное число задач для самостоятельного решения - преподавателю.
Цель: Пособие предназначено для студентов первого курса специальностей "Прикладная математика и информатика", "Математическое обеспечение и администрирование информационных систем" и "Прикладная информатика", однако оно может быть полезно всем тем, кто желает познакомиться с методами проектирования программ, приобрести практические навыки программирования в малом и получить начальное предствление о методах объектно-ориентированного программирования на языке Java.

План занятий

ЗанятиеЗаголовок <<Дата изучения
-
Лекция 1
26 минут
Алгоритмы и программы
Предмет науки программирования. Пример и свойства алгоритма. Парадигмы программирования (директивное, объектно-ориентированное и функционально-логическое программирование).
Оглавление
    -
    Тест 1
    36 минут
    -
    Лекция 2
    1 час 4 минуты
    Основы языка Java
    Java - язык ООП. Свойства объектно-ориентированных языков программирования. Основные свойства объектно-ориентированных программ. Типы, переменные и операторы. Использование и реализация класса Xterm. Логические и условные операторы.
    Оглавление
      -
      Тест 2
      36 минут
      -
      Лекция 3
      1 час 22 минуты
      Высказывания и предикаты
      Значение предикатов для программиста. Синтаксис языка предикатов. Семантика предикатов. Расширение понятия предиката. Приоритеты и ассоциативность операторов языка Java.
      Оглавление
        -
        Тест 3
        36 минут
        -
        Лекция 4
        42 минуты
        Особенности представления чисел в ЭВМ
        Представление информации в компьютере. Целые числа. Вещественные числа. Арифметические и побитовые операторы языка Java. Числа произвольной длины и точности.
        Оглавление
          -
          Тест 4
          36 минут
          -
          Лекция 5
          1 час 3 минуты
          Рекурсия, итерация и оценки сложности алгоритмов
          Рекурсия и итерация. Особенности рекурсивных программ. Java и циклические конструкции. Основы оценок сложности алгоритмов. Массивы в языке Java. Исключительные ситуации и работа с последовательностями.
          Оглавление
            -
            Тест 5
            36 минут
            -
            Лекция 6
            1 час 3 минуты
            Спецификация программ и преобразователь предикатов
            Предикаты и документирование программ. Спецификация программы и преобразователь предикатов wp. Определение простейших операторов языка Java. Оператор if и слабейшее предусловие. Циклы в терминах wp. Вычисление слабейшего предусловия.
            Оглавление
              -
              Тест 6
              36 минут
              -
              Лекция 7
              1 час 15 минут
              Базисные схемы обработки информации
              Группы задач на написание программ. Рекурсия и итерация. Инвариант и ограничивающая функция цикла. Схема вычисления инвариантной функции. Функции на пространстве последовательностей.
              Оглавление
                -
                Тест 7
                36 минут
                -
                Лекция 8
                1 час 7 минут
                Проектирование цикла при помощи инварианта
                Условия правильности цикла. Теория воздушного шарика. Устранение конъюнктивного члена. Замена константы переменной. Расширение области значения переменной.
                Оглавление
                  -
                  Тест 8
                  36 минут
                  -
                  Лекция 9
                  1 час 26 минут
                  Индуктивные функции на пространстве последовательностей
                  Критерий индуктивности и стационарные значения. Индуктивные расширения. Критерий минимальности. Применение теории индуктивных функций.
                  Оглавление
                    -
                    Тест 9
                    36 минут
                    -
                    Лекция 10
                    1 час 51 минута
                    Основы объектно-ориентированного программирования
                    Применение ООП к разработке программных проектов. Основные концепции ООП. Классы и объекты и их свойства в языке Java. Контейнеры и их реализация на базе вектора. Словарик ООП.
                    Оглавление
                      -
                      Тест 10
                      36 минут
                      -
                      Лекция 11
                      1 час 31 минута
                      Проект "Выпуклая оболочка"
                      Постановка задачи. Проектирование сверху вниз. Аналитическая геометрия и программирование. Реализация класса Polygon. Аплеты и работа с ними. Текст эталонного проекта.
                      Оглавление
                        -
                        Тест 11
                        36 минут
                        -
                        Лекция 12
                        1 час 46 минут
                        Проект "Компилятор формул"
                        Стековый калькулятор. Грамматики языка правильных арифметических формул. Рекурсивный компилятор формул. Стековый компилятор формул. Интерпретатор арифметических выражений. Тексты эталонных проектов.
                        Оглавление
                          -
                          Тест 12
                          36 минут
                          -
                          Лекция 13
                          1 час 53 минуты
                          Изображение полиэдра
                          Постановка задачи. Проектирование основных классов. Работа с тенями от граней. Некоторые технологические вопросы и оптимизация. Полный текст проекта.
                          Оглавление
                            -
                            Тест 13
                            36 минут
                            -
                            Дополнительный материал 
                            2 часа 8 минут
                            Все задачи курса
                            Данная статья содержит задачи на: составление алгоритмов, программирование, предикаты, особенности представления чисел в ЭВМ, рекурсию и итерацию, массивы, последовательности.
                            Оглавление
                              -
                              5 часов
                              -
                              Анастасия Халудорова
                              Анастасия Халудорова
                              екатерина яковлева
                              екатерина яковлева