Telerik Academy

Сподели тази страница

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


0. Въведение в курса

Тема Структура

Въведение в курса

  • Предмет на курса, програма, изпити, домашно, лекции, упражнения
  • Въведение в Team Foundation Server (TFS)
  • Ядро на .Net - Основи
2 лекции

1. Ядро на .Net - Основи

Тема Структура

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

  • Среда за контролирано изпълнение на програмен код (CLR)

  • Междинният език MSIL

  • Създаване, компилиране и изпълнение на .NET приложения

  • Асемблита и .NET Framework модел на изпълнение

2 лекции
1 домашно

Обектно-ориентирано моделиране UML (лекции: 2, упражнения: 2, домашно: 2)

  • Основи на софтуерното моделиране и UML нотация
  • UML use-case диаграми на потребителския случай: actors, потребителски случаи и взаимовръзки
  • UML клас диаграми: моделиране на класове, структури, обекти и интерфейси; идентифициране на класове и членове; идентифициране поведение на класове; асоциации, агрегации, многочисленост и генерализация
  • UML диаграми за последователност: lifelines, актьори, съобщения, активация
  • UML state-chart диаграми: състояния и преходи
  • UML диаграми на активност: действия, потоци, условия, паралелизъм
  • Modeling Projects във Visual Studio
2 лекции
2 упражнения
1 домашно

Индексатори, оператори, шаблони, Namespaces

  • Интерфейси и изрични имплементации
  • Дефиниране и употреба на индексатори
  • Дефиниране на оператори
  • Шаблонни методи и шаблонни класове
  • Namespaces
2 лекции
2 упражнения
2 домашни

Допълнителни възможности за C#

  • Разширяващи методи
  • Анонимни типове
  • LINQ заявки - ключови думи
  • Lambda изрази
2 лекции
2 упражнения
4 домашни

Обща система от типове (CTS) и System.Object

  • Йерархия на вградените типове
  • Клониране на обекти и ICloneable
  • Имплементиране на IComparable
  • Типове по стойност и типове по референция; Представяне на данните в паметта
  • Йерархия на вградените типове
  • Опаковане и разопаковане на типове по стойност
  • Предаване на аргументи по стойност, по референция и като изходни (in, out и ref параметри)
  • Nullable типове
2 лекции
2 упражнения
4 домашни

Компонентно тестване с Visual Studio Team Test

  • Unit тестване - основи
  • Концепции за тестване: обичайни случаи, гранични случаи, тестове за натовареност (load tests)
  • Употреба на Visual Studio Team Test (TT)
  • Създаване и изпълнение на тестови сценарии
  • Атрибути, поддръжка, очаквани изключения, обхват на кода
2 лекции
6 упражнения
4 домашни

Работа с изключения

  • Работа с изключения
  • Прихващане и предизвикване на изключения
  • Дефиниране и употреба на собствени класове за изключения
1 лекция
1 упражнение
2 домашни

Масиви и манипулация на масиви

  • Създаване, инициализация и употреба на масиви
  • Назъбени и многомерни масиви
  • Стандартни алгоритми за масиви: сортиране, двоично търсене, отпечатване
1 лекция
1 упражнение
4 домашни

Атрибути

  • Употреба на атрибути, параметри на атрибутите
  • Дефиниране на собствени атрибути
1 лекция
1 упражнение
4 домашни

Низове, форматиране, култури и Encodings

  • Unicode стандарт
  • Символи, низове и обработка на низове: създаване, долепване, извличане на поднизове, търсене, сравнение и разделяне; създаване и промяна на низове със StringBuilder
  • Низове, числа и форматиране на дати
  • Култури и интернационализация
  • Извличане на числа и дати
  • Encodings и преобразуване
2 лекции
2 упражнения
4 домашни

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

  • Език на регулярни изрази – литерали и мета-символи, класове символи, символи за брой, символи за групиране и др.
  • Начин за употреба на регулярните изрази в .NET Framework
  • Търсене, извличане, валидиране, разделяне и заместване на текст от регулярни изрази
2 лекции
2 упражнения
4 домашни

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

  • Дефиниране и употреба на делегати и събития
  • Анонимни делегати
  • Предикати
  • Generic делегати за прехващане на събития
1 лекция
1 упражнение
3 домашни

Памет и управление на ресурсите

  • Управление на паметта, динамична памет (managed heap) и garbage collection
  • Управление на ресурси, IDisposable и финализатори
1 лекция
1 упражнение
2 домашни

Вход/изход

  • Двоични потоци и текстови потоци
  • Файлови потоци
  • Файлове и директории
  • Бази данни, SQL Server, LINQ и XML
2 лекции
2 упражнения
4 домашни

2. Бази данни, SQL Server, LINQ и XML

Тема Структура

Релационни бази данни – Основни концепции

  • Бази данни - основни концепции: системи бази данни, релационни бази данни

  • Таблици, връзки, множественост, първични ключове, външни ключове, E/R диаграми, нормализация

  • Ограничения на бази данни, индекси, views, triggers, stored procedures

  • Транзакции в базата данни

2 лекции
1 домашно

Въведение в SQL Server

  • Въведение в Microsoft SQL Server
  • Употреба на SQL Server Management Studio
1 лекция
2 домашни

Моделиране на данни и E/R диаграми

  • Моделиране на бази данни и entity/relationship диаграми
  • Типове данни в SQL Server
  • Създаване на E/R модели чрез SQL Server Management Studio
1 лекция
2 упражнения
4 домашни

Въведение в SQL езика – Част 1

  • Език за манипулация на данни (DML): SELECT, INSERT, UPDATE и DELETE конструкции
  • Joining на таблици, inner и outer join
2 лекции
2 упражнения
4 домашни

Въведение в SQL езика– Част 2

  • Вложени заявки
  • Агрегиращи функции и групи
  • Език за дефиниране на данни (DDL): CREATE, ALTER, DROP конструкции
2 лекции
3 упражнения
5 домашни

Въведение в Transact-SQL

  • Въведение в T-SQL
  • Запазени процедури, функции и triggers
  • Управление на транзакции
2 лекции
2 упражнения
4 домашни

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

  • ADO.NET архитектура: източници на данни, свързани, несвързани и ORM модели данни
  • Употреба на свързан модел данни: връзки, команди, четци на данни
  • Употреба на SQL Server източник на данни
  • Управление на транзакциите (Transaction, TransactionScope)
  • Източник на данни OLDDB
  • Най-добри практики за употреба на ADO.NET
2 лекции
2 упражнения
8 домашни

LINQ to SQL

  • Въведение в ORM технологиите (свързване на стойности на два обекта)
  • Въведение в LINQ to SQL
  • Употреба на Visual Studio LINQ to SQL Designer
  • Употреба на DataContext
  • Четене на данни от LINQ to SQL
  • Създаване, актуализация и изтриване на данни от LINQ to SQL
1 лекция
2 упражнения
4 домашни

Въведение в XML

  • Основни XML концепции
  • Добре форматиран XML, namespaces
  • XML схеми: DTD и XSD
  • XML parsers: DOM, SAX и StAX
1 лекция
1 упражнение
2 домашни

Обработка на XML в .NET Framework

  • Обработка на XML в .NET Framework
  • Употреба на DOM parser (XmlDocument): извличане, обработка, модифициране и създаване на XML документи
  • Употреба на високоефективния streaming parser: XmlReader и XmlWriter
  • Заявки към XML документи с XPath
  • Осъществяване на XSL трансформации
  • LINQ към XML
2 лекции
4 упражнения
6 домашни

Междинен изпит #1 – Бази данни и XML

Практически изпит – няколко практически проблема (70% са необходими за преминаване на изпита). Курсистите, които не успеят да вземат изпита си, имат право да се явят на поправка - седмица по-късно. Курсистите, които не успеят да преминат успешно поправката, напускат курса.

8 проблема
8 проверки

3. Кратко въведение в ASP.NET и уеб разработката

Тема Структура

Основи на уеб програмирането и HTTP протокола

  • HTTP протокол; Request-response модел;
  • World Wide Web (WWW) инфраструктура; URI и URL
  • Основи на уеб програмирането, уеб сървъри, уеб браузъри
1 лекция

HTML Основи

  • HTML основи: форматиращи тагове, изображения, хиперлинкове, списъци
2 лекции
1 упражнение
4 домашни

HTML Fundamentals – Таблици и форми

  • HTML таблици: колони, редове, клетки, cellspacing, cellpadding, colspan, rowspan
  • HTML форми и основни контроли: текстови полета, select, радио бутони, check boxes, бутони, бутони с изображения
1 лекция
2 упражнения
3 домашни

Cascading Style Sheets (CSS)

  • Създаване и употреба на CSS файлове
  • Употреба на Firebug и IE Developer Toolbar
2 лекции
1 упражнение
4 домашни

JavaScript Основи

  • Употреба на JavaScript езика – първи стъпки
  • DOM обектен модел
  • Events модел
  • Манипулиране на HTML DOM дървото: достъп до прозорец, документ, екран, история, location, form полета
  • Дебъгване на JavaScript
2 лекции
2 упражнения
4 домашни

jQuery Fundamentals

  • Употреба на jQuery библиотеката – първи стъпки
  • DOM модел
  • Модел на събитията
  • Methods Chaining
  • jQuery UI
2 лекции
2 упражнения
4 домашни

Създаване на уеб сайтове с HTML и CSS

  • Slice'n'Dice
  • Създаване на HTML и CSS
1 лекция
2 упражнения
6 домашни

ASP.NET архитектури

  • Въведение в ASP.NET
  • Уеб форми; уеб контроли; Code-behind;
1 лекция
1 упражнение
2 домашни

ASP.NET уеб форми

  • ASP.NET уеб форми
  • Code-behind страници
  • ASP.NET синтаксис: директиви, атрибути, изрази, блокове с код, server-side коментари, сървър контроли, binding expressions, др.
1 лекция
1 упражнение
3 домашни

ASP.NET уеб контроли и HTML контроли

  • ASP.NET HTML сървър контроли
  • ASP.NET Web сървър контроли
  • HTML escaping
2 лекции
2 упражнения
3 домашни

ASP.NET свързване на данни и контроли за свързване на данни

  • Свързване на данни в ASP.NET
  • DataBind(), Eval() и Bind() методи и DataBinder класове
  • Източници на данни: SqlDataSource, LinqDataSource, ObjectDataSource
  • Контроли за свързване на данни
  • GridView и неговите полета (BoundField, TemplateField и др.), сортиране, странициране, редактиране на място
  • FormView, DetailsView, DataList, Repeater, ListView, Pager
  • Употреба на ObjectDataSource с Linq-to-Entities, ListView и FormView – стъпка по стъпка
3 лекции
3 упражнения
1 домашно

ASP.NET теми за напреднали

  • Управление на сесии
  • Контроли за валидация
  • Употреба на Master и Content страници
  • ASP.NET AJAX
  • ASP.NET AJAX Toolkit

Междинен изпит #2 – Windows Forms и ASP.NET

Практически изпит – няколко практически проблема (70% необходими за преминаване на изпита). Курсистите, които не успеят да вземат изпита, имат право да се явят втори път - седмица по-късно. Курсистите, които не успеят да минат поправката, напускат курса.

10 проблема
8 проверки

4. Кратко въведение в Windows Presentation Foundation (WPF)

Тема Структура

Въведение в WPF и XAML

  • Какво е Windows Presentation Foundation (WPF)?
  • WPF основни възможности: богат текстов модел, векторни графики, анимация, поддръжка на аудио и видео, стилове и темплейти, команди, декларативен потребителски интерфейс с XAML
  • WPF архитектура
  • Основи на XAML
1 лекция

XAML текст и графики

  • Въведение в XAML графиките
  • XAML модел на рисуване
  • Основни графически обекти: форми, четки и химикалки
  • Оснони форми: правоъгълник, елипса, черта и др.
  • Bitmaps и изображения
  • Текстови контроли: текстови прозорци и  потокови документи
  • Текстови елементи в обектното моделиране: inline text, block text, фигури, изображения
2 лекции
4 упражнения
4 домашни

Създаване на елементарен WPF проект

  • Типове WPF приложения
  • Създаване на WPF проект във Visual Studio
  • Работа с контроли
  • Усвояване на събития
1 лекция
1 упражнение
3 домашни

Основни WPF контроли

  • Контроли в WPF
  • Текстови контроли: Label, TextBox, RichTextBox
  • Бутони: Button, ToggleButton, CheckButton, RadioButton
  • Списъчни контроли: ComboBox, TabContol and tabs, ListView, GridView, TreeView 
  • GroupBox и Expander
  • Менюта: Menu, MenuItem, ContextMenu, 
  • Toolbars
  • Други контроли: Slider и Scroll контроли, ProgressBar, ToolTip, GridSplitter
  • Dependency Properties
  • Създаване на столове и темплейти
1 лекция
2 упражнения
4 домашни

Свързване на данни в WPF

  • Защо е необходимо свързването на данни?
  • Елементарно свързване: свързване на свойство на компонента към свойство на обект
  • Свързване на класове и на техните свойства
  • Data contexts
  • Свързване на контрола към друга контрола
  • Сложно свързване: свързване към набор от елементи
  • Достъп до текущия елемент
  • Употреба на DisplayMemberPath и ValueMemberPath
  • Употреба на lookup-Look-up връзки
  • Употреба на data темплейти
  • Сортиране, филтриране и групиране на елементи от колекция (декларативно и програмно)
  • Източници на данни (обектен, релационен, xml)
  • Master-detail binding
2 лекции
4 упражнения
8 домашни

5. Кратко представяне на Silverlight

Тема Структура

Въведение в Silverlight: Създаване на елементарен проект

  • Какво е Silverlight?
  • Silverlight версии
  • Silverlight архитектура
  • Създаване на Silverlight проект във Visual Studio
  • HTML начална страница на Silverlight
  • Silverlight скрипт за инициализация
  • XAML страница
  • XAML code-behind клас
  • Усвояване на събития
  • Свойства за настройки
  • Компилация и разпространение
1 лекция
1 упражнение
2 домашни

Основни Silverlight контроли

  • Основна йерархия на класове контроли
  • TextBlock, TextBox, Button, Popup, ListBox, Tab контрола
  • Контроли за свързване на данни и свързвани на данни
2 лекции
2 упражнения

Windows Communication Foundation

  • WCF основни концепции: архитектура, поддържани стандарти, приложения
  • Основни концепции за уеб услуги – request-response модел, SOAP, WSDL, UDDI
  • Създаване на уеб услуги с WCF
  • Ползване на уеб услуги с WCF
  • Употреба на WCF с LINQ-to-Entities
2 лекции
1 упражнение
4 домашни

Финален изпит

Финалният изпит представлява разработка на малки проекти със SQL Server, LINQ-to-Entities, ASP.NET, WPF, Silverlight и трябва да се имплементира в клас, в рамките на 10 часа. Изпитът се състои от следните задания:
  • Дефиниране на схема за база данни и въвеждане на примерни данни
  • Дизайн и имплементация на слой достъп до данни, базиран на LINQ-to-Entities
  • Дизайн и имплементация на  front-end приложения, базирани на Windows Forms, ASP.NET, WPF или Silverlight
За успешното преминаване на изпита е необходимо разрешаването на 75% от заданията.
10 изпита
2 проверки

Финален изпит

Финалният изпит представлява разработка на малки проекти със SQL Server, LINQ-to-Entities, ASP.NET, WPF, Silverlight и трябва да се имплементира в клас, в рамките на 10 часа. Изпитът се състои от следните задания:

  • Дефиниране на схема за база данни и въвеждане на примерни данни
  • Дизайн и имплементация на слой достъп до данни, базиран на LINQ-to-Entities
  • Дизайн и имплементация на front-end приложения, базирани на Windows Forms, ASP.NET, WPF или Silverlight

За успешното преминаване на изпита е необходимо разрешаването на 75% от заданията.


6. Теми за напреднали

Тема Структура

Reflection

  • Зареждане на асемблита и класове
  • Разглеждане на мета информация – асемблита, класове и членове на класовете
  • Динамично инстанцийране на класове и извикване на методи
1 лекция
1 упражнение
2 домашни

Сериализация

  • Автоматична и собствена сериализация; Formatters
  • XML и бинарна сериализация
1 лекция
1 упражнение
1 домашно

Нишки и синхронизация

  • Преглед на многонишковото програмиране – процеси и нишки
  • Употреба на класа Thread – създаване, стартиране и спиране на нишки; живот
  • Синхронизация на нишките – race conditions, critical sections, monitors
2 лекции
2 упражнения
4 домашни

Асинхронно извикване

  • Употреба на готовия ThreadPool клас
  • Асинхронно извикване на Windows Forms
  • Асинхронно извикване с BeginInvoke() / EndInvoke()
1 лекция
2 упражнения
4 домашни

Мрежови технологии - основи

  • Основни интернет концепции: седемслойният OSI модел, TCP/IP протокол, протоколи, услуги, IP адреси, мрежови интерфейс, DNS, TCP, UDP, sockets, др.
2 лекции

Програмиране на мрежи

  • TCP и UDP sockets
  • Достъп до интернет ресурси чрез URL
  • Имейл API
2 лекции
2 упражнения
12 домашни

7. Софтуерно инженерство и работа в екип

Тема Структура

Софтуерно инженерство – Преглед

  • Основи на софтуерното инженерство
  • Процеси, методологии и типичен жизнен цикъл на разработването на проект
  • Проектен план
  • Анализ и спецификация
  • Архитектура и дизайн
  • Имплементация
  • Тестване: компонентно тестване, интегрирано тестване, стрес тестване
    Разгръщане
3 лекции
4 домашни

Разработка чрез agile методология и SCRUM

  • Agile концепции за разработка
  • SCRUM процес на разработка
2 лекции
2 домашни

Source Control системи и TFS

  • Управление на софтуерни конфигурации и source control хранилища
  • Модели за следене на версиите: Lock-Modify-Unlock и Copy-Modify-Merge
  • Използване на Team Foundation Server (TFS) като source control хранилище
2 лекции
1 упражнение
2 домашни

Build Инструменти MSBuild

  • Build инструменти създаване и употреба на MSBuild скриптове
  • MSBuild файлове: цели, задания, елементи, свойства
2 лекции
2 домашни

Continuous Integration

  • Какво представлява продължителна интеграция?
  • Продължителна интеграция с TFS
1 лекция
2 домашни

Софтуерни шаблони за дизайн: Създаващи шаблони

  • Концепции за моделиране на дизайн
  • Създаващи шаблони: abstract factory, factory method, builder, lazy initialization, singleton
2 лекции
2 упражнения
4 домашни

Софтуерни шаблони за дизайн: Структурни шаблони

  • Структурни шаблони: adapter, bridge, composite, decorator
1 лекция
1 упражнение
4 домашни

Софтуерни шаблони за дизайн: Поведенчески шаблони

  • Поведенчески модели: command, iterator, observer, strategy, template pattern
1 лекция
1 упражнение
4 домашни