20483
Programming in C Sharp
Description
The course is the first stage of the .NET programming training. The knowledge gained will be useful for the further advanced ASP.NET MVC development course.
Suggested For
The course is recommended for beginners, developers with previous object-oriented programming knowledge and experience, or for professionals with experience in non-.NET programming languages (e.g. Java, C++, VB developers) who want to learn C#, the .NET Framework and Visual Studio development environment.
Outline
- An overview of the Visual Studio 2017 development environment: structure, menus, tools, key differences from previous versions, an overview of the sample application to be developed An overview of the C# language: an overview of the .NET framework; C# language syntax; major language building blocks; basic use of data types, operators, and expressions; using the Visual Studio debugger.
- Method creation and exception handling: creating and using methods; using overloaded methods with parameters; exception handling; code refactoring; application monitoring; logging and profiling.
- Coding for graphical applications: basic use of structures and enumerators; sorting data into collections; event handling.
- Creating classes and implementing type-safe collections: creating and managing classes, defining and implementing interfaces, concept and creation of generic collections, difference between types and reference types.
- Building a class hierarchy: basic concepts, building a class hierarchy, the concept of abstract classes, how inheritance works and how to implement it, extending the functionality of classes in the .NET framework, building generic classes and methods.
- Local data management: reading and writing files, I/O management using streams, XML overview, data serialization and deserialization.
- Connecting to databases: overview and operation of Entity data model, key classes, creating and using Entity data model, querying and updating data using LINQ.
- Remote data management: overview of System.NET namespace and WCF Data Service, receiving and sending data via web, accessing data in the cloud.
- Design and development of user interface: overview and functionality of XAML, use of XAML views and controls, implementation of data binding, styling and display of user interface.
- Application performance and response management: speeding up application speed and response, concept and support for multitasking using Tasks and Lambda expressions, concept and use of asynchronous methods, handling concurrent data accesses using synchronous primitives and concurrent collections, feedback to the user on the status of longer operations.
- Non-managed code integration: basic concepts, creating and using non-managed libraries and dynamic objects, object lifetime management, controlling non-managed resources.
- Creating reusable types and assemblies: basic concepts, overview of object metadata, using reflection, creating and using custom attributes, generating managed code using CodeDOM, managing and deploying assemblies, using the Global Assembly Cache.
- Encrypting and decrypting data: basic concepts, how symmetric and asymmetric encryption works and how to implement it, using the System.Security namespace.
Prerequisites
User skills in Windows 10 or higher, object-oriented programming skills and experience in a programming language (e.g. C, C++, Java, Visual Basic). Basic knowledge of database management. As some of the course material is in English, a basic level of English at document reading level is required. The lecture will be held in Hungarian.