За курса
Учебна програма
Лекции
Проект 1
Проект 2
Форум
Intro Java book

Учебна програма

1.   Архитектура на .NET Framework

Архитектура на .NET платформата; Архитектура на .NET Framework; Common language Runtime (CLR); Intermediate Language (IL); Модел на изпълнение на .NET приложенията; Application domains; Common Language Specification (CLS); Common Type System (CTS); Интеграция на различни езици; Средата за разработка Visual Studio .NET.

2.   Въведение в езика C#

Примитивни типове данни; Изброен тип; Константи; Изрази; Програмни конструкции; Конструкции за управление (if, for, while, do .. while, foreach).

3.   Обектно-ориентирано програмиране в .NET

Класове и интерфейси; Структури; Конструктори, методи, полета, видимост на членовете; Наследяване и полиморфизъм; Свойства, индексатори, оператори; Статични методи и конструктори; Пространства от имена; Управление на изключенията.

4.   Обща система от типове – Common Type System (CTS)

Класът System.Object, сравнение на типове, хеш-кодове, копиране на обекти; Стойностни и референтни типове, опаковане и разопаковане (boxing & unboxing); Преобразуване на типовете. Частични типове. Нулеви типове. Сродни типове (generics).

5.   Делегати и събития

Делегати и multicast делегати; Събития.

6.   Атрибути

Използване на атрибути; Създаване на собствени атрибути.

7.   Масиви и колекции

Масиви; Назъбени и многомерни масиви; Сортиране; Колекции; Списъци, речници, хеш-таблици, сортирани списъци.

8.   Символни низове

Символни низове; Построяване на символни низове (StringBuilder); Форматиращи низове; Unicode, кодиращи схеми, глобализация, интернационализация.

9.   Вход/изход

Потоци, четци и писачи (streams, readers and writers); Файлове и директории.

10.   Достъп до данни с ADO.NET

Основни концепции и класове (Connection, Command,  DataReader, DataAdapter, CommandBuilder); DataSet, таблици, релации, views, constraints; Силно-типизирани data sets; Data sets и XML; MARS; Транзакции. Утвърдени практики при работа с ADO.NET.

11.   Windows Forms

Програмният модел на Windows Forms; Основни класове (Component, Control, ScrollableControl, ContainerControl); Форми и диалози; Основни контроли (Label, TextBox, Button); Добавяне на контроли към формите; Прихващане на събития; Други контроли (менюта, status bars, ленти с инструменти); Свързване с данни и DataGridView контрола; Потребителски-дефинирани контроли; Разпространение с ClickOnce; Манифест; Работа с асинхронни заявки.

12.   ASP.NET и Web-приложения

Програмен модел на ASP.NET, Web форми и Web контроли, основни класове; Код на страници (code behind); Модел за изпълнение на страниците; Модел за изпълнение на Web-приложенията; Основни Web-контроли; Прихващане на събития; Валидация; Управление на сесията; Контроли за работа с данни (DataGrid и DataView); Потребителски-дефинирани контроли. Модел на компилация. Master страници. Теми. Източници на данни и свързване с данни. Сигурност. Кеширане. Глобализация и поддръжка на езикови версии.

13.   Регулярни изрази

Езикът на регулярните изрази; Търсене, извличане, валидиране и заместване на текст чрез регулярни изрази.

14.   Управление на паметта и ресурсите

Динамична памет (managed heap) и система за почистване на паметта (garbage collection); Деструктори и финализация.

15.   Работа с XML

Основни XML концепции (well-formed XML, пространства от имена, DTD, XSD, XML парсери); XML класове (DOM класовете и XmlReader); Валидация на XML; XPath и XSL трансформация.

16.   Многонишково програмиране и синхронизация

Многонишково програмиране (multithreading); Асинхронно изпълнение; Асинхронен вход/изход; Синхронизация на нишки; Класически синхронизационни проблеми.

17.   Мрежово и Интернет програмиране

Основни мрежови концепции (TCP/IP, протоколи, услуги); TCP и UDP сокети; Достъп до Интернет ресурси; Класове за работа с e-mail. Потоци за удостоверяване.

18.   Отражение на типовете (Reflection)

Достъп до метаданните в асемблитата; Извикване на методи.

19.   Сериализация на данни

Автоматична и потребителски-дефинирана сериализация на данни; XML и бинарна сериализация. Компресиране.

20.   Web-услуги

Основни концепции за Web-услугите – моделът „заявка-отговор”, SOAP, UDDI и WSDL; Използване на Web-услуги; Асинхронно извикване на Web-услуги; Създаване на Web-услуги, публикуване на методи. Профилът WS-I Basic Profile 1.0.

21.   Remoting

Канали и форматиращи класове (channels and formatters); Активация и деактивация; Жизнен цикъл на обектите; Модели за активация; Marshalling; Предоставяне на отдалечени обекти; Използване на отдалечени обекти; Удостоверяване и защита; Конфигуриране.

22.   Взаимодействие с неуправляван код

Извикване на функции от DLL библиотеки; Взаимодействие с COM; Класовете SafeHandle и CriticalHandle.

23.   Асемблита и deployment

Асемблита и метаданни, версии, силни имена, частни и споделени асемблита; Модули; Global Assembly Cache (GAC); Преносими изпълними файлове (portable executables). Конфигуриране и разпространение.

24.   Сигурност в .NET Framework

Сигурност при достъпа до кода (code access security); Сигурност, базирана на роли (role-based security); подписване на асемблита; Работа с X.509 сертификати; Data Protection API (DPAPI).

25.   Моно – имплементация на .NET с отворен код

Запознаване с Mono; Инсталиране и конфигуриране на Mono; Средства за разработка; Запознаване с основните възможности на .NET под Mono.

26.   Инструменти за .NET разработчици

Запознаване с най-използваните помощни инструменти като напр. .NET Reflector, FxCop, CodeSmith, NUnit, log4net, NAnt.