Програмиране за .NET Framework (CS292T)
Едносеместриален изборен курс (0+3+3) за студенти от ФМИ на СУ
Българска асоциация на разработчиците на софтуер, председател, www.nakov.com
BSH, технически директор, MCSD.NET+Security, MCT, b.giurovbsh-bg.com
Sciant, ръководител на проекти, MCSD.NET, george.ivanovsciant.com
CodeAttest, изпълнителен директор, MCSD.NET, martinkulov.net
ГИС София, софтуерен разработчик, mihail.stoynovgis-sofia.bg
Metalife A.G., софтуерен разработчик, ivaylo.hristovmetalife.de
- Увод в програмирането (CS101)
- Обектно-ориентирано програмиране (CS102)
- Бази данни (CS270)
- Операционни системи и компютърни мрежи (CS226)
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); Преобразуване на типовете.
5. Делегати и събития
Делегати и multicast делегати; Събития.
6. Атрибути
Използване на атрибути; Създаване на собствени атрибути.
7. Масиви и колекции
Масиви; Назъбени и многомерни масиви; Сортиране; Колекции; Списъци, речници, хеш-таблици, сортирани списъци.
8. Символни низове
Символни низове; Построяване на символни низове (StringBuilder); Форматиращи низове; Unicode, кодиращи схеми, глобализация, интернационализация.
9. Регулярни изрази
Езикът на регулярните изрази; Търсене, извличане, валидиране и заместване на текст чрез регулярни изрази.
10. Управление на паметта и ресурсите
Динамична памет (managed heap) и система за почистване на паметта (garbage collection); Деструктори и финализация.
11. Вход/изход
Потоци, четци и писачи (streams, readers and writers); Файлове и директории.
12. Работа с XML
Основни XML концепции (well-formed XML, пространства от имена, DTD, XSD, XML парсери); XML класове (DOM класовете и XmlReader); Валидация на XML; XPath и XSL трансформация.
13. Достъп до данни с ADO.NET
Основни концепции и класове (Connection, Command, DataReader, DataAdapter, CommandBuilder); DataSet, таблици, релации, views, constraints; Силно-типизирани data sets; Data sets и XML; Утвърдени практики при работа с ADO.NET.
14. Windows Forms
Програмният модел на Windows Forms; Основни класове (Component, Control, ScrollableControl, ContainerControl); Форми и диалози; Основни контроли (Label, TextBox, Button); Добавяне на контроли към формите; Прихващане на събития; Други контроли (менюта, status bars, ленти с инструменти); Data binding и контролата DataGrid; Потребителски-дефинирани контроли.
15. ASP.NET и Web-приложения
Програмен модел на ASP.NET, Web форми и Web контроли, основни класове; Кодът за страниците (code behind); Модел за изпълнение на страниците; Модел за изпълнение на Web-приложенията; Основни Web-контроли; Прихващане на събития; Валидация; Управление на сесията; Контроли за работа с данни (DataGrid и DataView); Потребителски-дефинирани контроли.
16. Многонишково програмиране и синхронизация
Многонишково програмиране (multithreading); Асинхронно изпълнение; Асинхронен вход/изход; Синхронизация на нишки; Класически синхронизационни проблеми.
17. Мрежово и Интернет програмиране
Основни мрежови концепции (TCP/IP, протоколи, услуги); TCP и UDP сокети; Достъп до Интернет ресурси; Класове за работа с e-mail.
18. Reflection
Достъп до метаданните в асемблитата; Извикване на методи.
19. Сериализация на данни
Автоматична и потребителски-дефинирана сериализация на данни; XML и бинарна сериализация.
20. Web-услуги
Основни концепции за Web-услугите – моделът „заявка-отговор”, SOAP, UDDI и WSDL; Използване на Web-услуги; Асинхронно извикване на Web-услуги; Създаване на Web-услуги, публикуване на методи.
21. Remoting
Канали и форматиращи класове (channels and formatters); Активация и деактивация; Жизнен цикъл на обектите; Модели за активация; Marshalling; Предоставяне на отдалечени обекти; Използване на отдалечени обекти; Конфигуриране.
22. Взаимодействие с неуправляван код
Извикване на функции от DLL библиотеки; Взаимодействие с COM.
23. Асемблита и deployment
Асемблита и метаданни, версии, силни имена, частни и споделени асемблита; Модули; Global Assembly Cache (GAC); Преносими изпълними файлове (portable executables).
24. Сигурност
Сигурност при достъпа до кода (code access security); Сигурност, базирана на роли (role-based security); подписване на асемблита.
понеделник – 18-21 ч., зала 210, Хим. факултет
вторник – 18-21 ч., зала 210, Хим. факултет
4.10.2004 (понеделник) – 18 ч., зала 210, Хим. факултет
Посетете сайта на курса: http://www.nakov.com/dotnet/