Course detail

Object oriented programming

FEKT-BOOPAcad. year: 2017/2018

Basic features of the .NET platform, introduction of development environment MS Visual Studio. Basics of the C# language - basic types, classes, operators, conversions, cycles, decision-making, value and reference types, enumerated types, numeric data types, strings and characters, string operations, fields and collections, namespaces. Object-oriented programming in C # - pillars of OOP, encapsulation, inheritance, polymorphism, type casting, the lifetime of the object, exception handling, delegates, events, generics, reflection, anonymous classes, types var and dynamic, lambda expressions, integrated querying language - LINQ. .NET Libraries – collections library, namespace for working with files - System.IO, namespace for the user interface - System.Windows.Forms. Web applications and web services - design principles of web applications and web services, System.Net library, simple client-server communication via sockets.

Learning outcomes of the course unit

Students will be able to:
- control the development environment Microsoft Visual Studio,
- create a program in C#,
- debug programs in C# and look for errors,
- explain the pillars of object-oriented programming,
- design the object structure of a program,
- design graphical user interface,
- propose a relational model of the database applications,
- create a web service and web application.


Students who completed the course should be able to algorithmize simple tasks in C, they should have experience of the development environment and debugging programs. Generally, the knowledge of programming in C or JAVA is required. Prior completion of the required courses BPC1T and BPC2T is assumed.


Graduate of this course will have the necessary knowledge to continue studying C # in the follow-up course XMW5.

Recommended optional programme components

Not applicable.

Recommended or required reading

SHARP J. Microsoft Visual C# 2008, Computer Press 2008, 592 s., ISBN 978-80-251-2027-9 (CS)
BAYER, J. C# 2005 - Velká kniha řešení, Nakladatelství Computer Press, a.s. 2007, 816 s., ISBN 80-251-1620-3 (CS)
MACDONALD M., SZPUSZTA M. ASP.NET 3.5 a C# 2008, Zoner Press 2008, 1584 s., ISBN 978-80-7413-008-3 (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)
MAREŠ, A., 1001 tipů a triků pro C# 2010, Computer Press, 2011, ISBN 9788025132500 (CS)
WATSON, B., C# 4.0 - řešení praktických programátorských úloh, Zoner Press, 2010, 656 s., ISBN 978-80-7413-094-6 (CS)
VIRIUS, M., C# 2010 Hotová řešení, Computer Press, 2012, 424 s., ISBN 978-80-251-3730-7 (CS)

Planned learning activities and teaching methods

Techning methods include lectures and computer laboratories. Course is taking advantage of e-learning (Moodle) system. Students have to write a single project during the course.

Assesment methods and criteria linked to learning outcomes

up to 22 points per exercise (student receives 11 exercises evaluated by two points)
up to 28 points per semester project
up to 50 points per exam (written part of the 40 points + 10 points oral)
The exam consists of obligatory written and obligatory oral part.

Language of instruction


Work placements

Not applicable.

Course curriculum

1. Platform .NET and its architecture, C# language features, principles, object-oriented programming, development environment Microsoft Visual Studio 2012, types, operators, conversion.
2. Class, instance, class members (data members, events, methods, properties), constructors, modifiers.
3. Cycles, conditions, enumerated types.
4. Strings, arrays, namespaces.
5. Pillars of object-oriented programming in C # (encapsulation, inheritance, polymorphism).
6. Virtual methods, abstract classes, hiding of members, casting, exceptions handling.
7. Interfaces, delegates, events, generics, reflection, lambda expressions, LINQ.
8. Collections, working with files.
9. Graphical user interface - Forms, WPF.
10. Fundamentals of Database Systems, SQL language.
11. MS SQL data access, LINQ to SQL technology.
12. Web services, ASP. NET applications.
13. Recapitulation, analysis of the written part of examination.


The course aims to familiarize students with the basic principles of object-oriented programming and basic features of the C # language. Emphasis is also placed on the practical application of those principles to solve specific programming tasks.

Specification of controlled education, way of implementation and compensation for absences

Computer exercises are obligatory, justified computer exercises can be made up after prior arrangement with the instructor.

Classification of course in study plans

  • Programme AUDIO-J Bachelor's

    branch J-AUD , 2. year of study, summer semester, 6 credits, optional interdisciplinary

  • Programme EEKR-B Bachelor's

    branch B-TLI , 2. year of study, summer semester, 6 credits, optional specialized

  • Programme IBEP-T Bachelor's

    branch T-IBP , 2. year of study, summer semester, 6 credits, optional specialized
    branch T-IBP , 3. year of study, summer semester, 6 credits, optional specialized

  • Programme EEKR-CZV lifelong learning

    branch ET-CZV , 1. year of study, summer semester, 6 credits, optional specialized

Type of course unit



26 hours, optionally

Teacher / Lecturer

Exercise in computer lab

39 hours, compulsory

Teacher / Lecturer