Developer Training

I have been training developers for over 30 years and my "From Zero to ..." courses have been very popular with developers over the years. I am available to teach these courses either live on-site or live via a web conference. The list below contains a list of my set of courses that I can teach to you and your team. I have several more specialized topics, so if you don't see what you are looking for, please contact me and ask. I may be able to accommodate you.

Courseware Licensing

All of my courseware is available for licensing by training companies. Contact me for more information.

All Courses by Title
# Courses: 18

Learning XAML for use in .NET MAUI can be a little daunting. This course shows you how to get up to speed quickly and easily. This course builds a complete application as you learn about basic XAML controls, working with styles, the various list controls, and data binding. The Model-View-View-Model (MVVM) design pattern is shown so you learn the correct way to build .NET MAUI applications. Several examples of business application forms will be shown to illustrate many of the concepts learned throughout this course.

Learning Objectives

  • What is XAML and .NET MAUI
  • Using styles and resource dictionaries
  • Making the most of the various controls in .NET MAUI
  • Take advantage of data binding and the MVVM design pattern
  • Learn Dependency Injection
  • Creating an N-Tier application to be used beyond .NET MAUI

Course Length

2 day

One of the most popular methods for creating web application these days is Microsoft's .NET Core MVC and Razor markup. This course assumes you have little to no experience using MVC and want to learn this exciting technology. This course takes you through building a business application using the .NET Core MVC and Razor markup.

Learning Objectives

  • Getting started with .NET Core MVC and Razor markup
  • Learn to manage state, catch exceptions and perform logging
  • Work with tag helpers and the HTML helper class
  • Using the MVVM design pattern
  • Displaying, validating, and modifying data in a database

Course Length

2 days

Using Web APIs, you can write code behind a firewall to access your data and expose just what you want to the outside world. Traditionally you used MVC with controllers to create Web APIs. Starting with .NET Core Microsoft released a new method for creating Web APIs called the Minimal Web API. This new approach is simpler than MVC. In this course you learn how to use these minimal calls and how best to architect them to provide scalability and ease of maintenance. Even if you have never created a Minimal Web API before, this course guides you step-by-step through the entire process.

Learning Objectives

  • What is a Minimal Web API?
  • Build a Minimal Web API Project
  • Use PostMan and Swagger to Test API Calls
  • Using the MapGet(), MapPost(), MapPut() and MapDelete() Methods
  • Build a Router Base Class to Simplify Your Minimal APIs
  • Add Logging to your Web API Calls
  • Add Exception Handling to your Web API Calls
  • Develop a Complete Set of CRUD APIs
  • Call your Web APIs from JavaScript/jQuery
  • Add CORS to Allow Cross-Domain Calls
  • The Basics of Securing Minimal Web APIs

Course Length

2 days

Web applications and web developers are in high demand at most companies today. Microsoft's ASP.NET MVC paradigm is an excellent approach to developing web applications. In this course you learn ASP.NET and MVC from the ground up. Even if you have had no prior experience with the MVC paradigm you will learn all you need to create web applications in no time.

Learning Objectives

  • What is a Minimal Web API?
  • Build a Web API Project
  • Use PostMan and Swagger to Test API Calls
  • Configure your Web API using Config Classes
  • Determine the Return Type to Use
  • Format Data as JSON or XML
  • Setup Web API Routes
  • Add Logging to your Web API Calls
  • Add Exception Handling to your Web API Calls
  • Develop a Complete Set of CRUD APIs
  • Call your Web APIs from JavaScript/jQuery
  • Add CORS to Allow Cross-Domain Calls
  • The Basics of Securing Web APIs

Course Length

2 days

There are many ORMs out there to choose from; Entity Framework, NHibernate, Dapper to name a few. However, each of these suffer in various areas from being overly complicated, having performance problems, requiring too much configuration, etc. Each of them all use the ADO.NET technology under the hood, so why not just use it? In this course you learn all you need to know about ADO.NET to make working with data a breeze. In addition, a complete set of wrapper classes is provided to make the code you need to write much smaller than normal.

Learning Objectives

  • Connect and submit queries to a database
  • Work with stored procedures
  • Make ADO.NET much simpler to use

Course Length

1-2 days

Developing websites that are responsive to different size devices is easy when you use the right tools. Twitter's Bootstrap is the tool of choice these days. Not only is it free, but also has many free themes that allow you to modify the look and feel in a flash. Learning bootstrap is easy with the resources available on the web, however, having someone walk you through the basics step-by-step will greatly increase your learning. This course assumes you know little or nothing about bootstrap, but you want to learn how to create great looking websites that work on a desktop, tablet or smart phone. In this course you see how to use the Bootstrap grid system, use helper classes, buttons, text, images, tables, alerts, forms, cards and much more.

Learning Objectives

  • Become familiar with Bootstrap
  • Learn to build web pages that are responsive
  • Learn to use jQuery to manipulate the Bootstrap elements
  • Build some standard business UI pages

Course Length

1-2 days

This course is for anyone who wants to learn to become a C# .NET programmer. C# is one of the most popular programming languages in the world today for the .NET platform. C# can create any type of .NET application just like any other .NET language. In this course you are introduced to the C# language. By the end of this course you will have learned techniques to allow you to create C# applications and have a good foundation on which to continue on with more advanced courses.

Learning Objectives

  • An overview of Visual Studio .NET
  • An Introduction to the C# language
  • Object Oriented Programming principles
  • Using Controls
  • Event Programming Basics
  • Variables and Operators
  • Controlling flow using if statements and loops
  • Creating classes with methods and properties

Course Length

2-3 days

When creating websites with HTML, you must also learn to make that HTML look great. The way to do that is with cascading style sheets (CSS). This course teaches you the basics of CSS and CSS3 to create that great look for your web pages. CSS makes your HTML look great, be more efficient, and easer to maintain.

Learning Objectives

  • Why you should use CSS
  • How best to structure CSS
  • The latest CSS 3 techniques

Course Length

1-2 days

Most development these days is programming web applications. In order to program a web application, you must know HTML. This course teaches you the basics of HTML to layout the structure of your web pages. This course starts out by describing HTML and how it helps you layout the overall structure of your web pages. You learn the basics of HTML elements and attributes through many examples.

Learning Objectives

  • The basics of HTML
  • Formatting and basic styling of HTML
  • The newer HTML 5 elements and attributes
  • Using the HTML 5 APIs

Course Length

2 days

The JavaScript language is everywhere these days. Everything from websites, to mobile apps, to game development use JavaScript. You can hone JavaScript and jQuery skills by taking this course. If you are new to JavaScript and jQuery, this course is for you. You are introduced to both JavaScript and the jQuery library.

Learning Objectives

  • Interact with, and manipulate elements on web pages
  • Learn the object-oriented principles of JavaScript
  • Simplify your coding using closures and templates
  • The basics of jQuery
  • Node.js and Express Basics
  • Create REST API using Node.js and Express
  • Create a Website using Node.js and Express
  • PouchDB
  • Geolocation using Google Maps API

Course Length

2-3 days

This course is for anyone who wants to learn to use LINQ syntax in their .NET applications to effectively query collections of data. In this 2 day hands-on course you learn the basics of LINQ, then move on to more intermediate and advanced topics. During this course you learn both the query and the method syntaxes for working with LINQ.

Learning Objectives

  • Why LINQ is Important
  • Selecting, Filtering and Ordering Data
  • Taking, Skipping and Getting Distinct Data
  • Getting Specific Data using Take, Skip and Distinct
  • Union and Join Two or More Collections
  • Grouping and Aggregating Data
  • Iterating Over Collections
  • What is Deferred Execution and Why it is Important

Course Length

1-2 days

If you are a programmer or a budding database administrator, you need to know SQL Server. SQL Server is one of the most popular database systems in use today. This course teaches what you need to know in order to efficiently create a database design to support online transaction processing (OLTP) applications. You learn the T-SQL language to create database tables and other objects and to retrieve and modify data.

Learning Objectives

  • Why use SQL Server
  • Create databases and tables
  • Create data retrieval and modification SQL
  • Write stored procedures, triggers and views

Course Length

2-3 days

Whether you use SQL Server, Oracle, MySQL, SQLLite, PostgreSQL, or another relational database you need to know how to use Structured Query Language (SQL). In this course you are guided step-by-step to building SQL to read, order, filter, and modify data in a relational database. The course also shows you how to aggregate data, build subqueries, join two or more tables, and group data. You also learn to create stored procedures, user-defined functions, and views. The most widely used date, math, string, conversion, and JSON manipulation functions are also covered. Several methods of importing and exporting data into and out of a database are illustrated. Finally, you learn the basics of query optimization using built-in tools, indexes, and writing efficient queries. Throughout the course you are provided with the best practices of how these apply to application development.

Learning Objectives

  • A Quick Introduction to Relational Databases
  • Retrieving Data with SELECT
  • Working With SELECT Filters and Expressions
  • Ordering Data Using ORDER BY
  • Get Subsets of Data with WHERE
  • Aggregating Data
  • Using Subqueries to Filter Data
  • Add, Edit, and Delete Data
  • Retrieve Data from Multiple Tables with JOINs
  • Set Operators (UNION, EXCEPT, INTERSECT)
  • Group Data Using GROUP BY and HAVING
  • Working with Date Data Types
  • Working with the String Data Type
  • Rounding, Math, Null, Data, and Decision Functions
  • Manipulating JSON and XML Data
  • Creating and Using Stored Procedures
  • Creating and Using User-Defined Functions
  • Creating and Using Views
  • The Basics of Query Optimization
  • Monitoring Queries

Course Length

2 days

A popular method for creating REST APIs for applications to connect to is Node.js. There are many benefits to using Node including JavaScript is the language you use to program it, extremely fast, cross-platform, easy to learn, very scalable, and more. If you have ever wanted to learn how to program Node, then this course is for you.

Learning Objectives

  • Create a Node server for REST APIs
  • Retrieve and search for data
  • Learn to POST, PUT, PATCH, and DELETE data
  • Handle exceptions

Course Length

1 day

Every programmer knows they should be writing unit tests for their applications. Visual Studio contains unit testing tools built-in, so it makes it easy to get started. In this course you are introduced to the basics of unit testing, how to run tests, and how to reduce the number of tests by taking advantage of data-driven tests. You see an example of how to architect your applications to make testing quicker and easier. At the end of this course you will walk away with the knowledge you need to start automating the testing of your applications.

Learning Objectives

  • Why unit test
  • Build your first tests using Visual Studio
  • Initialization and Cleanup
  • Attributes and Assert Classes
  • Data-Driven Tests and using Command Line Utilities

Course Length

1-2 days

Every programmer knows they should be writing unit tests for their applications. Visual Studio contains unit testing tools built-in, so it makes it easy to get started. In this course you are introduced to the basics of unit testing, how to run tests, and how to reduce the number of tests by taking advantage of data-driven tests. You see an example of how to architect your applications to make testing quicker and easier. At the end of this course you will walk away with the knowledge you need to start automating the testing of your applications.

Learning Objectives

  • Why unit test
  • Build your first tests using Visual Studio
  • Initialization and Cleanup
  • Attributes and Assert Classes
  • Data-Driven Tests and using Command Line Utilities

Course Length

1-2 days

Learning XAML for use in Windows Presentation Foundation (WPF) can be a little daunting. This course shows you how to get up to speed quickly and easily. You learn most of the basic controls, working with styles, working with the various list controls and data binding. The Model-View-View-Model (MVVM) design pattern is used throughout this course to show you the correct way to build WPF applications. Several examples of business application forms will be shown to illustrate many of the concepts learned throughout this course.

Learning Objectives

  • What is XAML and WPF
  • Using styles and resource dictionaries
  • Making the most of the various controls in WPF
  • Take advantage of data binding and the MVVM design pattern

Course Length

4 days

If you have to work with XML files in your job, you need to know the most efficient way to process them using C#. The .NET Framework has a few different methods of working with XML files. This course teaches you how to process XML in the most efficient manner.

Learning Objectives

  • Using LINQ to XML
  • Using XPath queries
  • Store and restore .NET objects as XML

Course Length

1 day