Course detail

Object-Oriented Programming

FEKT-BPC-OOPAcad. year: 2024/2025

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.

Language of instruction

Czech

Number of ECTS credits

6

Mode of study

Not applicable.

Entry knowledge

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.

Rules for evaluation and completion of the course

up to 20 points per exercise (student receives 10 exercises evaluated by two points)
up to 10 points per mid-semester test
up to 20 points per semester project
up to 50 points per exam

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

Aims

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.
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.

Study aids

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

BAYER, Jürgen. C# 2005: velká kniha řešení. Brno: Computer Press, 2007. ISBN 978-80-251-1620-3. (CS)
BORY, Pavel. C# bez předchozích znalostí. Brno: Computer Press, 2016. ISBN 978-80-251-4686-6. (CS)
LAURENČÍK, Marek. SQL: podrobný průvodce uživatele. Praha: Grada Publishing, 2018. Průvodce. ISBN 978-80-271-0774-2. (CS)
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)

Recommended reading

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)

Classification of course in study plans

  • Programme BPC-AMT Bachelor's 0 year of study, summer semester, elective

  • Programme BPC-AUD Bachelor's

    specialization AUDB-TECH , 2 year of study, summer semester, compulsory-optional
    specialization AUDB-ZVUK , 2 year of study, summer semester, compulsory-optional

  • Programme BPC-ECT Bachelor's 0 year of study, summer semester, elective
  • Programme BPC-IBE Bachelor's 3 year of study, summer semester, compulsory-optional
  • Programme BPC-MET Bachelor's 0 year of study, summer semester, elective
  • Programme BPC-SEE Bachelor's 0 year of study, summer semester, elective
  • Programme BPC-TLI Bachelor's 2 year of study, summer semester, compulsory-optional

Type of course unit

 

Lecture

26 hod., optionally

Teacher / Lecturer

Syllabus

1. Platform .NET and its architecture, C# language features, principles, object-oriented programming, development environment Microsoft Visual Studio 2022, 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.

Exercise in computer lab

39 hod., compulsory

Teacher / Lecturer

Syllabus

1. Introductory lesson, familiarization with the workplace, checking for logging on to the computer network.
2. Development environment Microsoft Visual Studio 2022. Console application: Types, operators, conversion.
3. Console application: Class, instance, class members, constructors, modifiers.
4. Console application: Cycles, conditions, enumerated types.
5. Console application: Strings.
6. Console application: Pillars of object-oriented programming in C # (encapsulation, inheritance).
7. Console application: Virtual methods, abstract classes, hiding of members.
8. Console application: Interfaces, delegates, events, generics.
9. Console application: Collections, working with files.
10. WPF application. User interface.
11. Fundamentals of Database Systems, SQL language.
12. Console application: MS SQL data access, LINQ to SQL technology.
13. Self-contained projects presentation.