Учебно-методический комплекс учебной дисциплины «современные технологии разработки интерактивных приложений» федерального компонента подготовки магистров по направлению компьютерные обучающие системы icon

Учебно-методический комплекс учебной дисциплины «современные технологии разработки интерактивных приложений» федерального компонента подготовки магистров по направлению компьютерные обучающие системы


Смотрите также:
Учебно-методический комплекс учебной дисциплины «коммуникационные технологии» федерального...
Учебно-методический комплекс учебной дисциплины «компьютерные технологии в науке и образовании»...
Учебно-методический комплекс учебной дисциплины «теоретические основы информационных процессов»...
Учебно-методический комплекс дисциплины «компьютерные технологии в рекламе» Образовательная...
2.  Требования к результатам освоения основной образовательной программы магистратуры по...
Учебно-методический комплекс учебной дисциплины сдм...
Учебно-методический комплекс учебной дисциплины «Компьютерные технологии в науке и образовании»...
Учебно-методический комплекс по дисциплине Математика, информатика...
Учебно-методический комплекс учебной дисциплины «комплексный анализ хозяйственной деятельности»...
Учебно-методический комплекс учебной дисциплины «комплексный анализ хозяйственной деятельности»...
Учебно-методический комплекс учебной дисциплины «история зарубежной философии»(озо) федерального...
Учебно-методический комплекс учебной дисциплины «Информационные технологии» вузовского...



Загрузка...
скачать
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

РОССИЙСКОЙ ФЕДЕРАЦИИ


Государственное образовательное учреждение высшего профессионального образования


«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»


Факультет высоких технологий


Рассмотрено и одобрено

на заседании кафедры «Информационных и измерительных технологий»

Протокол №______

«____» _______________2008 г.

Зав. кафедрой _______________




УТВЕРЖДАЮ

Декан факультета

____________________

____________________

«_____» _______________2008 г.


^ УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС

Учебной дисциплины «СОВРЕМЕННЫЕ ТЕХНОЛОГИИ РАЗРАБОТКИ ИНТЕРАКТИВНЫХ ПРИЛОЖЕНИЙ»

федерального компонента подготовки магистров по направлению КОМПЬЮТЕРНЫЕ ОБУЧАЮЩИЕ СИСТЕМЫ


Составитель Семенова Н.С.


Ростов-на-Дону

2008
^

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА




Цели и задачи дисциплины


Целью изучения дисциплины "Современные технологии разработки интерактивных приложений" является теоретическая и практическая подготовка магистров в области компьютерных технологий в такой степени, чтобы они могли

а) осуществить осознанный выбор средств для решения своих профессиональных задач из всего многообразия современных методов и тенденций в разработке приложений,

б) умели их правильно и осмысленно эксплуатировать,

в) могли в полной мере использовать объектный подход к проектированию и разработке программных систем.

Основными задачами изучения дисциплины являются:

  • формирование у студентов современного мировоззрения в области технологий разработки программных продуктов;

  • знаний, необходимых для понимания идей новых технологий разработки интерактивных приложений;

  • использование современных технологий для самостоятельной разработки широкого спектра прикладных программных решений.


Место в учебном процессе

Дисциплина «Современные технологии разработки интерактивных приложений» основывается на знаниях, полученных студентами в процессе изучения по программе бакалавриата дисциплин "Информатика", "Информационные технологии", "Теория и технология программирования".

Дисциплина призвана обеспечить базовую подготовку для проведения научно-исследовательской работы в области компьютерных обучающих систем с использованием современных технологий программирования.

В последние годы появилось множество технологий, призванных облегчить разработку программных продуктов. Тем не менее, для решения большинства прикладных задач разработчику приходится применять сразу несколько технологий. А это требует освоения большого объема материала. Кроме того, часто различные технологии разрабатывались без расчета на совместное использование, что затрудняет их интеграцию.

Для решения этих проблем компанией Microsoft была разработана платформа .NET. Microsoft Framework .NET позволяет разработчикам в большей степени задействовать готовые технологии и решения. В частности Framework .NET предоставляет возможности повторного использования кода, многоязыковой разработки, управления ресурсами, позволяет создавать различные виды приложений: приложения Windows с графическим интерфейсом, Web-сайты, Web-сервисы и т.д., значительно упрощает развертывание и администрирование.

В рамках курса «Современные технологии разработки интерактивных приложений» архитектура Framework .NET рассматривается на основе языка C#. C# является полнофункциональным объектно-ориентированным языком программирования. Этот язык разрабатывался параллельно с Framework .NET и полной мере использует возможности этой платформы.

Требования к уровню освоения содержания

дисциплины


Студент должен

знать:

  • основные принципы объектно-ориентированной технологии программирования;

  • фундаментальные принципы и особенности архитектуры, лежащие в основе, платформы .NET;

  • синтаксис и семантику языка C#.


уметь:

  • использовать современные инструментальные средства проектирования и разработки программного продукта;

  • использовать объектный подход при проектировании и разработке программных систем,

  • самостоятельно разрабатывать программное обеспечение для решения широкого спектра прикладных задач, в том числе для задач научного характера.


иметь навыки:

- программирования, соответствующие актуальным тенденциям развития языков программирования,

- проектирования и разработки программного продукта на основе современной платформы .NET,

- тестирования, отладки и документирования программ.


Южный федеральный университет






Утверждаю

Декан

факультета высоких технологий


А.Е.Панич

«____»_________________2008 г.



^ РАБОЧАЯ ПРОГРАММА

по дисциплине

«Современные технологии разработки интерактивных приложений»

для магистратуры

«Компьютерные обучающие системы»


Факультет

Кафедра

Курс

Семестр

Лекции

Лабораторные работы

Практические работы

Самостоятельная работа

Итоговая аттестация:


Высоких технологий

Информационных и измерительных технологий

5

10

34 часа

17 часов



62 часа


10 семестр – Экзамен



Объем дисциплины и виды учебной работы




Раздел дисциплины

Лекции

ЛР

СР

1

2

3

5

4

Модуль №1. Основы программирования на С#. Основные типы. Описание классов.

1

Идеология и преимущества платформы .NET

2




1

2

Основы языка С#. Основные типы.

4

1

2

3

Определение класса. Члены класса. Конструкторы. Поля.

4

1

2

4

Методы. Перегрузка операторов. Свойства.

2

2

2

Модуль №2. Наследование. Дополнительные возможности классов

5

Наследование. Интерфейсы. Виртуальные методы.

3

1

2

6

Некоторые интерфейсы, встроенные в библиотеку базовых классов .Net. Коллекции. Обобщения

4

2

2

7

Делегаты. События.

3

1

1

Модуль №3. Разработка интерактивных приложений

8

Введение в Windows.Forms.

1




2

9

Работа с графикой.

1

1

2

10

Элементы управления.

2

2

4

11

Доступ к данным при помощи ADO.NET.




2

4

12

Ввод/вывод, сериализация объектов.

2

2

4

Модуль №4. Дополнительные средства CLR

13

Обработка исключений.

2




1

14

Жизненный цикл объекта. Управление памятью.

2




2

15

Регулярные выражения.




2

2

16

Потоки. Асинхронное выполнение. Синхронизация потоков.

2




1




Итого:

34 часа

17

часов

36

часа

Содержание дисциплины
^

Модуль №1. Основы программирования на С#. Основные типы. Описание классов.

Комплексная цель модуля №1


Познакомиться с архитектурой Framework .NET. Изучить инновационные возможности платформы.

Изучить системные типы CLR. И особенности работы с важнейшими из них.

Изучить синтаксис определения классов. Познакомиться с основными членами классов.

Содержание


1. Идеология и преимущества платформы .NET

Предмет дисциплины, ее построение, связь со смежными специальными дисциплинами, ее место в общей системе подготовки магистров.

Общеязыковая исполнительная среда (CLR). Промежуточный язык (IL). Межъязыковая интеграция. Независимость от платформы. Компиляция времени выполнения (JIT- компиляция). Общая система типов (CTS). Общеязыковая спецификация (CLS). Понятие сборки. Пространства имен и сборки


2. Основы языка С#. Основные типы.

Структура приложения на С#.

Структурные и ссылочные типы. Иерархия системных типов. Элементарные типы. Упаковка и распаковка. Приведение типов. Структурные переменные, позволяющие присваивание null.

Особенности работы со строками. Класс StringBuilder.

Работа с массивами.

Перечисления. Битовые флаги.


3. Определение класса. Члены класса. Конструкторы. Поля.

Члены класса. Видимость класса. Принцип инкапсуляции. Доступ к членам класса. Статические классы. Частичные классы.

Поля. Статические поля. Поля только для чтения. Константы.

Конструкторы. Статические конструкторы. Inline-инициализация и ее влияние на производительность.


4. Методы. Перегрузка операторов. Свойства.

Методы. Модификаторы для параметров методов.

Ссылка this. Перенаправление вызова конструкторов с использованием this.

Статические методы.

Перегрузка операторов. Перегрузка операторов приведения типа.

Свойства без параметров. Свойства только для чтения, только для записи, статические свойства.

Индексаторы.
^

Тесты Модуля №1





1. От какого типа производны все структурные типы?

1)

System.Int32;

2)

System.Object;

3)

System.Type;

4)

System.ValueType;

2. К ссылочным типам языка C# относятся:

1)

тип double;

2)

массивы;

3)

все арифметические типы, кроме типа double;

4)

структуры.

3. Если присваивание переменных x=y; допустимо, то обратное присваивание:

1)

всегда допустимо;


2)

всегда допустимо для переменных ссылочных типов;

3)

всегда допустимо для переменных значимых типов;

4)

может требовать явного преобразования типов.

    4. Если формальный аргумент метода объявлен как имеющий тип класса T, то фактический аргумент может быть:

1)

только типа T;

2)

типа, являющегося родителем типа T или типа T;

3)

типа, являющегося потомком типа T или типа T;

4)

типа object;


    5. Чему будет равно x в результате выполнения следующего фрагмента:

    int x=5; for(int i =1; i<5; i++); x+=5;

1)

    5;

2)

    25;

3)

    10;

4)

    30;

    6. В каких вызовах возникнет ошибка, если задано описание
    int x=1;

    int z=0;

    int p(int x, out int y){…}

    1)

    x=p(77,z);

    2)

    p(77+z, z);

    3)

    x=p(77+z, z);

    4)

    x= p(77, 77+z);

7. Укажите, какие из перечисленных слов являются модификаторами доступа в C# (укажите все правильные ответы):

1)

public

2)

default

3)

static

4)

owner

5)

protected

6)

friendly

8.Укажите правильную запись перегрузки оператора явного преобразования объекта класса ComplexClass в double:

1)

public static explicit operator double (ComplexClass A)

2)

public override operator double (ComplexClass A)

3)

public implicit operator double (ComplexClass A)

4)

public operator double (ComplexClass A)



^

Модуль №2. Наследование. Дополнительные возможности классов.

Комплексная цель модуля №2


Изучить, как реализуется наследование в C#.

Изучить, какими средствами реализуется полиморфное поведение классов в C#.

Изучить дополнительные возможности классов: делегаты, события

Содержание



5. Наследование. Виртуальные методы. Интерфейсы.

Поддержка наследования в С#. Запрет наследования: sealed классы. Применение модели включение-делегирование.

Понятие полиморфизма. Виртуальные методы. Как реализуются вызовы статических, экземплярных и виртуальных методов.

Абстрактные классы. Абстрактные методы.

Наследование и интерфейсы. Определение интерфейсов. Явная реализация методов интерфейса. Структурные типы и интерфейсы.

Что лучше: базовый класс или интерфейс?


7. Некоторые интерфейсы, встроенные в библиотеку базовых классов .Net. Коллекции. Обобщения.

Интерфейсы IComparable, IClonable, IEnumerable и IEnumerator. Пространство имен System.Collections.

Обобщения в библиотеке FCL. Обобщенные классы. Обобщенные интерфейсы. Обобщенные делегаты. Обобщенные методы. Верификация и ограничения.


6. Делегаты. События.

Делегаты. Внутреннее устройство делегатов. Прямая и обратная ковариация ссылочных типов. Использование делегатов для обратного вызова нескольких методов (цепочки делегатов). Упрощенный синтаксис работы с делегатами. Анонимные методы. Некоторые методы класса System.Delegate.

События. Создание типа, поддерживающего событие. Класс EventArgs. Входные и выходные аргументы события. Определение класса отслеживающего событие. Обработчик события. Связывание обработчика с событием. Отключение обработчика.
^

Тесты Модуля №2





  1. Отметьте истинное высказывание:

1)

    класс с модификатором sealed не может иметь потомков;

2)

    класс с модификатором sealed не может иметь родительских классов;

3)

    класс с модификатором sealed может иметь несколько родительских классов;

4)

    класс с модификатором sealed не может переопределять методы родительского класса.

  1. В родительском классе описан метод

    public void M(int x) {}.

    Какие объявления в классе потомке не вызовут ошибки или предупреждения на этапе компиляции?

1)

    public override void M(int x) {}

2)

    public void M(int x){}

3)

    public new void M(int x, int y){}

4)

    private new void M(int x){}

  1. Что будет выведено на экран при вызове метода DoIt в объекте класса B?
    public class A
    {
       protected void Write()
       {
          Console.WriteLine("A");
       }
       public void DoIt()
       {
          this.Write();
       }
    }

    public class B: A
    {
       protected new void Write()
       {
         Console.WriteLine("B");
       }
    }


1)

A

2)

B

3)

AB

4)

Ошибка компиляции

  1. Ключевое слово interface в языке C# задает описание:

1)

    частного случая класса;

    2)

    открытой части класса;

3)

    интерфейса;

    4)

    абстрактного класса.

  1. Какой интерфейс должен реализовывать класс, чтобы объекты данного класса можно было использовать в конструкции foreach?

1)

IComparable

2)

ICollection

3)

IList

4)

IEnumerable и IEnumerator

  1. В каком фрагменте кода возникнут ошибки (предупреждения) на этапе компиляции:

1)

    class B { }

    class S : B { }




2)

    class Test1:IComparable{

    public T x, y;

    }

3)

    class B1 {

    public T M(T x) { return x; }

    }

4)

    public class B2 {

    public T1 M(T1 x)

    { return x; }

    }

  1. Что означает следующее ограничение на параметр-тип обобщенного класса:

    public class Test where T : new{…}

1)

Это ограничение гарантирует, что аргумент тип будет ссылочного типа;

2)

Это ограничение конструктора, оно гарантирует, что аргумент будет неабстрактного типа, реализующего открытый конструктор без параметров;

3)

Это ограничение конструктора, оно гарантирует, что аргумент будет неабстрактного типа, реализующего не больше одного конструктора;

4)

Это ошибка. Таких ограничений нет.


^

Модуль №3. Разработка интерактивных приложений

Комплексная цель модуля №3


Изучить возможности для создания интерактивных приложений, предоставляемые интегрированной средой разработки MS Visual Studio .NET.

Изучить средства доступа к данным при помощи классов ADO.NET.

Изучить средства ввода/вывода и сериализации объектов.

Содержание




8. Введение в Windows.Forms.

Организация графического интерфейса. Классы Control, ScrollableControl и ContainerControl. Класс Form.

Организация меню. Строка состояния. Панель инструментов.

Наследование форм.


9. Работа с графикой.

Пространство имен GDI+. Система координат по умолчанию. Применение альтернативных единиц измерения. Пространство имен System.Drawing. Работа с цветом. Работа с шрифтами. Кисти и перья. Вывод изображений.


10. Элементы управления.

Иерархия классов элементов управления. Добавление элемента управления на форму. Основные элементы управления: TextBox, Button, CheckBox, RadoiButton, ListBox, ComboBox, TrackBar, UpDown, MonthCalendar, GroupBox, Panel, ToolTips. Управление положением элемента управления на форме.


11. Доступ к данным при помощи ADO.NET.

Пространство имен ADO.NET. Типы пространства имен System.Data. Классы DataRow, DataTable, DataView, DataSet.

Работа с управляемым провайдером SQL. Построение команды SQL. Выполнение команды. Выполнение хранимых процедур. Класс SqlDataAdapter.


12. Ввод/вывод, сериализация объектов.

Пространство имен System.IO. Классы Directory и DirectoryInfo. Классы File и FileInfo.

Работа с потоками. Абстрактный класс Stream. Класс FileStream. Классы StreamWriter и StreamReader. Работа с двоичными данными (классы BinaryWriter и BinaryReader).

Интерфейсы IClonable, ISerializable. Поверхностное и глубокое клонирование и сериализация. Сохранение и обмен данными.
^

Тесты Модуля №3





  1. 1. Классы Control, Form и ListBox связаны следующими отношениями наследования:

1)

класс Control является наследником класса Form;

2)

класс ListBox является наследником класса Form;

3)

Классы Form и ListBox являются наследниками класса классы Control;

4)

классы Control и Form не связаны отношением наследования.

2. Вложенный класс ControlCollections класса форм:

1)

Содержит ссылки на все элементы управления, расположенные на форме;

2)

Содержит ссылку на активный в данный момент (имеющий фокус ввода) элемент управления;

3)

Содержит ссылки только на видимые (свойство Visible равно true) элементы управления;

4)

Содержит ссылки только на невидимые (свойство Visible равно false) элементы управления;

3. Для того чтобы, открыть форму как модальное окно нужно:

1)

Использовать для открытия окна метод ShowDialog();

2)

Использовать для открытия окна метод Show() с параметром ControlStyles.Modal

3)

Методом SetStyle() установить стиль формы равным ControlStyles.Modal

4)

В .NET не существует модальных окон.

4. Какое свойство объекта SqlCommand задает время, в течение которого он будет пытаться выполнить команду, прежде чем будет сгенерирована исключительная ситуация?

1)

CommandLength

2)

MaxDuration

3)

CommandTimeout

4)

CommandDuration

5. Какие значения из перечисленных не может принимать свойство RowState объекта DataRow?

1)

Changed

2)

Modified

3)

Deleted

4)

New

6. Какой метод выполнит команду и вернет первый столбец первой строки первого результирующего набора данных?

1)

ExecuteNonQuery()

2)

ExecuteScalar()

3)

ExecuteReader()

4)

ExecuteCommand()

7. Какой метод объекта SqlTransaction успешно завершает транзакцию?

1)

BeginTransaction

2)

Commit

3)

EndTransaction

4)

Rollback

8. Будет ли класс B, объявленный ниже, сериализуем (serializable)?

[Serializable]
class A
{
    ...
}

class B: A
{
    ...
}


1)

Да

2)

Нет


^

Модуль №4. Дополнительные средства CLR




Комплексная цель модуля №4


Изучить дополнительные средства CLR: обработку исключений, средства опримизации работы сборщика мусора.

Содержание




13. Обработка исключений.

Обработка исключений. Генерация исключений. Перехват исключений. Блок finally. Класс System.Exception. Создание пользовательских исключений. Обработка исключений и производительность.


14. Жизненный цикл объекта. Управление памятью.

Жизненный цикл объектов. Алгоритм сбора мусора. Завершение ссылки на объект. Принудительная очистка ресурсов. Оператор using языка C#. Оптимизация сборки мусора.


15. Регулярные выражения.

Регулярные выражения. Пространство RegularExpressions и его классы. Разбор текстов и поиск по образцу. Свойства и методы класса Regex и других классов, связанных с регулярными выражениями. Примеры применения регулярных выражений.


16. Потоки. Асинхронное выполнение. Синхронизация потоков.

Использование потоков Windows в C#. Пространство имен System.Threading. Пул потоков. Модель асинхронного программирования.

Синхронизация потоков.
^

Тесты Модуля №4





  1. Отметьте истинное высказывание:

1)

    у класса Exception нет потомков;




2)

    у класса Exception фиксированное число потомков;

3)

    нельзя создавать собственные классы – потомки класса Exception;




4)

    является родительским классом для всех классов, задающих СLR-совместимое исключение;

  1. try-блок:

1)

    если в нем возникает исключительная ситуация, то блок завершается;

2)

    запрещает появление исключительных ситуаций;

3)

    обрабатывает возникающие в нем исключительные ситуации;

4)

    если блок завершается, то в нем возникает исключительная ситуация.

    3. Блоки catch:

1)

    всегда должны следовать за блоком try;




2)

    получают управление при возникновении исключительной ситуации и выполняются в порядке их следования;

3)

    только один из блоков, следующих за try-блоков, получает управление вычислениями;




4)

    после корректировки причины, вызвавшей исключение, при достижении конца блока возвращают управление в точку возникновения исключения.

  1. Что будет выведено на консоль?
    public class A: IDisposable
    {
       public void Dispose()
       {Console.Write("A ");  }
    }
    public class B: IDisposable
    {
       public void Dispose()
       { Console.Write("B ");  }
    }
    class MainClass
    {
       static void Main(string[] args)
       {
          using(A a = new A(), B b = new B())
          {
              // ...
          }
       }
    }


1)

A B

2)

B A

3)

B B

4)

Код не скомпилируется

5. Для того чтобы заместить метод Object.Finalize() в классе необходимо:

1)

Чтобы в классе был реализован интерфейс IDisposable;

2)

Задать новую реализацию метода с помощью ключевого слова new;

3)

Реализовать в определении класса деструктор;

4)

В С# запрещено замещать метод Finalize().

6. Ключевое слово lock позволяет:

1)

Заблокировать блок кода таким образом, чтобы в каждый отдельный момент времени его мог использовать только один поток

2)

Заблокировать блок кода таким образом, чтобы его можно было выполнить только с правами администратора

3)

Заблокировать блок кода таким образом, чтобы к нему не могли получить доступ объекты других классов

4)

В C# нет такого ключевого слова


Лабораторные работы


Тема

Часов

1

2

3

1


Знакомство с интегрированной средой разработки MS Visual Studio .NET. Разработка элементарных программ на языке программирования C#.

2

2


Разработка классов. Наследование. Полиморфное поведение классов.

2

3


Событийно-ориентированное программирование. Определение класса, поддерживающего события.

2

4


Коллекции. Разработка обобщенного класса.

2

5


Разработка интерактивных приложений с богатым графическим интерфейсом.

3

6


Ввод и вывод. Сериализация объектов.

2

7


Работа с регулярными выражениями.

2

8


Доступ к данным при помощи ADO.Net

2


ИТОГО:

17 часов


Методические указания по выполнению лабораторных работ

Лабораторная работа №1. Знакомство с интегрированной средой разработки MS Visual Studio .NET. Разработка элементарных программ на языке программирования C#.

Для выполнения лабораторной работы необходимо изучить следующие темы:

  • Иерархия системных типов.

  • Разделение типов на ссылочные и структурные.

  • Элементарные типы.

  • Синтаксис описания класса.

  • Члены класса.


Лабораторная работа №2. Разработка классов. Наследование. Полиморфное поведение классов.

Для выполнения лабораторной работы необходимо изучить следующие темы:

  • Синтаксис описания класса.

  • Поля.

  • Константы.

  • Конструкторы.

  • Методы. Модификаторы для параметров методов.

  • Свойства.

  • Перегрузка операторов.

  • Индексаторы.

  • Поддержка наследования в С#.

  • Виртуальные методы.

Лабораторная работа №3. Событийно-ориентированное программирование. Определение класса, поддерживающего события.

Для выполнения лабораторной работы необходимо изучить следующие темы:

  • Делегаты.

  • Упрощенный синтаксис работы с делегатами.

  • Анонимные методы.

  • События.

  • Создание типа, поддерживающего событие.

  • Класс EventArgs.

  • Определение класса отслеживающего событие.

  • Обработчик события.

  • Связывание обработчика с событием. Отключение обработчика.


Лабораторная работа №4. Коллекции. Разработка обобщенного класса.

Для выполнения лабораторной работы необходимо изучить следующие темы:

  • Пространство имен System.Collections.

  • Обобщенные классы.

  • Обобщенные методы.

  • Верификация и ограничения.


Лабораторная работа №5. Разработка интерактивных приложений с богатым графическим интерфейсом.

Для выполнения лабораторной работы необходимо изучить следующие темы:

  • Класс Form.

  • Организация меню.

  • Строка состояния.

  • Панель инструментов.

  • Пространство имен System.Drawing.

  • Основные элементы управления: TextBox, Button, CheckBox, RadoiButton, ListBox, ComboBox, TrackBar, UpDown, MonthCalendar, GroupBox, Panel, ToolTips.


Лабораторная работа №6. Ввод и вывод. Сериализация объектов.

Для выполнения лабораторной работы необходимо изучить следующие темы:

  • Пространство имен System.IO.

  • Классы File и FileInfo.

  • Работа с потоками. Абстрактный класс Stream.

  • Класс FileStream.

  • Интерфейс ISerializable.


Лабораторная работа №7. Работа с регулярными выражениями.

Для выполнения лабораторной работы необходимо изучить следующие темы:

  • Регулярные выражения.

  • Пространство имен RegularExpressions и его классы.

  • Разбор текстов и поиск по образцу.

  • Свойства и методы класса Regex и других классов, связанных с регулярными выражениями.


Лабораторная работа №8. Доступ к данным при помощи ADO.Net.

Для выполнения лабораторной работы необходимо изучить следующие темы:

  • Типы пространства имен System.Data.

  • Классы DataRow, DataTable, DataView, DataSet.

  • Работа с управляемым провайдером SQL. Построение и выполнение команды SQL.

  • Класс SqlDataAdapter.



Самостоятельная работа студентов


Индивидуальная самостоятельная работа студентов включает в себя проработку лекционного материала с использованием учебников и учебных пособий, подготовку к лабораторным работам, подготовку к экзамену.

На каждую 2-часовую лекцию в рамках самостоятельной работы предусмотрено 1 час индивидуальной подготовки студентов для закрепления лекционного материала, а также изучения некоторых вопросов заданных лектором для самостоятельного изучения.

На подготовку к лабораторным занятиям и контрольным мероприятиям планируется 20-25 часов самостоятельной работы.

Предполагается самостоятельное изучение тем:

  1. “Массивы с ненулевой нижней границей”,

  2. “Небезопасный код. Работа с указателями”,

  3. "Применение атрибутов. Создание пользовательских атрибутов",

  4. "Рефлексия типов".

На изучение дополнительного материала планируется 15-20 часов в рамках самостоятельной работы.


Информационно-методическое обеспечение


Основная литература

  1. Рихтер Дж. Программирование на платформе Microsoft .Net Framework 2.0 на языке С#. Мастер-класс. / Пер. с англ. – 2-е изд., исправ. – М.: Издательско-торговый дом «Русская редакция»; СПб.: Питер, 2007. – 656 стр.: ил.

  2. Троелсен Э. С# и платформа .Net. Библиотека программиста. – СПб.: Питер, 2007. – 796 стр.: ил.

  3. Робинсон С., Корнес О., Глин Д. и др. C# для профессионалов. Том I,II. – М.: «Лори»

  4. Платт Д. Знакомство с Microsoft .NET.- 2001 г.- 240 стр., ил.

  5. Программирование для Microsoft .NET. Дж. Просиз, 2002 г., 704 стр.

  6. Программирование для MS Windows на C#. том 1/2. Ч. Петцольд, 2002 г. - 624 стр., ил.

  7. Сеппа Д. Microsoft ADO.NET. - 2003 г., 640 стр., ил.

  8. Разработка Windows-приложений на MS VB .NET и MS VC# .NET. Учебный курс Сертификационный экзамен №№70-306, 70-316.

  9. Федотов А.А. Microsoft Visual Studio 2008. Краткий обзор ключевых новинок. - М: «Русская редакция», 2008. – 175c., ил.


Дополнительная литература

  1. Visual C#. NET Step by Step, Microsoft Press, 2003.

  2. Вилле К. Представляем Си Шарп. ДМК Пресс, 2001.

  3. Робинсон У. C# без лишних слов. ДМК Пресс, 2002.

  4. Культин Н. Б. C# в задачах и примерах – СПб.: «БХВ-Петербург», 2007, 241c.

  5. Гуннерсон Э. Введение в C#

  6. Шилдт Г. C#: учебный курс. СПб.: Питер.

  7. Дейтел Х. C#. Наиболее полное руководство. – СПб.: «БХВ-Петербург», 2006, 1056 c.

  8. Дубовцев А.- Microsoft .NET. Наиболее полное руководство
    – СПб.: «БХВ-Петербург», 2004, 700 c.

  9. Кристиан Нейгел, Билл Ивьен, Джей Глинн, Морган Скиннер, Карли - C# 2005 и платформа .NET 3.0 для профессионалов. Издательство: Диалектика, 2008.

  10. Морган С. - Разработка распределенных приложений на платформе Microsoft .Net Framework. – СПб.: Питер, 2007, 580 c.

  11. Нортроп Т. - Разработка клиентских Windows-приложений на платформе Microsoft .Net Framework. – СПб.: Питер, 2008, 602 c.

  12. Нортрап Т., Вилдермьюс Ш., Райан Б. - Разработка клиентских веб-приложений на платформе Microsoft .Net Framework. Учебный курс Microsoft. Экзамен 70-528– СПб.: Питер, 2007, 864 c.

  13. Бишоп Дж., Хорспул Н. C# в кратком изложении. Издательство: Бином. Лаборатория знаний, 2005, 472c.

  14. Агуров П.В. - C#. Сборник рецептов. – СПб.: «БХВ-Петербург», 2007, 432 c.

  15. Жарков В. А. - Компьютерная графика, мультимедиа и игры на Visual C# 2005. Издательство: Жарков Пресс, 2005, 812 c.

  16. Симон Робинсон, Олли Корнес, Джей Глинн, Бартон Харвей, Крейг Макквин, Джерод Моемека, Кристиан Нагель, Морган Скиннер, Карли Ватсон.C# для профессионалов. в 2 томах. Издательство: Лори, 2005, 1164 c. Год: 2005
    Страниц: 1164

  17. Карли Ватсон и др. C# - Издательство: Лори, 2005, 879 c.

  18. Марченко А. Л. Основы программирования на C# 2.0
    БИНОМ. Лаборатория знаний, Интернет-университет информационных технологий - ИНТУИТ.ру, 2007

  19. Кариев Ч.А. Разработка Windows-приложений на основе Visual C#.
    БИНОМ. Лаборатория знаний, Интернет-университет информационных технологий - ИНТУИТ.ру, 2007

  20. Биллиг В.А. Основы программирования на C#. Интернет-университет информационных технологий - ИНТУИТ.ру, 2006

  21. http://www.microsoft.com/Rus/Msdnaa/Curricula/ - Библиотека учебных курсов



Материально - техническое обеспечение дисциплины


Компьютерный класс ПЭВМ типа Pentium 4 со следующим программным обеспечением:

– операционная система MS Windows 98, ME, 2000, XP, 2003;

– среда разработки MS Visual Studio .NET;

  • сервер баз данных MS SQL.

Вопросы для текущего контроля знаний студентов


  1. Что понимается под термином «.NET Framework»?

  2. Возможно ли создание многоязычных приложений в среде .NET?

  3. Что означает аббревиатура «CLR»?

  4. Приведите обобщенный синтаксис объявления переменной на языке C#.

  5. Что означает «JIT- компиляция»?

  6. Что такое IL?

  7. Каковы основные отличия структурных и ссылочных типов в языке C#?

  8. Перечислите пять элементарных типов языка C#.

  9. Что понимается под термином «упаковка»?

  10. Приведите синтаксис условного оператора в общем виде. Проиллюстрируйте его фрагментом программы на языке C#.

  11. Приведите синтаксис оператора выбора в общем виде. Проиллюстрируйте его фрагментом программы на языке C#.

  12. Приведите синтаксис цикла for в общем виде. Проиллюстрируйте его фрагментом программы на языке C#.

  13. Приведите синтаксис цикла foreach в общем виде. Проиллюстрируйте его фрагментом программы на языке C#.

  14. Приведите синтаксис цикла while в общем виде. Проиллюстрируйте его фрагментом программы на языке C#.

  15. Приведите синтаксис цикла do-while в общем виде. Проиллюстрируйте его фрагментом программы на языке C#.

  16. Приведите синтаксис определения перечислимого типа в общем виде в общем виде. Проиллюстрируйте его фрагментом программы на языке C#.

  17. К структурным или ссылочным типам относятся перечисления?

  18. Какие типы могут использоваться для задания значений перечислимого типа?

  19. Каким атрибутом необходимо помечать битовые флаги?

  20. Какой класс является базовым для всех массивов?

  21. Приведите синтаксис определения одномерного массива в общем виде в общем виде. Проиллюстрируйте его фрагментом программы на языке C#.

  22. Приведите синтаксис определения двумерного массива в общем виде в общем виде. Проиллюстрируйте его фрагментом программы на языке C#.

  23. Приведите синтаксис определения вложенного массива в общем виде в общем виде. Проиллюстрируйте его фрагментом программы на языке C#.

  24. Осуществляет ли CLR контроль выхода за границу массива?

  25. Какой класс определяет изменяемые строки?

  26. Что понимается под термином «пространство имен»?

  27. Благодаря какому механизму удается избежать коллизий имен в языке C#?

  28. Какие модификаторы используются для задания видимости класса?

  29. Какие элементы определяются в составе класса?

  30. Каково соотношение понятий «класс» и «объект»?

  31. Какие модификаторы доступа к членам класса Вам известны?

  32. В чем заключаются особенности доступа членов класса с модификатором public?

  33. В чем заключаются особенности доступа членов класса с модификатором private?

  34. В чем заключаются особенности доступа членов класса с модификатором protected?

  35. В чем заключаются особенности доступа членов класса с модификатором internal?

  36. В чем состоит различие между константами уровня класса и полями только для чтения?

  37. В чем состоит особенность статических полей класса?

  38. В чем состоит назначение конструктора?

  39. Сколько конструкторов может содержать класс языка C#?

  40. Зачем нужен статический конструктор класса?

  41. Каким значением инициализируются по умолчанию значения ссылочного типа?

  42. Какие модификаторы для параметров методов Вы знаете?

  43. В чем состоят отличия между out и ref параметрами методов?

  44. Чем отличаются статические методы от экземплярных?

  45. Что такое this?

  46. Что такое свойство?

  47. Как создать свойство только для чтения?

  48. Что такое индексатор?

  49. Приведите синтаксис описания наследования классов в общем виде. Проиллюстрируйте его фрагментом программы на языке C#.

  50. Что понимается под термином «полиморфизм»?

  51. Какие механизмы используются в языке C# для реализации концепции полиморфизма?

  52. Что понимается под термином «виртуальный метод»?

  53. Какие условия определяют выбор версии виртуального метода?

  54. Что означает термин «переопределенный метод»?

  55. Приведите сигнатуру метода для перегрузки оператора == в общем виде.

  56. Какое ключевое слово указывает компилятору, что переопределяется оператор неявного приведения типа?

  57. В чем заключаются особенности абстрактных классов?

  58. Возможно ли создание объектов абстрактного класса?

  59. Являются ли абстрактные методы виртуальными?

  60. Разрешено ли в С# множественное наследование классов?

  61. Что понимается под термином «интерфейс»?

  62. Какие объекты языка C# могут быть членами интерфейсов?

  63. Может ли класс реализовывать несколько интерфейсов?

  64. Может ли интерфейс содержать реализацию методов?

  65. Приведите синтаксис явной реализации метода интерфейса в общем виде. Проиллюстрируйте его фрагментом программы на языке C#.

  66. Каким образом можно вызвать метод интерфейса, который был явно реализован в классе?

  67. Приведите синтаксис определения обобщенного класса в общем виде. Проиллюстрируйте его фрагментом программы на языке C#.

  68. Приведите синтаксис определения обобщенного метода в общем виде. Проиллюстрируйте его фрагментом программы на языке C#.

  69. Как ограничить параметр-тип обобщения ссылочным типом?

  70. Как ограничить параметр-тип обобщения типами производными от Stream?

  71. Что понимается под термином «делегат»?

  72. Что является значением делегата?

  73. Приведите синтаксис делегата в общем виде. Проиллюстрируйте его фрагментом программы на языке C#.

  74. Какие операторы языка C# используются для создания цепочки методов для многоадресных делегатов?

  75. Что понимается под термином «событие»?

  76. Являются ли события членами классов?

  77. Какое ключевое слово языка C# используется для описания событий?

  78. Приведите синтаксис описания события в общем виде. Проиллюстрируйте его фрагментом программы на языке C#.

  79. Какой системный класс является базовым для создания класса, объекты которого передаются как аргументы события?

  80. Что понимается под термином «исключение»?

  81. Какие операторы языка C# используются для обработки исключений?

  82. Приведите синтаксис блока trycatch в общем виде. Проиллюстрируйте его фрагментом программы на языке C#.

  83. Зависит ли вызов блока finally от типа исключения?

  84. Какой оператор языка C# используется для явной генерации исключений?

  85. Какой системный класс является базовым для создания пользовательских исключений?

  86. В чем состоит назначение директивы using?

  87. Приведите синтаксис директивы using в общем виде. Проиллюстрируйте его фрагментом программы на языке C#.

  88. Перечислите наиболее важные свойства класса Control.

  89. Перечислите наиболее важные методы класса Control.

  90. Перечислите наиболее важные события класса Control.

  91. Перечислите наиболее важные свойства класса Form.

  92. Перечислите наиболее важные методы класса Form.

  93. Перечислите наиболее важные события класса Form.

  94. Какие изменения формы могут привести к генерации события Paint?

  95. При помощи какого метода можно инициализировать перерисовку формы?

  96. Какая система координат (точка отсчета и единица измерения) используется в GDI+ по умолчанию?

  97. Что возвращает свойство Controls формы?

  98. Каково назначение метода InitializeComponents()?

  99. В чем состоит отличие между окнами, для открытия которых использовались методы Show() и ShowDialog()?

  100. Что такое модальное окно?

  101. Что означает термин «сериализация»?

  102. Каким атрибутом помечаются сериализуемые классы?

  103. При помощи какого атрибута можно исключить из сериализации некоторые данные класса?

  104. При помощи какого класса осуществляется сериализация объектов в двоичном формате?

  105. При помощи какого класса осуществляется сериализация объектов в формате SOAP?

  106. Что означает аббревиатура «APM»?

  107. Почему использование пула потоков для выполнения асинхронных операций в общем случае эффективнее, чем использование выделенного потока?

  108. Какие методы “стыковки” потоков приняты в модели APM?

  109. Какие средства для синхронизации потоков предоставляет C#?

Экзаменационные вопросы по дисциплине

«Современные технологии разработки интерактивных приложений»


  1. Основы архитектуры .NET: общеязыковая исполнительная среда (CLR), промежуточный язык (IL).

  2. Основы архитектуры .NET: компиляция времени выполнения (JIT- компиляция), общая система типов (CTS).

  3. Основы архитектуры .NET: общеязыковая спецификация (CLS).

  4. Понятие сборки.

  5. Работа с пространствами имен.

  6. Структура приложения на С#.

  7. Иерархия системных типов.

  8. Структурные и ссылочные типы.

  9. Элементарные типы.

  10. Упаковка и распаковка структурных типов.

  11. Приведение типов.

  12. Структурные переменные, позволяющие присваивание null.

  13. Особенности работы со строками.

  14. Свойства и методы класса StringBuilder.

  15. Одномерные массивы. Свойства и методы класса System.Array.

  16. Многомерные массивы.

  17. Вложенные массивы.

  18. Перечисления. Методы класса System.Enum для работы с перечислимыми типами.

  19. Битовые флаги.

  20. Описание класса. Видимость класса.

  21. Принцип инкапсуляции. Доступ к членам класса.

  22. Статические классы.

  23. Поля. Статические поля. Поля только для чтения.

  24. Константы.

  25. Конструкторы класса.

  26. Статические конструкторы класса.

  27. Inline-инициализация и ее влияние на производительность.

  28. Методы. Модификаторы для параметров методов.

  29. Ссылка this.

  30. Статические методы.

  31. Перегрузка операторов.

  32. Перегрузка операторов приведения типа.

  33. Свойства без параметров. Свойства только для чтения, только для записи, статические свойства.

  34. Индексаторы.

  35. Поддержка наследования в С#. Запрет наследования: sealed классы.

  36. Понятие полиморфизма. Виртуальные методы.

  37. Абстрактные классы. Абстрактные методы.

  38. Обобщенные классы.

  39. Обобщенные методы.

  40. Верификация и ограничения для параметров-типов обобщений.

  41. Делегаты. Внутреннее устройство делегатов.

  42. Использование делегатов для обратного вызова нескольких методов (цепочки делегатов).

  43. Упрощенный синтаксис работы с делегатами. Анонимные методы.

  44. События.

  45. Обработка исключений.

  46. Создание пользовательских исключений.

  47. Жизненный цикл объектов. Алгоритм сбора мусора.

  48. Завершение ссылки на объект.

  49. Принудительная очистка ресурсов.

  50. Оператор using языка C#.

  51. Класс Control.

  52. Классы ScrollableControl и ContainerControl.

  53. Класс Form.

  54. Организация меню.

  55. Создание строки состояния.

  56. Добавление на форму панели инструментов.

  57. Система координат по умолчанию. Применение альтернативных единиц измерения.

  58. Работа с цветом.

  59. Работа с шрифтами.

  60. Кисти и перья.

  61. Вывод изображений.

  62. Работа с объектами класса DataRow.

  63. Работа с объектами класса DataTable.

  64. Работа с объектами класса DataView.

  65. Работа с объектами класса DataSet.

  66. Работа с объектами класса SqlCommand. Построение команды SQL. Выполнение команды. Выполнение хранимых процедур.

  67. Работа с объектами класса SqlDataAdapter.

  68. Классы Directory и DirectoryInfo.

  69. Классы File и FileInfo.

  70. Работа с потоками. Абстрактный класс Stream.

  71. Класс FileStream.

  72. Классы StreamWriter и StreamReader.

  73. Работа с двоичными данными (классы BinaryWriter и BinaryReader).

  74. Сериализация объектов.

  75. Регулярные выражения. Разбор текстов и поиск по образцу. Примеры применения регулярных выражений.

  76. Эффективное использование потоков. Пулы потоков.

  77. Использование выделенного потока для выполнения асинхронных операций.

  78. Периодическое выполнение асинхронных операций.

  79. Модель асинхронного программирования.

  80. Стыковка потоков с использованием ожидания завершения. Пример применения.

  81. Стыковка потоков с использованием регулярного опроса. Пример применения.

  82. Стыковка потоков с использованием обратного вызова метода. Пример применения.

  83. Синхронизация потоков. Семейство Interlocked-методов.

  84. Синхронизация потоков. Класс Monitor и блоки синхронизации.




Скачать 387,17 Kb.
оставить комментарий
Семенова Н.С
Дата29.09.2011
Размер387,17 Kb.
ТипУчебно-методический комплекс, Образовательные материалы
Добавить документ в свой блог или на сайт

Ваша оценка этого документа будет первой.
Ваша оценка:
Разместите кнопку на своём сайте или блоге:
rudocs.exdat.com

Загрузка...
База данных защищена авторским правом ©exdat 2000-2017
При копировании материала укажите ссылку
обратиться к администрации
Анализ
Справочники
Сценарии
Рефераты
Курсовые работы
Авторефераты
Программы
Методички
Документы
Понятия

опубликовать
Загрузка...
Документы

наверх