Fundamentals of Software Engineering

Zkratka předmětu KMI/OOOP
Název předmětu Fundamentals of Software Engineering
Akademický rok 2019/2020
Pracoviště / Zkratka KMI/OOOP
Název Fundamentals of Software Engineering
Akreditováno/Kredity Ano/6
Rozsah hodin Přednáška 2 HOD/TYD Cvičení 2 HOD/TYD
Vyučovací jazyk anglič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)

The main objective is to gain basic experience with object-oriented programming language. Philosophy of OOP. Classes, objects, instances of classes and other types. Class methods. Inheritance, multiple inheritance. Private attributes and methods, name spaces. Destructors and memory management. Modeling of classes using UML.

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

Credit Requirements:
Programming partial short tasks, creating a project application. Global success rate minimally 65%.

Examination Requirements:
Students will demonstrate complex knowledge of programming in programming language.

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

Lectures:
1 - Object-oriented concepts
2 - Introducing classes, structs and namespaces: Classes and Types, Inheritance, Abstract
3 - Classes and Interfaces, Nested Classes, Structs, Namespaces
4 - Class declaration: Attributes, Class Modifiers, Class Base, Interface Declarations
5 - Introducing Methods: Attributes, Method Modifiers, Formal Parameters, Parameter Passing
6 - The params modifier, Return Type, Method Overloading
7 - Polymorphism: Member Overriding, Member Hiding
8 - Operators: overloading operators
9 - Constants, Fields, Properties and Indexers
10 - Delegates and Events
11 - Exceptions
12 - Attributes, reflection

Seminars:
1 - Object-oriented concepts
2 - Introducing classes, structs and namespaces: Classes and Types, Inheritance, Abstract
3 - Classes and Interfaces, Nested Classes, Structs, Namespaces
4 - Class declaration: Attributes, Class Modifiers, Class Base, Interface Declarations
5 - Introducing Methods: Attributes, Method Modifiers, Formal Parameters, Parameter Passing
6 - The params modifier, Return Type, Method Overloading
7 - Polymorphism: Member Overriding, Member Hiding
8 - Operators: overloading operators
9 - Constants, Fields, Properties and Indexers
10 - Delegates and Events
11 - Exceptions
12 - Attributes, reflection

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

The course Basic Programming.

Předmět Základy programování.

Získané způsobilosti

Students understand the basic principles of object-oriented programming, they are able to create basic class models in developer studio and to complete basic object-oriented programs.

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š
  • Cvičící: Mgr. Radim Remeš
Literatura
  • MSDN Library. http://msdn.microsoft.com/en-us/library/ms228593.aspx.
  • S. Ramnath, B. Dathan. Object-Oriented Analysis and Design. Springer, 2011. ISBN 978-1849965217.
  • J. Paul. Design Patterns in C#. Amazon Digital Services LLC, 2012.
  • S. Bennett, R. Farmer. Object-Oriented Systems Analysis and Design Using UML. McGraw-Hill Higher Education; 4 edition, 2010. ISBN 978-0077125363.
  • I. Griffiths. Programming C# 6.0: Create Windows Desktop and Web Applications. O Reilly Media, 2016. ISBN 978-1491922194.
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