Objected Oriented Programming With C# and Visual Studio 2017
4.7 (42 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
358 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Objected Oriented Programming With C# and Visual Studio 2017 to your Wishlist.

Add to Wishlist

Objected Oriented Programming With C# and Visual Studio 2017

Explore the processes and benefits of objected oriented programming
4.7 (42 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
358 students enrolled
Created by Tom O.
Last updated 5/2017
English
Current price: $10 Original price: $30 Discount: 67% off
1 day left at this price!
30-Day Money-Back Guarantee
Includes:
  • 5.5 hours on-demand video
  • 1 Article
  • 45 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I 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
View Curriculum
Requirements
  • 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.
Description

Thanks for stopping by! This course gives a detailed introduction to the fundamental concepts of objected oriented programming using C#. The course is about five hours long, and includes HD lessons, very detailed explantions and explorations, code examples, a couple tests and programming exercises with solutions. This is a course for those interested in learning about objected oriented programming. This course uses Visual Studio 2017, which you can download for free from Microsoft. The explanations I provide are very detailed, so please be sure to watch the free preview video before buying to be sure this is the right course for you. I do not rush through the material, so this course will work best for you if you have a similar mindset. Real comprehension takes time and is precious, and therefore this course focuses on the WHY, and not just the how of things. You will hear me repeat myself because saying the same thing in different ways helps to improve comprehension. Please be sure to watch the free preview video before buying to be absolutely certain that this course is the right one for you. Thank you for reading and I will see you inside!

note: parts of promo presentation licensed from presentermedia

Who is the target audience?
  • 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.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
38 Lectures
05:31:09
+
Get the needed software
1 Lecture 05:19
+
Looking at general class concepts
18 Lectures 02:45:42

Objective: Learn how to declare classes based on observations about objects in the world

Preview 07:46

Objective: Learn how code reuse works in a graphical program

Reusing code as a benefit of objected oriented programming
07:30

Objective: Learn how to find the common characteristics of objects and make instance variables

Storing information about individual objects with instance variables
12:20

Objective: Possible solution to question on instance variables

Solution to question on instance variables
09:41

Objective: Learn how to create a class, create instances of the class and how to confirm each instance has its own copy of the instance variable

Instantiating objects and observing instance variable values
11:40

Objective: Presentation of a possible solution to question on making object instances

Solution to creating instances and observing instance variable values
06:45

Objective: Learn how to express object behaviors with methods

Representing a behavior/action with a void method
13:21

Objective: Presentation of possible solution to question in previous video

Solution to question on void methods
04:01

Objective: Learn how to create a method that returns a value

Creating a class with methods that return values
15:22

Objective: Presentation of possible solution to question asked in previous video

Solution to question on method with return values
04:25

Objective: Learn why and how a property is declared and used

Using properties to control access to fields
11:59

Objective: Presentation of possible solution to question on arrow count property

Solution to question on properties
05:51

Objective: Learn how classes, methods, properties, fields, instances are used in a graphical application

Understanding how methods, properties, instances are used in real life
09:04

Objective: Create a class and examine the order in which code in a class runs

Understanding the order in which a program executes
08:44

Objectives: Understand why to use static fields and properties

Representing class level information with static fields and properties
10:40

Objective: Understand how object variables use references to point to the same memory

Understanding the concept of a reference variable
09:07

Objective: Learn how to use properties to show that two objects are really just pointers to the same memory

Sample solution to question on reference variables
08:16

Objectives: Review of the concepts covered in section 1

Review questions on chapter 1
09:10
+
Establishing class hierarchies
18 Lectures 02:39:59

Objective: Take a look at the concept of centralization familiar from every day experience

Motivating the benefits of centralization
05:52

Objective: Learn how to set up the Monster parent class 

Centralizing a common characteristic and behavior in the Monster class
06:52

Objective: Presentation of possible solution to question on virtual methods in the monster class

Possible solution to question on virtual methods from Monster class
04:06

Objective: Create and instantiate the Orc class

Deriving the Orc class from Monster and confirming inheritance is real
15:32

Objective: Understand the needed for overriding the Speak method derived from the monster class

Overriding the Speak method in the Orc class
09:45

Objective: Review the connection between the Orc and Monster classes

Test on connection between Monster and Orc classes
02:56

Objective: Create and instantiate the EvilDragon class with the overriding version of Speak

Deriving EvilDragon from Monster
10:39

Objective: Understand how to add methods that represent behaviors specific to orcs and evil dragons

Adding methods specific to orcs and evil dragons
07:46

Objective: Understand how to add individual methods to both derived classes

Possible solution to question on add BreatheFire to EvilDragon class
04:55

Objective: Take a journey of the .Net Framework to see how classes work in real life

Deep dive through the .Net Framework using classes
09:07

Objective: Understand exactly how polymorphism operates when inheritance is involved


Using inheritance polymorphism with lists of monster objects
15:25

Objective: Add a class that can hold monster objects

Creating the MonsterKeeper class
10:38

Objective: Understand how inheritance polymorphism operates in the context of method parameters

Test on polymorphism
04:42

Objective: Understand how interface can be used to group radically different objects by a common behavior

Grouping radically different objects by behaviors with interfaces
15:58

Objective: Possible solution to question on interfaces

Solution to question on interfaces and interface polymorphism
05:26

Objective: Understand how interface polymorphism works with method parameters

Using interface polymorphism in method calls
16:31

Objective: Understand how interfaces are used in the .Net framework to group classes by behaviors

Deep dive through the .Net Framework using interfaces
09:01

Objective: Check your understanding of the concepts related to interfaces and interface polymorphism

Test on interfaces
04:48
+
Next steps
1 Lecture 00:09

Objective: Take a look at some next possible steps

Wrap up
00:09
About the Instructor
Tom O.
4.5 Average rating
1,377 Reviews
16,716 Students
19 Courses
Web, Math, Stats., and Physics Expert
  • I have nine years experience as a teacher of mathematics, physics, statistics, and programming. I worked for five years as a database programmer using various technologies such as .NET, Clipper, SQL, SQL Server, SAS, Excel, and others. I'm the publisher of one of the most successful programming courses on udemy, called "Learn C# With Visual Studio 2013". Currently, I work as a mathematics and computer science teacher at a college in NY.
  • Related Education:
  • Master of Science in Applied Statistical Computing, Kennesaw State University
  • Bachelor of Arts, Pure Mathematics, Queens College
  • Associates of Science in Computer Programming
  • Creator of more than 1620 math, physics, statistics and programming videos
  • Programmer of more than 500 educational simulations