C# Programming Training – Basics

In this C# programming training the basics of C# and Visual Studio 2017 are presented comprehensively and compactly. An intensive training for software developers in companies who want to program professionally with C# and Visual Studio.

The lecturer Prof. Richard Kaiser has already held well over 100 company seminars on C# and C++. His customers include renowned global corporations and small and medium-sized enterprises. He knows the practical requirements and deals with them in detail both in the basic concepts and in the details.

Contents:

The contents (here detailed as pdf) of this course can be adapted to the desires of the participants.

1. The Development Environment Visual Studio

Editor, Debugger, Intellisense, Solution Explorer, Tips and Tricks, Lesser Known Features.

2. .NET User Interface Controls

This topic can be done with WPF and Windows Forms.

  • Single and multi-line text boxes, labels
  • ListBoxes and ComboBoxes
  • Buttons and Events
  • CheckBoxes, RadioButtons, GroupBox and Panel
  • Main Menus and Context Menus
  • standard dialogs

3. Elementary Data Types and Statements

  • Variables. Field and instance variables: Field and instance variables, Local variables, Type inference with var
  • integer data types (int, char, etc.), implicit conversions, checked context
  • The data type bool
  • Floating point data types: float, double and decimal (a precise floating point type)
  • Elementary statements (if, for, while etc.)
  • The integrated debugger
  • functions, value, ref and out parameters, default arguments, named parameters
  • Simple Classes, Instance Elements, Garbage Collection, and Static Elements
  • Using the .NET libraries (e.g. Math)
  • Floating point data types, decimal for exact commercial invoices
  • Constants and readonly field variables
  • Value types, value and reference semantics, enumeration types
  • The string class string
  • Overloaded methods and operators
  • Assemblies – Applications and DLLs
  • namespaces
  • preprocessor directives

4. Arrays and Collection Classes

  • One-dimensional arrays and the foreach statement
  • Array functions for directories and files
  • The base class Array
  • parameter arrays
  • Sequential Collection Classes (List<T>, Queue<T>, LinkedList<T>)
  • Generic Dictionaries, HashSet<T> and SortedSet<T>

5. .NET Classes for Processing Files

  1. Binary files and text files
  2. XML files
  3. Serialization with BinaryFormatter. SoapFormatter and XmlSerializer

6. Object-Oriented Programming: Reference Classes

  • Fields and Methods
  • The Scope of Validity of Class Elements
  • Objects, data encapsulation and the access rights private and public
  • Data Encapsulation with Properties
  • Calling methods and the this reference
  • constructors, the standard constructor, object initializer, this constructor initializer
  • finaliser
  • Static elements, constructors and classes
  • OO Analysis and Design: Designing Classes

7. Inheritance and Composition

  • The elements of derived classes
  • Access rights to the elements of base classes
  • The Basis Class System.Object and its Methods
  • Inheritance of Forms in Forms Applications
  • OO Design: Inheritance and “is a” Relationships
  • OO design: composition and “has a” relationship
  • Conversions Between Derived Classes
  • Inheritance of value classes
  • Virtual functions (new and override), late binding and polymorphism
  • Abstract classes and methods
  • Type tests with is and type conversions with as
  • Sealed classes and methods

 

Miscellaneous:

Prerequisites: Interest in programming. Practical experience with a programming language (e.g. C, C++, C#, Java) is helpful, but not necessary.

Teaching style: Lecture with many examples. A balanced combination of theory and practice.

  • At the beginning of a new topic, an overview of the application possibilities, basic ideas and syntax is described. The concepts and syntax are then illustrated using carefully selected and proven examples.
  • If the participants want to deepen their knowledge independently: The manuscript contains numerous practical exercises.
  • Flexibility: If it turns out during the seminar that the participants lack the basics or that further topics are desired, I can adapt the agenda to the participants’ wishes at any time.

Manuscript: Detailed printed training material (approx. 200 pages) – Complete text, no PowerPoint slides containing only keywords. Therefore the course material can also be used as a reference at work.

Place and time: This seminar is offered as a company seminar (in-house).

Duration: 3-5 days