Course detail

Object-Oriented Programming

FEKT-BPC-OOPAcad. year: 2019/2020

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.

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.

Recommended optional programme components

Not applicable.

Recommended or required reading

BORY, Pavel. C# bez předchozích znalostí. Brno: Computer Press, 2016. ISBN 978-80-251-4686-6. (CS)
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)
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)
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)
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 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

Language of instruction

Czech

Work placements

Not applicable.

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

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.

Classification of course in study plans

  • Programme BPC-AMT Bachelor's, any year of study, summer semester, 6 credits, optional
  • Programme BPC-EKT Bachelor's, any year of study, summer semester, 6 credits, optional
  • Programme BPC-MET Bachelor's, any year of study, summer semester, 6 credits, optional
  • Programme BPC-SEE Bachelor's, any year of study, summer semester, 6 credits, optional

  • Programme BPC-AUD Bachelor's

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

  • Programme BPC-TLI Bachelor's, 2. year of study, summer semester, 6 credits, compulsory-optional
  • Programme BPC-IBE Bachelor's, 3. year of study, summer semester, 6 credits, compulsory-optional

Type of course unit

 

Lecture

26 hours, optionally

Teacher / Lecturer

Computer exercise

39 hours, compulsory

Teacher / Lecturer