Course info

Rating

(1994)

Level

Intermediate

Updated

Sep 30, 2011

Duration

2h 44m

Description

C# Programming Paradigms introduces you to the variety of programming styles supported by the C# language. At its core, C# is an object-oriented, statically-typed language that lends itself to procedural and object-oriented programming, but recent additions to the language have made it much easier to develop using other programming paradigms, most notably, dynamic programming and functional programming. This course also covers programming with the Language Integrated Query features of C#, and software craftsmanship. Note - this course was originally titled "C# Fundamentals - Part 2," but has been renamed to more accurately reflect the target audience and content of this course. The course content itself has not been changed since its original publication.

About the author

Scott has over 15 years of experience in commercial software
development and is a frequent speaker at national conferences,
and local user groups. Scott is a Microsoft MVP and has authored
books on several Microsoft technologies, including ASP.NET, C#,
and Windows Workflow.

Section Introduction Transcripts

C# and LINQHi, this is Scott Allen and this module is the story of LINQ and C#. LINQ stands for Language Intergraded Query. And in this module we'll explore the features added to the C# language to facilitate LINQ. Features like Lambda expressions and Extension methods, as well as how to write Quires in C#. Some of the later modules in this course will build upon the features we cover here, and in fact, we'll see how some of the features added to the C# language for LINQ can be used in new and wonderful ways. . . .

C# and the DLRHi, this is Scott Allen and this module is about C# and the Dynamic Language Runtime. With. NET 4. 0, Microsoft built a new Runtime on top of the CLR to support Dynamic Programming Languages. This new Runtime is the Dynamic Language Runtime or the DLR. Not only does the DLR allow Dynamic Languages like, Ruby and Python to execute Code on the. NET Runtime, but it also allows statically languages like C#, to pick up some Dynamic Language Features. In this module we'll explore the dynamic features of C#, we'll see how we can execute Ruby code from C# and vice versa, and we'll also talk about the true essence of dynamic programming. . . .

Object Oriented Programming with C#Hi, this is Scott Allen and in this module I want to give you my perspective on Object Oriented Programming with C#. I will cover the basic tenets of OOP, including Encapsulation, Inheritance, and Polymorphism. But I want to go beyond the academics to tell you why these tenets are a bit misleading and give you some insight into modern thinking on OOP and how it centers on Composition, Roles, and Responsibilities.

Functional Programming with C#Hi, this Scott Allen and in this module we'll look at the beautiful world of Functional Programming with C#. I want to demonstrate some of the practical everyday functional programming techniques that you can use in your own software projects. Functional programming is all about building abstractions using functions. We will look at composing functions, and marrying functions together with data. And will begin by talking about why functions are so special.

Crafting C# CodeHi, this is Scott Allen and in this module I'll tell you about some of the low level practices I've learned and followed over the years to write better code. This module is not about design patterns, or performance, or architecture. You can find those topics in other Pluralsight courses. Instead, this module focuses on the craft of writing code. Code that is easy to read, code that is clean, code that when you look at it you can tell that someone cared about the quality. I will preface this module by saying, that beauty is in the eye of the beholder and I'm sure you will not agree with everything you see. However, I hope to give you some tips and advice you can use as you move forward with the C# language.