TCMB532 Скриптове за автоматизация и управление на мрежови възли и телекомуникационни системи

Анотация:

Курсът противно ще ви научи на основите на езици за програмиране като Java, Expect и Groovy като фокуса ще бъде върху това как да го използвате за създаването на приложения свързани с мрежовата администрация и/или телекомуникациите.

Курсът цели също да даде основни умения по програмиране на студентите участващи в студио проектите на НБУ.

Курсът ще бъде преподаван от д-р. Васил Йорданов

http://bg.linkedin.com/pub/vasil-yordanov/4/245/166

прочети още
Телекомуникации и компютърни технологии

Преподавател(и):

гл. ас. Николай Милованов  д-р
доц. Васил Къдрев  д-р

Описание на курса:

Компетенции:

Завършилите курса ще имат добра devOps култура и ще знаят що е то Java, Expect, Groovy. Ще могат да използват специфични библиотеки на тези езици за целите на мрежовото инженерство и телекомуникациите.

В края на курса студентите ще знаят:

принципите на обектно ориентираното програмиране

основните езикови конкструкции на четри програмни езика, два от които са обектно ориентирани (Java и Groovy), а три са скриптови езици (Groovy, Tcl, Expect).

как се компилират Java програми.

как се изпълняват и прави Debugging на програмите

как се работи с някои изестни среди за програмиране

какви са основните структури от данни в четрита езика

за какво случжат изключенията.

как се работи с входно/изходни потоци

как се работи с регулярните изрази в тези езици.

какви са общите и различните езикови конструкции в Java и Groovy

как езика Expect надгражда Tcl и как се автоматизира взаимодействието с програми.

Курсът е практически ориентиран и в края на курс студентите ще могат:

Да работят с средите за програмиране IntelliJ IDEA и Eclipse.

Да стартират и правят Debugging в InterlliJ IDEA

Да създават прости програми и да разчитат съществуващ код на четрита езика.

Да работят със основните структури от данни в тези езици

Да прихващат възникнали изключения в хода на програмта

Да записват/четат данни в изходен/от входен поток

Да прилагат регулярни изрази.

Да автоматизират взаимодействието мрежата чрез програми написани на езици Expect и Groovy


Предварителни изисквания:
Добра компютърна грамотност.

Добри познания по TCP/IP.

Желание и достатъчно свободно време.

Форми на провеждане:
Редовен

Учебни форми:
Лекция

Език, на който се води курса:
Български

Теми, които се разглеждат в курса:

Основни принципи и понятия при обектно-ориентираната разработка на софтуер: Капсулация, наследяване, абстракция, полиморфизъм. Класове, обекти, пакети, интерфейси, наследяване, имплементация. Обектно-ориентирано моделиране с Unified Modelling Language (UML). Библиотеки приложни класове (Java API). (2 ч.)

Създаване на нови типове данни – класове, методи и атрибути. Създаване, компилиране и изпълнение на Java програма. Среди за програмиране - IntelliJ IDEA, Eclipse, NetBeans. Debugging на Java програма. Коментари и коментари за документация (Javadoc). (2 ч.)

Променливи и оператори в езика Java – приоритет, присвояване, математически, логически, релационни, побитови и низови оператори. Основни езикови конструкции за управление хода на програмата,оператори if, if-else, while, do-while, for, break, continue, switch и др. Работа със стрингове и регулярни изрази. (2 ч.)

Инициализация на членове на обекти, конструктори, финализиране и garbage collector. Пакети и спецификатори за достъп – public, private, protected. Многократно използване на класовете. Полиморфизъм. Абстрактни класове и методи. Интерфейси и вътрешни класове.(2 ч.)

Oсновни структури от данни на езика Java: масиви и операции с масиви, списъци и колекции, множества, таблици, хеш-таблици, стекове и опашки. Основни интерфейси и класове за реализация на колекции, опашки и асоциативни списъци. Сортиране и търсене в колекции и масиви. Сортирани колекции и асоциативни списъци. Java generics.(3 ч.)

Регулярни изрази в езика Java. (1 ч)

Механизъм за обработка на грешки чрез изключения. Реализация на собствени класове за изключения. Блок try – catch – finally и прехвърляне на обработката към извикващия метод с throws. Unchecked Exceptions - клас RuntimeException. Exception chaining. (2 ч.)

Системата за вход-изход в езика Java. Основни операции с файлове и директории. Входни/изходни потоци. Филтриращи входни и изходни потоци. Шаблон „Декоратор“. Символен вход/изход - класове Reader, Writer и техните наследници. Файлове с произволен достъп – RandomAccessFile. Пренасочване на стандартния вход/изход. (2 ч.).

Въведение в езика Groovy. Създаване, компилиране и изпълнение на Groovy програма. Среди за програмиране. Debugging на Groovy програми. Разлики с езика Java. (1 ч)

Нови програмни конструкции в Groovy, които ги няма в Java. Closures, нов вграден синтаксис за списък и таблици, регулярни изрази. Оператори while и for. Вграждане на изрази в String (GString). (3 ч)

Въведение в езика Tcl. Изрази, структури за управление хода на програмата. Структури от данни - списъци, масиви. Прихващане на изключения. Работа с файлове. Създаване и изпълнение на Tcl програма. (3 ч)

Въведение в езика Expect - aвтоматизациране на взаимодействието с програми. Създаване и изпълнение на Tcl програма. Команди - send и expect, spawn, interact. (3 ч)

Glob шаблони, регулярни изрази. Debugging, tracing, logging. (2 ч)

Библиотеката Expect4Groovy. (2 ч)

Литература по темите:

1. Eckel's Br., Thinking in Java, 4th edition

2. Libes D., Exploring Expect - A Tcl-based Toolkit for Automating Interactive Programs,O'Reilly Media, 1994

3. Konig D., King P., Groovy in Action,

4. Expect4Groovy, http://sourceforge.net/projects/expect4groovy

5. https://docs.oracle.com/javase/tutorial/

Средства за оценяване:

Студентите ще бъдат оценени на базата на:

1. Тяхното присъствие и участие в лекциите и упражненията

2. Точки получени от проекти, които трябва да реализирате в екип

Предметът не предвижда финален изпит.