Objected Oriented Programming With C# and Visual Studio 2017
What you'll learn
- Recognize classes of objects and model them in code
- Store object level information using instance variables
- Describe the benefits of object oriented programming
- Create individual objects and discuss object instantiation
- Understand how behaviors are coded in methods
- Create and use properties to control access to instance variables
- Understand how methods, properties and fields are used in a graphical application
- Describe the order of execution of a program and use the debugger in Visual Studio
- Use static variables and properties to describe class level information
- Understand what a reference variable is and how to show how they operate
- Create a class and centralize information in it so less coding can be done
- Describe the reasons for creating child classes
- Override methods, and understand why this is necessary and how it works with virtual methods
- Describe examples of inheritance polymorphism and how this helps with writing less code
- Describe examples of polymorphism in method parameters and how this helps with writing less code
- Describe how an interface allows grouping objects by behaviors
- Describe how interface polymorphism works with lists so less code can be written
- Describe how interface polymorphism works with method parameters so less code can be written
- Understand how abstract classes and interfaces differ and what purpose each one serves
- Understand how the .Net framework is structured using classes and interfaces
- Describe reasons for creating methods that are specific to individual classes
- Understand how polymorphism allows us to ensure that the correct, derived class methods are called
- Understand the reasons for coding virtual methods
- Know why instance variables should be private and the dangers of not not making them private
- Understand how abstraction is used to produce simplified models of the world
- This course will not work with VS 2015 or previous versions. You must use VS 2017.
- You should have a C# basics course, like "Basic C# Clearly Explained", already under your belt.
- forloops are used in the bottom of the course. Do a search for "C# Loops for Beginners."
- Please watch the video previews to be sure my teaching style works for you.
- This course focuses on the essential logic of OOP. It uses just a few, carefully developed examples.
- There are questions throughout this course, so you should be coding along to answer them.
- There are additional, separate and different examples stored under lesson resources.
- You should know how to create a simple console program in Visual Studio.
- You should know about basic data types like integer, string and bool.
- You should know how to create a method already.
- This is not the first C# course you should be taking.
- In the early lessons I use pictures to motivate concepts, so please be sure you are aware of that.
- The bottom section is much more advanced, so it's for those who want to push ahead much harder.
1. Friends, please take the time to review the curriculum carefully before buying so you can see exactly whether this is the right course for you. Please do not join until you have completed this step.
2. Please watch the free preview videos so you can see whether the presentation style works for you. Please remember I am just one person, and I make my videos often after I have been working for many hours already. PLease do not join until you have completed this step.
3. If something needs fixing, please let me know. Again, I'm just one person and not a big team of people. I will try to fix it as quickly as possible. Thank you.
1. This is a course for those who are willing to push themselves. It's not a "basic" introduction that gives an overly simplified perspective on OOP. In places, this code connects to the .NET framework, which is a professional level code base written in C#. My promise is simple: take this course, and you'll discover details not taught in any other course. Speaking from experience, I can tell you that it is through consistent, daily effort, and I don't mean little effort, but whole-hearted effort, that one makes progress when it comes to these technical subjects. That's what years of struggling have taught me.
2. Please be sure to watch the free preview videos before enrolling so you can be sure the style of presentation works for you.
3. I use pictures in the earlier videos to motivate some concepts. This is good for visual learners.
4. The more advanced videos on the bottom are more about just straight code and the .NET Framework. I have this section on the bottom so you can see how OOP actually looks in a professional level framework.
5. I have placed questions throughout the videos. I also mention the solutions from my perspective.
6. There are separate PDF's placed under lesson resources. These contains completely separate examples.
7. I discuss concepts from multiple perspectives where I feel it's necessary to do so. I think developing a multidimensional understanding of concepts results in a much deeper level of true understanding.
8. In some of the videos I place a lot of comments explaining each line bit by bit. I do this because I personally feel that reading comments makes a difference in terms of real understanding.
9. My explanations focus both on the how and the why, and I stress this difference throughout most of the course.
10. This is not the first C# course you should be taking.
11. The bottom sections are a break from the upper sections and show how C# is used in Windows Forms programs in actual code.
Who should not join:
1. People wanting the how without the why.
2. People looking for fast and superficial explanations.
3. People who are interested only in code without any visual explanations.
4. People who like fast talking.
5. People not looking for multiple explanations from multiple perspectives.
Thank you for reading, and I will see you inside!
note: parts of promo presentation licensed from presentermedia
Who this course is for:
- This is a course for those who are interested in learning about objected oriented programming with C#.
- There are tests in this course, and additional exercises under lesson resources, so join if you like to test yourself.
- If you are an OOP expert, please do not enroll in this course.
- You enjoy getting straight into coding because you agree that comprehension results from active participation.
- You should not enroll in this course if you don't like to have the same concept explained multiple times, from different perspectives.
I love computers , math and programming.
I teach because it gives me great joy to understand things deeply and to share that knowledge with others.
1. Master's degree in Statistical Computing
2. BA in mathematics
3. Professional development certificates from Microsoft in each area below:
1. Deep learning with Python
2. Introduction to Artificial intelligence
3. Data science with Python
4. Math for machine learning
5. Data science research methods with Python
4. Professional certificates from other schools:
1. Columbia university certificate in introduction to corporate finance
2. MIT certificate in introductory economics