C# Professional Programmer Mentorship Program

C Sharp Logo

Why C# and .Net?

The C# programming language was developed around 2000 by Microsoft as part of its .NET platform initiative. Despite its age, it is constantly updated and it’s used as main development language in a wide range of applications: mobile, web, games… you name it. Still, why to learn C# when there are Python and other languages and platforms much easier to learn and develop with?

Well, first of all, it is relatively simple to get started with C#.  It is a high-level language, and (with the help of .Net Framework) it abstracts away (i.e. handles for you) most of the complex details of the machine (computer) so you can focus on programming the application instead of dealing with details that many consider both tedious and difficult. However, there are dragons out there aka advanced topics that are difficult to understand and master, but one of the main goals of this mentorship program is to help you to build a solid knowledge base.

Next, argument refers to development speed achieved by using C#, even though this is dependent on the Visual Studio IDE (Integrated Development Environment). C# is a statically-typed language, which means your code will be checked for errors before it gets built into an application. Errors will be easier to track down, and since statically-typed languages are also more strict with how you code something, the codebase, in general, will be more consistent and thus easier to maintain as it grows in size and complexity.

It is fast! Being a statically-typed language, C# is faster than dynamically typed languages because things are more clearly defined. Thus, when the app is running, your machine’s resources will not be wasted on checking the definition of something in your code.

You’ll not be a lone wolf; there is a growing community around the language itself and the .Net Framework that recently became multiplatform by making possible to run applications on different operating systems such as Linux (different flavors) and macOS. There are many books, courses, forums, etc. that you can use for gettings answers to the problems that you’ll encounter.

Excerpting the case when do you want to learn C# (and .Net Framework) as a hobby, probably you’re interested in getting value from the investment in this mentorship program. The good news is that there are many employment offers on the market, with an average salary of more than 50000 EUR/yr. However, you’ll need to invest effort in this program in order to get to the level that you’ll become attractive for the employers.

What you will learn

First of all, you’ll get a deep and detailed examination of the syntax and semantics of C# 7.x.

Next step is to illustrate the use of numerous .NET APIs, including database access with ADO.NET and the Entity Framework (EF), user interfaces with Windows Presentation Foundation (WPF), service-oriented applications with Windows Communication Foundation (WCF), and web service and web site development using ASP.NET MVC.

Lastly, but not least, we’ll cover the newest member of the .NET family, .NET Core, which is the cross-platform version of the .NET platform.

This mentorship program has a modular structure, as follows, and is intended to go thru it from end to end:

Levels Modules Topics
Fundamentals Module 1: Introducing C# and the .NET Platform .Net Overview
Building C# Applications
Module 2: Core C# Programming Core C# Programming Constructs, Part I
Core C# Programming Constructs, Part II
Module 3: Object-Oriented Programming with C# Understanding Encapsulation
Understanding Inheritance and Polymorphism
Understanding Structured Exception Handling
Working with Interfaces
Advanced Module 4: Advanced C# Programming Collections and Generics
Delegates, Events, and Lambda Expressions
Advanced C# Language Features
LINQ to Objects
Understanding Object Lifetime
Module 5: Programming with .NET Assemblies Building and Configuring Class Libraries
Type Reflection, Late Binding, and Attribute-Based Programming
Dynamic Types and the Dynamic Language Runtime
Processes, AppDomains, and Object Contexts
Understanding CIL and the Role of Dynamic Assemblies
Module 6: Introducing the .NET Base Class Libraries Multithreaded, Parallel, and Async Programming
File I/O and Object Serialization
Data Access with ADO.NET
Introducing Entity Framework 6
Introducing Windows Communication Foundation
Practitioner Module 7: Windows Presentation Foundation Introducing Windows Presentation Foundation and XAML
WPF Controls, Layouts, Events, and Data Binding
WPF Graphics Rendering Services
WPF Resources, Animations, Styles, and Templates
WPF Notifications, Validations, Commands, and MVVM
Module 8: ASP.NET Introducing ASP.NET MVC
Introducing ASP.NET Web API
Module 9: NET CORE .NET Core Overview
Introducing Entity Framework Core
Introducing ASP.NET Core Web Applications
Introducing ASP.NET Core Service Applications

Who am I?

For complete info about me, you can have a look at my LinkedIn professional profile. Besides this, I have many years of experience teaching programming courses both in public and private universities. Also, I have built and coached a couple of developers and development teams in using best engineering principles and practices. Regarding C# and .Net, I have started to use them back in 2003. Since then, I was working to tens of small to medium-sized projects targeting different platforms (web, backend, mobile) for different international customers.

Is this program for me?

As in most of the cases in the software development industry, it depends. It’s all about your motivation and commitment to dedicate effort, time and money to learn something at a professional level. O my side, I make the commitment that I’ll do my best to help you to learn and understand what I’m going to teach you.

How things are going to work

The program is structured on three levels, Fundamentals, Advanced, and Practitioner, each of them having three modules, with a variable number of topics. You can opt-in for the full package or for a specific level.

Maybe you have wondered why there is no price, duration and starting date for the program. This information is missing because there is nothing preset. Let’s move further on with the explanation and you’ll understand how is going to work.

First of all, please fill in and submit the form below. Next, you’ll receive an e-mail with a questionnaire that I’ll use to understand what expectations do you have and to create a learning profile customized for you. When this is ready, you’ll receive from me an invitation for a short Hangouts call (about 15 min) in order to know each other.

If the number of registered students is big enough, but no more than 15 per study group, you’ll receive an e-mail with the length of the course, the scheduled starting date, and the price, all created based on the specific profiles of the study group members.

After the payment is received, you’ll be notified about the enrollment and you’ll receive the welcome kit with the required info about program activities.

That’s it! If you think that this mentorship program is for you, please use the form below to register yourself and to choose the level(s) that you want to learn about.

Thank you and I hope that we’ll work together in this endeavor!