Object oriented programming
FEKT-BOOPAcad. year: 2018/2019
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
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
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
- Programme EEKR-CZV lifelong learning
branch ET-CZV , 1. year of study, summer semester, 6 credits, optional specialized