Základy softwarového inženýrství

Zkratka předmětu KMI/KOOP
Název předmětu Základy softwarového inženýrství
Akademický rok 2019/2020
Pracoviště / Zkratka KMI/KOOP
Název Základy softwarového inženýrství
Akreditováno/Kredity Ano/6
Rozsah hodin Přednáška 8 HOD/SEM
Vyučovací jazyk čeština
Nahrazovaný předmět KMI/OOP
Vyloučené předměty
Podmiňující
Způsob zakončení Zkouška
Forma zakončení Kombinovaná
Zápočet před zkouškou Ano
Vyučovaný semestr Letní
Cíle předmětu (anotace)

Cílem je naučit základy objektově orientovaného programování s využitím programovacího jazyka. Filozofie OOP. Definování tříd, objekty, instance tříd. Metody třídy. Dědění, vícenásobná dědičnost. Soukromé proměnné a metody, pravidla rozsahu platnosti a jmenné prostory. Destruktory a správa paměti. Modelování tříd objektů pomocí UML.

Požadavky na studenta

Požadavky k zápočtu:
Programování dílčích úložek, vytvoření projektové aplikace. Celková úspěšnost alespoň 65%.

Požadavky ke zkoušce:
Při zkoušce studenti prokáží znalost programování v programovacím jazyce.

Obsah

Přednášky:
1 - Objektově orientované koncepty programování
2 - Základy třídy, struktury, jmenné prostory, třídy, typ, dědičnost, abstrakce
3 - Třídy a rozhranní, vnořené třídy, struktury, jmenné prostory
4 - Deklarace tříd, atributy, modifikátory, základní třídy, deklarace rozhranní
5 - Atributy metod, modifikátory, formální parametry, předávání parametrů
6 - Modifikátory parametrů, návratové typy, přetěžování metod
7 - Polymorfismus, přetěžování členů třídy, zakrývání členů
8 - Operátory, přetěžování operátorů
9 - Konstanty, pole, vlastnosti, indexery, iterovatelné objekty
10 - Delegáty, události
11 - Výjimky
12 - Atributy, reflexe

Cvičení:
1 - Objektově orientované koncepty programování
2 - Základy třídy, struktury, jmenné prostory, třídy, typ, dědičnost, abstrakce
3 - Třídy a rozhranní, vnořené třídy, struktury, jmenné prostory
4 - Deklarace tříd, atributy, modifikátory, základní třídy, deklarace rozhranní
5 - Atributy metod, modifikátory, formální parametry, předávání parametrů
6 - Modifikátory parametrů, návratové typy, přetěžování metod
7 - Polymorfismus, přetěžování členů třídy, zakrývání členů
8 - Operátory, přetěžování operátorů
9 - Konstanty, pole, vlastnosti, indexery, iterovatelné objekty
10 - Delegáty, události
11 - Výjimky
12 - Atributy, reflexe

Předpoklady - další informace k podmíněnosti studia předmětu

Předmět nemá žádnou prerekvizitu.

Získané způsobilosti

Studenti rozumí základním principům objektově orientovaného programování, jsou prakticky schopni vytvářet základní modely tříd ve vývojovém prostředí a sestavovat základní objektově orientované programy v programovacím jazyku.

Garanti a vyučující
  • Garanti: doc. Ing. Ladislav Beránek, CSc., RNDr. Josef Milota
  • Přednášející: Mgr. Radim Remeš
Literatura
  • Michaelis, M. Essential C# 7.0, 6th Edition. Bostom, USA: Addison-Wesley Professional, 2018.
  • http://msdn.microsoft.com/en-us/library/ms228593.aspx
  • Deitel, H., Deitel, P. Visual C# How to Program, 6th Edition. Hoboken, New Jersey, USA: Pearson Education, 2016.
  • Jamro, M. C# Data Structures and Algorithms. Birmingham, UK: Packt., 2018.
  • Sarcar, V. Design Patterns in C#: A Hands-on Guide with Real-World Examples. Karnataka, India: Apress, 2018.
  • Nesteruk, D. Design Patterns in .NET: Reusable Approaches in C# and F# for Object-Oriented Software Design. New York, NY (USA): Apress., 2019.
  • Taher, R. Hands-On Object-Oriented Programming with C#. Birmingham, UK: Packt., 2019.
Vyučovací metody

Monologická (výklad, přednáška, instruktáž), Dialogická (diskuze, rozhovor, brainstorming)

Hodnotící metody

Rozbor produktů pracovní činnosti studenta (technické práce), Kombinovaná zkouška

Stáhnout jako PDF