Detail předmětu

Objektově orientované programování

FEKT-BPC-OOPAk. rok: 2018/2019

Základní rysy platformy .NET, seznámení s vývojovým prostředím MS Visual Studio. Základy jazyka C# - základní typy, třídy, operátory, konverze, cykly, rozhodování, hodnotové a referenční typy, výčtové typy, číselné datové typy, řetězce a znaky, operace s řetězci, pole a kolekce, jmenné prostory. Objektově orientované programování v C# - pilíře OOP, zapouzdření, dědičnost, polymorfismus, přetypování, doba života objektu, zpracování výjimek, delegáti, události, generiky, reflexe, anonymní třídy, typy var a dynamic, lambda výrazy, integrovaný jazyk pro dotazování - LINQ. Knihovny .NET - knihovna kolekcí, jmenný prostor pro práci se soubory - System.IO, jmenný prostor pro uživatelské rozhraní - System.Windows.Forms. Webové aplikace a webové služby - principy návrhu webové aplikace a webové služby, knihovna System.Net, jednoduchá komunikace klient-server pomocí socketů.

Jazyk výuky

čeština

Počet kreditů

6

Výsledky učení předmětu

Absolvent předmětu je schopen:
- ovládat vývojové prostředí Microsoft Visual Studio,
- sestavit program v jazyce C#,
- ladit program v jazyce C# a hledat chyby,
- vysvětlit pilíře objektového programování.
- navrhnout objektovou strukturu programu,
- navrhnout grafické uživatelské rozhraní,
- navrhnout relační model databázové aplikace,
- vytvořit webovou službu a webovou aplikaci.

Prerekvizity

Student, který si zapíše předmět, by měl být schopen algoritmizovat jednoduché úlohy v jazyce C, měl by mít zkušenosti s vývojovým prostředím a laděním programů. Obecně jsou požadovány znalosti programování v jazyce C či JAVA. Předpokládá se absolvování povinných předmětů BPC1T a BPC2T.

Plánované vzdělávací činnosti a výukové metody

Metody vyučování zahrnují přednášky a cvičení na počítači. Předmět využívá e-learning (Moodle). Student odevzdává jeden samostatný projekt.

Způsob a kritéria hodnocení

až 22 bodů za cvičení (body student získává za 11 hodnocených cvičeních po dvou bodech)
až 28 bodů za semestrální projekt
až 50 bodů za zkoušku (písemná část 40 bodů + ústní část 10 bodů)
Zkouška má povinnou písemnou a povinnou ústní část.

Osnovy výuky

1. Prostředí .NET a jeho architektura, vlastnosti jazyka C#, zásady, objektově orientované programování, vývojové prostředí Microsoft Visual Studio 2017, typy, operátory, konverze
2. Třídy, instance, členy třídy (datové složky, události, metody, vlastnosti), konstruktory, modifikátory
3. Cykly, podmínky, výčtové typy
4. Řetězce, pole, jmenné prostory
5. Pilíře objektově orientované programování v C# (zapouzdření, dědění, polymorfismus)
6. Virtuální metody, abstraktní třídy, skrývání členů, přetypování, zpracování výjimek
7. Rozhraní, delegáti, události, generiky, reflexe, lambda výrazy, LINQ
8. Kolekce, práce se soubory
9. Grafické uživatelské rozhraní – Forms, WPF
10. Základy databázových systémů, jazyk SQL
11. Přistup k datům MS SQL, technologie LINQ to SQL
12. Webové služby, ASP .NET aplikace
13. Rekapitulace látky, rozbor písemné části zkoušky

Učební cíle

Předmět si klade za cíl seznámit posluchače se základními principy objektového programování a základními vlastnostmi jazyka C#. Důraz je kladen také na praktické použití těchto principů k řešení konkrétních programátorských úloh.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky

Počítačová cvičení jsou povinná, řádně omluvené zmeškané počítačové cvičení lze po domluvě s vyučujícím nahradit.

Základní literatura

MACDONALD M., SZPUSZTA M. ASP.NET 3.5 a C# 2008, Zoner Press 2008, 1584 s., ISBN 978-80-7413-008-3 (CS)
MAREŠ, A., 1001 tipů a triků pro C# 2010, Computer Press, 2011, ISBN 9788025132500 (CS)
PECINOVSKÝ, R. OOP - Naučte se myslet a programovat objektově, Computer Press 2010, 576 s., ISBN 978-80-251-2126-9 (CS)
PIALORSI, P., RUSSO, M. Microsoft LINQ - Kompletní průvodce programátora, Computer Press 2009, 616 s., ISBN 978-80-251-2735-3 (CS)
SHARP J. Microsoft Visual C# 2008, Computer Press 2008, 592 s., ISBN 978-80-251-2027-9 (CS)
VIRIUS, M., C# 2010 Hotová řešení, Computer Press, 2012, 424 s., ISBN 978-80-251-3730-7 (CS)

Doporučená literatura

WATSON, Ben. C# 4.0: řešení praktických programátorských úloh. Brno: Zoner Press, 2010. Encyklopedie Zoner Press. ISBN 978-80-7413-094-6. (CS)

Zařazení předmětu ve studijních plánech

  • Program BPC-IBE bakalářský 3 ročník, letní semestr, povinně volitelný
  • Program BPC-TLI bakalářský 2 ročník, letní semestr, povinně volitelný

  • Program BPC-AUD bakalářský

    specializace AUDB-ZVUK , 2 ročník, letní semestr, povinně volitelný
    specializace AUDB-TECH , 2 ročník, letní semestr, povinně volitelný

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

1. Prostředí .NET a jeho architektura, vlastnosti jazyka C#, zásady, objektově orientované programování, vývojové prostředí Microsoft Visual Studio 2017, typy, operátory, konverze.
2. Třídy, instance, členy třídy (datové složky, události, metody, vlastnosti), konstruktory, modifikátory.
3. Cykly, podmínky, výčtové typy.
4. Řetězce, pole, jmenné prostory.
5. Pilíře objektově orientované programování v C# (zapouzdření, dědění, polymorfismus).
6. Virtuální metody, abstraktní třídy, skrývání členů, přetypování, zpracování výjimek.
7. Rozhraní, delegáti, události, generiky, reflexe, lambda výrazy, LINQ.
8. Kolekce, práce se soubory.
9. Grafické uživatelské rozhraní – Forms, WPF.
10. Základy databázových systémů, jazyk SQL.
11. Přistup k datům MS SQL, technologie LINQ to SQL.
12. Webové služby, ASP .NET aplikace.
13. Rekapitulace látky, rozbor písemné části zkoušky.

Cvičení na počítači

39 hod., povinná

Vyučující / Lektor

Osnova

1. Úvodní hodina, seznámení s pracovištěm, kontrola přihlášení do počítačové sítě.
2. Vývojové prostředí Microsoft Visual Studio 2017. Konzolová aplikace: Typy, operátory, konverze.
3. Konzolová aplikace: Třídy, instance, členy třídy, konstruktory, modifikátory.
4. Konzolová aplikace: Cykly, podmínky, výčtové typy.
5. Konzolová aplikace: Řetězce.
6. Konzolová aplikace: Pilíře objektově orientované programování v C# (zapouzdření, dědění).
7. Konzolová aplikace: Virtuální metody, abstraktní třídy, skrývání členů.
8. Konzolová aplikace: Rozhraní, delegáti, události, generiky.
9. Konzolová aplikace: Kolekce, práce se soubory.
10. WPF aplikace. Uživatelské rozhraní.
11. Základy databázových systémů, jazyk SQL.
12. Konzolová aplikace: Přistup k datům MS SQL, technologie LINQ to SQL.
13. Prezentace samostaných projektů.