3 out of 5
1 review on Udemy

Software Development Master Class – Intermediate C#

Intermediate Programming Concepts with .Net Core and C#
Mike Witt
971 students enrolled
English [Auto]
Learn about intermediate topics such as arrays, program logic flow, classes, multi-tier applications, data structures, and exception handling.
Intermediate software development with Microsoft .Net and C#.
Introduction to Object-Oriented Programming (OOP) and Object-Oriented Design (OOD)
Learn important concepts and techniques which can be applied to real-world professional situations.

In this course I will set you on a path that can take you from absolute beginner to professional software developer. This is not something that you can do in an afternoon, but this intermediate course is a start. My name is Mike Witt and I’m developing this course as the second step in a program that is intended to provide all the information that you will need to become a programmer with skills in a particular area: Developing web applications built around a .Net server, SQL Server database, and an Angular based UI. This course is the second step, but if you stick with it you can turn your learning and hard work into a career.

If you’ve glanced at my bio, you will note that I’ve been developing software for over 35 years. When I started, I had no idea what programming was. You may only have a basic understanding, but programming (unlike rocket science) is more of a skill and a craft than a theoretical science (like rocket science)! Because of this and because of a shortage of workers, many companies are willing to hire someone even if they don’t meet their educational requirements. To be sure, most companies want a degree in computer science or at least some degree in a science or related field, but when it comes right down to it they want and need someone who can do the work.

This program will help you leap over the education gap by, not only understanding the technical nuts and bolts, but also by projecting your thinking and personality as someone who can do and understand software development. Here are some of the very important topics you will learn as part of this course:

– An in-depth look at variables and their capabilities as well as date and time types and arrays.

– Build more program logic elements into your applications with foreach loops and switch/case branches.

– Get a start on developing object-oriented programs with classes, methods, properties, and constructors.

– Find out how to build an application with a mult-tier architecture using object-oriented design techniques.

– Use object relationships, exception handling, logging, and data persistence to build first-class applications.

– Understand how data structures work to provide efficient and fast access to data.

– Finally, you will learn about various .Net libraries that can help with common programming tasks such as lists, dictionaries, and files.

I am truly excited to share my knowledge and my enthusiasm for developing software with you. Come on this journey and I will do my best to help you learn, enjoy, and finally become part of a community of developers who make this world go round!

This course comes with detailed explanations of each concept along with working examples for each programming assignment and a Verifiable Certificate of Completion.


Course Introduction

Welcome to the Software Development Master Class with intermediate C# programming.

Course Overview

Find out what will be covered in this course.

Review of Basic Programming

Get an overview of what was taught prior to this course and is a prerequisite to understanding this course.

Assignments & Code Examples

Find out how to download examples and assignment results.

Load Development Environment

Learn how to load Visual Studio 2019 in order to work along with this course and do assignments.

More Fun With Variables

Fun With Variables

Section overview of variables and arrays.

Value Type Variables

Understand what a value type variable is, get more detailed information on the different types of standard variables and how they are stored and discover limitations on numeric and other types of variables.

What Time is it? Date & Time Variables

Learn how to use date & time stamps in a software application and understand what time based issues are encountered.

Exploring Variables
All About Strings

Get a deeper understand of strings and how to manipulate them.

More is Better - Arrays

Use arrays to store collections of variables. This includes declaring array variables, indexing into arrays to store and retrieve values and using array literal values.

String Snake

Program Organization and Logic

Organizing Our Programs

Learn about organizing programs with additional program logic flows and decomposing functionality into methods.

More Logic Flow Choices

Get an introduction to the switch/case statement as well find out how to use the foreach to iterate through arrays (and other collections). Finally, what is De Morgan's Law and can it provide valuable help with logic.

Let's Function!

Learning about functional decomposition and defining methods (functions) in C#.

Comment On String Lengths

A Touch of Class

A Touch of Class

Learn about classes, methods, properties, fields, and constructors.

Classes & Objects

Get an introduction to Object-Oriented Programming (OOP) with defining classes and instantiating objects. Learn how C# classes can be defined with fields, properties, and methods.

Constructors, Overloading, and Properties

Learning about class constructors, method overloading, and get some more in-depth information about declartion and use of properties.

Structs, Value Types for a Class

Find out what a struct is and how it is different than a class.

.Net Libraries: Lists and Files

Introduction to standard .Net libraries, in particular, to generic lists as well as writing and reading strings to and from files.

Rectangles That Draw Themselves

Multi-Tier Objected-Oriented Applications

Building an Object-Oriented Application

Find out how to build a multi-tier application using object-oriented design techniques.

Introduction to Object Oriented Design

Find out about good class design and get an introduction to Object-Oriented Design (OOD). Get an introduction to Object-Oriented concepts like single responsibility and encapsulation.

Architectural Layering

Learn how to break an application down into multiple tiers in order to separate architectural boundaries.

Inserting Object Instances

Create object instances and store them in memory using lists.

Building Relationships

Build object references with lists and correlation class where a many-to-many relationship exists.

Handling Errors

Understand how to handle exceptions and generate your own exceptions so that errors do not occur or, when they do, be able to handle the error gracefully.

Data Persistence

Use JSON serialization to persist an object graph to a file and load it back into memory at a later time.

Logging and Bug Analysis

Learn about logging frameworks and develop your own logging framework to write messages to a file. Handle all first chance exceptions so that they are logged as well.

Write Out Read In

Data Structures

Introduction to Data Structures

Find out what data structures are and what will be discussed in this section.

Organization of Data

Data structures provide a way to organize data into various forms. Learn what these are.

Updates to School Application

Here I present some updates to the school application to prepare it for using various data structures to store and retrieve its data.

Sorting a Linear List

Learn about sorting lists using a bubble sort.

Binary Search on a Sorted List

Learn how a sorted list can searched in an efficient manner by repeatedly breaking the list in half until the searched item is found.

Binary Trees - Building

Learn about binary trees and how to build one with data.

Binary Trees - Walking

Learn how to walk all the nodes in a binary tree so that the results come back sorted.

Binary Trees - Searching

Find out how to search for a particular node in a binary tree.

Using a .Net Dictionary To Manage a List

Find out how .Net dictionaries and .Net libraries in general can make your job a lot easier.

Do a Binary Search on a Sorted List With Recursion


You Made It!

You made it through the course, find out what we covered and what's next.

What We Learned

Get a recap on what was learned during this course.

Thank You!

Find out how to leave a review for your instructor.

Bonus Lecture
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
3 out of 5
1 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1
Course available for 2 days
30-Day Money-Back Guarantee


7 hours on-demand video
1 article
Full lifetime access
Access on mobile and TV
Certificate of Completion

External Links May Contain Affiliate Links read more

Join our Telegram Channel To Get Latest Notification & Course Updates!
Join Our Telegram For FREE Courses & Canva PremiumJOIN NOW