Heads up! To view this whole video, sign in with your Courses account or enroll in your free 7-day trial. Sign In Enroll
Well done!
      You have completed Intermediate C#!
      
    
You have completed Intermediate C#!
Preview
    
      
  Welcome to Intermediate C#! This is what we'll be learning.
Related Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign upRelated Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign up
                      [MUSIC]
                      0:00
                    
                    
                      Hello and welcome, I'm Jeremy.
                      0:04
                    
                    
                      If you've started learning C# by
taking the courses here at treehouse,
                      0:07
                    
                    
                      then you've already learned a lot
about the C# programming language.
                      0:11
                    
                    
                      With what you've learned so
                      0:15
                    
                    
                      far, you can do a lot and I hope you had
the chance to write some code on your own.
                      0:16
                    
                    
                      In the C# objects course we learned
about object oriented programming.
                      0:20
                    
                    
                      If you remember, object oriented
programming makes it easier to think about
                      0:26
                    
                    
                      architect in software programs
because we can think about software
                      0:30
                    
                    
                      as a number of different objects
that interact with each other.
                      0:34
                    
                    
                      Because object oriented programming
naturally breaks the program into types
                      0:38
                    
                    
                      of objects, object oriented code
is easier to reuse and maintain.
                      0:42
                    
                    
                      In this course we'll learn some slightly
more advanced concepts of object oriented
                      0:48
                    
                    
                      programming and see how these
concepts are supported by C#.
                      0:53
                    
                    
                      These language features and principles
are used by most object oriented programs.
                      0:58
                    
                    
                      This is especially so
in software frameworks.
                      1:03
                    
                    
                      Frameworks such as the .NET framework, for
                      1:06
                    
                    
                      example, are libraries of code that can be
used by including them in our own code.
                      1:09
                    
                    
                      Frameworks are what make
it possible to easily write
                      1:13
                    
                    
                      large software programs such as websites,
games, interactive desktop software,
                      1:17
                    
                    
                      mobile device applications and
so much more.
                      1:22
                    
                    
                      You may find yourself writing
your own frameworks and
                      1:25
                    
                    
                      libraries that'll be used by
other software developers.
                      1:28
                    
                    
                      If so you'll likely be using much
of what you learn in this course.
                      1:31
                    
                    
                      In any case,
knowing how these language features work
                      1:36
                    
                    
                      will help you understand how to work
with existing libraries and frameworks.
                      1:39
                    
                    
                      Later, when we learn more about using
the various classes provided by the .NET
                      1:44
                    
                    
                      Framework, you'll be grateful you
have a good grasp on these concepts.
                      1:48
                    
                    
                      You may recall that there are four
principles of object-oriented programming.
                      1:53
                    
                    
                      The principles we've learned so
far are inheritance and encapsulation.
                      1:58
                    
                    
                      We'll briefly review these principles
here and learn about two more,
                      2:03
                    
                    
                      polymorphism and abstraction.
                      2:08
                    
                    
                      These terms sound really technical but
                      2:10
                    
                    
                      the concepts they represent
are actually quite straightforward.
                      2:12
                    
                    
                      This course will build on top of what we
already know about C#, I recommend you
                      2:16
                    
                    
                      follow the links in the teacher's notes if
you haven't completed the prerequisites.
                      2:21
                    
                    
                      Or if you feel like you need to review,
                      2:26
                    
                    
                      you can always do a quick refresher by
watching some of those videos again.
                      2:27
                    
                    
                      We started learning about object oriented
programming in the C# Objects course where
                      2:32
                    
                    
                      we wrote the code for a tower defense
game called Treehouse Defense.
                      2:37
                    
                    
                      We'll use what we learn in this
course to make it easier to extend
                      2:42
                    
                    
                      the Treehouse Defense game.
                      2:45
                    
                    
                      To extend code means to add
capabilities to it without
                      2:47
                    
                    
                      rewriting any of the original code.
                      2:50
                    
                    
                      When we're done it will be possible to
add different types of invaders and
                      2:53
                    
                    
                      powers to the game with minimal effort.
                      2:57
                    
                    
                      This sounds like a lot of fun and
I'm excited to get going.
                      3:00
                    
                    
                      Let's begin by taking a look at the code
that we ended with in C# objects
                      3:04
                    
              
        You need to sign up for Treehouse in order to download course files.
Sign upYou need to sign up for Treehouse in order to set up Workspace
Sign up