CSCB579 Програмиране на приложения с Microsoft Visual C# .NET
Анотация:
Целта на курса е да запознае студентите с основите на програмиране под .NET, използвайки езика C#.
Курсът започва с въведение в .NET и C#.
Следва разглеждане на основните елементи на езика С# в детайли: данни, операции, оператори, изключителни ситуации, класове, обекти, наследяване. Всяка от темите е съпроводена с демонстрация и самостоятелна лабораторна работа.
Лабораторни упражнения ще се провеждат посредством MS Visual Studio.
Преподавател(и):
гл. ас. Лъчезар Томов д-р
гл. ас. Димитър Петров д-р
Описание на курса:
Компетенции:
Успешно завършилите курса студенти:
1) знаят:
• Основните характеристики и особености на програмиране в среда на .Net Framework
• Характеристиките и елементите на езика C#
2) могат:
• Да работят в среда на MS Visual Studio.
• Да създават, програмират и проследяват изпълнението на програми, написани на C#.
Предварителни изисквания:
Студентите трябва да познават основите на Обектно-ориентирано програмиране и да имат знания поне по един език за програмиране.
Форми на провеждане:
Редовен
Учебни форми:
Лекция
Език, на който се води курса:
Български
Теми, които се разглеждат в курса:
- .Net Framework – основни понятия и компоненти. Visual Studio 2017 –работна среда. Програма на C#. Компилиране, изпълнение, дебъгване. Основи на езика C#. Пространство на имената.
- Примитивни типове данни Стойностни и референтни типове данни. Преобразуване на типове. Клас Convert и методите му. Основни оператори – аритметични, логически и управляващи. Клас Console. Пренасочване на вход/изход. Просто конзолно приложение. Метод Main.
- Цикли, оператори за цикли. Масиви – видове : едномерни, многомерни, назъбени (jagged). Клас Array; Деклариране и инициализация. Работа с масиви
- Принципи на ООП – наследяване, абстракция, капсулация, полиморфизъм. Шаблони за дизайн. Обекти и класове. Атрибути и поведение на класове – полета данни, свойства, методи, събития. Конструктори.
- Методи. Модификатори за достъп. Формални и фактически (аргументи) параметри. Обмен. Полета vs локални променливи. Overriding и Overloading на методи
- Интерфейси. Множествено наследяване и имплементация. Вградени интерфейси.
- Свойства. Свойства vs полета. Видове аксесори за достъп. Примери. Създаване на Windows Form приложение. Работа с контроли Label, TextBox, Button. Клас MessageBox. Динамични контроли
- Делегати и събития. Генериране и обработка на събития. Тест 1
- Изключения. Прихващане и обработка на изключения
- Вход/Изход в C#. Потоци. Работа с файлове. Диалози за работа с файлове
- Сериализация и десериализация на обекти. Текстова и двоична сериализация.
- Динамични колекции – ArrayList, SortedList, Stack, Queue.
- Работа с компоненти. Създаване, компилиране и свързване на динамични библиотеки (.dll).
- Рисуване в Windows Form. Класове Graphics, Brush, Pen. Тест2
- Асемблита, пространства на имена, директиви на препроцесора, рефлексия Атрибути. Предаване. Потребителски атрибути. Поправка на Тест1 и Тест2
Литература по темите:
Основна:
• Albahari, J., & Albahari, B. (2018). C# 7.0 in a Nutshell. O’Reilly Media, Inc.
• Brunetti, R., & Boncinelli, V. (2013). Exam Ref 70-485 Advanced Windows Store App Development using C# (MCSD) . O’Reilly Media, Inc.
• Price, M. J. (2017). C# 7.1 and .NET Core 2.0 – Modern Cross-Platform Development, Third Edition. Packt.
• Sharp, J. (2015). Microsoft Visual C# Step by Step (8th Edition) (Developer Reference). Microsoft Press.
Допълнителна:
• Wouter de KortRichter (2013), Programming in C# - Exam Ref 70-483, O'Reilly Media, Inc.
• Hilyard, Stephen Teilhet. (2015), C# 6.0 Cookbook, 5fth Edition, O'Reilly Media, Inc.
• Joseph Albahari and Ben Albahari, (2016), C# 6.0 in a Nutshell, O'Reilly Media, Inc.
• Mark Michaelis , (2015), Essential C# 6.0, 5fth Edition, Addison-Wesley Microsoft Technology