Опубликован: 19.08.2004 | Уровень: для всех | Доступ: платный | ВУЗ: Национальный исследовательский ядерный университет «МИФИ»
Введение в теорию программирования. Объектно-ориентированный подход Курс является вводным в объектно-ориентированное программирование и теоретический фундамент программирования. Курс лекций охватывает основные разделы программирования в приложении к объектно-ориентированным языкам программирования (теория вычислений, представление синтаксиса и семантики выражений, теория типов и др.).
Курс проиллюстрирован примерами, связывающими фундаментальные понятия теории с особенностями программирования на языке C# (типизация, наследование, инкапсуляция, полиморфизм, динамическое связывание и др.) и языке SML («ленивые» вычисления, расширенный полиморфизм, выводимость типов и т.д.). Базовые аспекты профессионального программирования излагаются в сравнении языков C# и SML на единой платформе Microsoft .NET.Сравнительное изучение языков программирования «нового поколения» SML и C# дает возможность более глубоко проникнуть в суть процесса создания программных систем.
Цель: Сравнительный анализ функционального и объектно-ориентированного подходов к программированию на основе универсальной среды вычислений.
Необходимые знания: Основы теории программирования (ламбда-исчисление, комбинаторная логика, теория вычислений Д.Скотта, абстрактные машины) и практического программирования на языке SML (синтаксис, семантика, типизация, рекурсия).

Microsoft DreamSpark

Бесплатные лицензионные инструменты разработки и дизайна для школьников, студентов, аспирантов и преподавателей.

Специальное предложение для студентов НОУ «ИНТУИТ».

 ...еще >>

План занятий

ЗанятиеЗаголовок <<Дата изучения
-
Лекция 1
21 минута
Вступительная лекция
Обзор истории развития научных направлений, сформировавших теоретическое основание курса.
Оглавление
    -
    Лекция 2
    27 минут
    Объектно-ориентированный подход к программированию
    Лекция посвящена роли и месту объектно-ориентированного подхода к программированию в общей классификации, его достоинствам и недостаткам, неформальному определению важнейших концепций объектно-ориентированного программирования.
    Оглавление
      -
      Тест 1
      15 минут
      -
      Лекция 3
      41 минута
      Платформа.NET и ее применение для объектно-ориентированного подхода к программированию
      В лекции рассматриваются вопросы, относящиеся к идеологии, технологии и обзору практических возможностей создания программных систем на основе Microsoft .NET – подхода к проектированию и реализации программного обеспечения. При этом подход .NET обсуждается в приложении к специфике объектно-ориентированного подхода к программированию.
      Оглавление
        -
        Тест 2
        15 минут
        -
        Лекция 4
        50 минут
        Основные понятия языка программирования C#
        В лекции обсуждаются вопросы, относящиеся к понятийному аппарату, истории развития, выразительным возможностям синтаксиса и особенностям реализации языка C# в сравнении с другими объектно-ориентированными языками программирования.
        Оглавление
          -
          Тест 3
          15 минут
          -
          Самостоятельная работа 1
          10 минут
          Разработка элементарных программ на языке программирования C#
          Цель: знакомство с базовыми особенностями языка программирования C# и разработки программ с использованием среды Microsoft Visual Studio .NET
          Оглавление
            -
            Лекция 5
            24 минуты
            Семантика основных конструкций языка программирования C#
            В данной лекции будут рассмотрены вопросы, относящиеся к понятийному аппарату и выразительным возможностям семантического представления формальных теорий и языков программирования. При этом основное внимание будет уделено сопоставлению семантики языков объектно-ориентированного и функционального программирования. В качестве примеров языков программирования будут выступать уже знакомый нам по предыдущему курсу язык SML и изучаемый нами язык C#.
            Оглавление
              -
              Тест 4
              15 минут
              -
              Лекция 6
              31 минута
              Основные понятия объектно-ориентированного подхода: объекты, классы и методы
              В данной лекции будут рассмотрены вопросы, относящиеся к идеологии, методологии и практике моделирования основных элементов объектно-ориентированного подхода к программированию посредством двухуровневой концептуализации. Особенности практической реализации основных аспектов концепции ООП описаны на примере языка программирования C#.
              Оглавление
                -
                Тест 5
                15 минут
                -
                Самостоятельная работа 2
                8 минут
                Объекты и классы
                Цель: ознакомление с основой объектного подхода в языке C#, созданием объектов, классов и механизмом наследования.
                Оглавление
                  -
                  Лекция 7
                  31 минута
                  Теория типов и типизация в .NET
                  В данной лекции будут рассмотрены вопросы, относящиеся к истории развития, идеологии, математическому основанию и обзору возможностей типизированной комбинаторной логики и теории типов - математической формализации, моделирующей типы выражений в языках программирования.
                  Оглавление
                    -
                    Тест 6
                    15 минут
                    -
                    Лекция 8
                    34 минуты
                    Концепция наследования и ее реализация в языке C#
                    В данной лекции будут рассмотрены вопросы, относящиеся к идеологии, математическому основанию и обзору возможностей наследования - одной из фундаментальных концепций, на которых базируется объектно-ориентированное программирование.
                    Оглавление
                      -
                      Тест 7
                      15 минут
                      -
                      Лекция 9
                      34 минуты
                      Концепция инкапсуляции и ее реализация в языке C#
                      В данной лекции будут рассмотрены вопросы, относящиеся к идеологии, математическому основанию и обзору возможностей инкапсуляции - одной из фундаментальных концепций, на которых базируется объектно-ориентированное программирование.
                      Оглавление
                        -
                        Тест 8
                        15 минут
                        -
                        Лекция 10
                        27 минут
                        Концепция полиморфизма и ее реализация в языке C#
                        В данной лекции будут рассмотрены вопросы, относящиеся к идеологии, математическому основанию и обзору возможностей полиморфизма - одной из фундаментальных концепций, на которых основано объектно-ориентированное программирование.
                        Оглавление
                          -
                          Тест 9
                          15 минут
                          -
                          Самостоятельная работа 3
                          7 минут
                          Полиморфные методы
                          Цель: Ознакомление с особенностями создания и применения полиморфных методов в языке программирования C#.
                          Оглавление
                            -
                            Лекция 11
                            29 минут
                            Расширенные возможности полиморфизма в языке C#
                            В данной лекции будут рассмотрены вопросы, относящиеся к идеологии, математическому основанию и обзору расширенных возможностей полиморфизма - одной из фундаментальных концепций, на которых основано объектно-ориентированное программирование.
                            Оглавление
                              -
                              Тест 10
                              15 минут
                              -
                              Самостоятельная работа 4
                              6 минут
                              Расширенные возможности языка программирования C#
                              Цель: ознакомление с расширенными возможностями языка программирования C# (интерфейсы и делегаты).
                              Оглавление
                                -
                                Лекция 12
                                48 минут
                                Событийно управляемое программирование в .NET
                                В данной лекции будут рассмотрены вопросы, относящиеся к идеологии, математическому основанию и обзору возможностей событийно управляемого проектирования и реализации программных систем - одного из важнейших аспектов современного объектно-ориентированного программирования.
                                Оглавление
                                  -
                                  Тест 11
                                  15 минут
                                  -
                                  Самостоятельная работа 5
                                  10 минут
                                  Событийно-ориентированное программирование
                                  Цель: ознакомление с особенностями реализации механизмов событийно-ориентированного программирования в языке C# (механизм обработки событий, исключительные ситуации).
                                  Оглавление
                                    -
                                    Лекция 13
                                    26 минут
                                    Компонентное программирование в .NET
                                    В данной лекции будут рассмотрены вопросы, относящиеся к идеологии и обзору возможностей компонентного проектирования и реализации программных систем - одного из важнейших и наиболее передовых подходов в современном программировании.
                                    Оглавление
                                      -
                                      Тест 12
                                      15 минут
                                      -
                                      Самостоятельная работа 6
                                      6 минут
                                      Проектирование и реализация гетерогенных приложений
                                      Цель: знакомство с проектированием и реализацией гетерогенных приложений для платформы .NET на примере совместного проекта из компонент на языках SML и C#.
                                      Оглавление
                                        -
                                        5 часов
                                        -