Course detail

Object-Oriented Programming

FEKT-BPC-OOPAcad. year: 2021/2022

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.

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.

Prerequisites

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.

Co-requisites

Not applicable.

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

Course curriculum

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

Work placements

Not applicable.

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.

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.

Recommended optional programme components

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)

Elearning

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

Elearning