" rel="stylesheet">
Skip Main Navigation
Page Content
This event has ended

C-Sharpen Up 2012.2


Saturday, October 6, 2012 at 8:00 AM (EDT)

C-Sharpen Up 2012.2

Ticket Information

Ticket Type Remaining Sales End Price Fee Quantity
Includes a whole day of great C# content, continental breakfast and lunch
Sold Out Ended Free $0.00
Sponsor 2 Tickets Ended $250.00 $0.00

Share C-Sharpen Up 2012.2

Event Details


Philly.Net Presents: C-Sharpen Up!

Now is the time to take your C# skills to the next level!

Saturday Oct 6, 2012 from 8:00 am to 4:30 pm



This is a repeat of the very successful event we ran this past spring. If you already attended that event, please don't register for this as we'd like to give everyone a chance to attend.
Don't miss this exciting day of C# content. Following the progression of the .Net Framework release schedule, we'll cover some great topics from each version of C#!
We'll end the day with a look at some popular "Best Practices" that can also help take your skills up a notch. What's best is that all of this material is based on current technology. So you'll be able to start using what you learned immediately!

Intended Audience

This is NOT an introduction to C#. This event is intended for experienced C# developers looking to step up their game and become familiar with some of the advanced features of the language that they may not be using today. We welcome all attendees but if you are new to C#, this may not be for you. We'll be moving pretty quickly through some complicated features.


70 minute sessions with 5 minute break between all sessions, except where noted.
Time Photo Presenter Title Summary
8:00 Am   Registration & Continental Breakfast
8:25   Kick Off
8:30 am Dani Diaz Dani Diaz The Fundamentals Of .Net Details
9:40 am   15 Minute Break
9:55 am Stephen Bohlen Stephen Bohlen Adding .NET Generics to your C# Recipes Details
Demystifying Lambdas: A Lot More Than Just LINQ Details
11:10 am Andy Schwam Andy Schwam LINQ and Other Language Enhancements Details
12:20 pm   Lunch
12:50 pm Steve Michelotti Steve Michelotti C# 4.0 Details
2:05 pm Stephen Bohlen Stephen Bohlen Refactoring to a SOLID Foundation Details
3:25 pm   15 Minute Break
3:40 pm Andy Schwam Andy Schwam Unit Testing, Dependency Injection and Mocking Details


Stephen Bohlen Currently a Senior Software Engineer for SpringSource where he is the Technical Lead and Community Evangelist for the Spring.NET Framework, Stephen brings his varied 18-year-plus experience in software and technology to the design and delivery of Software Engineering Solutions and Frameworks for other Software Engineers. In addition to his work on Spring.NET, Stephen is also an active contributor to several other .NET Open-Source Software projects including NHibernate, NDbUnit, and others as well having developed a number of Visual Studio productivity add-ins. Active in the software development community, Stephen speaks publicly, blogs (semi-)regularly, and is the author of several popular screencast series focused on Agile and ALT.NET concepts and technologies including the widely-praised 15-part Summer of NHibernate video series introducing viewers to the popular open-source O/RM tool. Stephen is also a founding/organizing member of the NYC ALT.NET user group which meets monthly to discuss Agile-focused techniques and technologies in the world of Microsoft software development and beyond. Steve is presently a Microsoft Visual C# MVP and in years past has been an MVP in both ASP.Net and Solution Architecture. He is also a member of the ASP.NET Insiders and Visual C# Insiders.

Danilo Diaz, aka Dani, is a Developer Evangelist for Microsoft's Mid-Atlantic State district. In this role, he helps developers understand Microsoft's product offerings and strategy. Prior to joining Microsoft, he worked at Perficient Philadelphia where he helped establish their Mobility Practice. Dani has over 8 years of experience in the IT industry. His ability to identify and utilize the right blend of technologies to solve business needs has been an asset on all projects he has worked on. Dani's first .NET project was a Web-based eLearning application which was built on ASP.NET 1.0 Beta 2. As a consultant he has served the roles of system architect, technical lead, developer and mentor on various large and small projects. He has worked on SOA-based applications, Web applications, Windows applications and mobile systems.

Steve Michelotti is a Microsoft ASP.NET MVP and an Architect/Developer for Applied Information Sciences (AIS). He has consulted at Advertising.com/AOL where he was the Tech Lead for one of the highest volume .NET applications in the world. He previously was the Chief Technologist at e.magination. Steve is a frequent presenter at developer user groups and Code Camps along the East Coast and holds the MCSD, MCPD, and MCT certifications. Steve has been on Microsoft Channel9 and his published articles include Visual Studio Magazine and his blog: www.geekswithblogs.net/michelotti.

Andy Schwam is a Microsoft C# MVP and a Technical Architect at Global Indemnity where he builds web applications with ASP.Net MVC and of course, C#. For several years he's been designing and delivering testable systems with patterns like Dependency Injection, Single Responsibility and more. He has delivered many web based, data driven applications throughout his professional career. Andy is an experienced speaker and trainer and has spoken at a variety of user groups and events, presenting a variety of topics. Andy is a Board Member and Presenter at Philly.Net. He has been creating software applications since 1999.

Session Details

The Fundamentals Of .Net: In this talk we can talk about type system, manage code, assemblies, IL, reflection and GC.

Adding .NET Generics to your C# Recipes: When .NET introduced Generics, they were largely used in the Base Class Library to support strongly-typed collections. But Generics also open the door to a richer vocabulary for us to use to express our intent in code. In this session we will explore the multitude of uses for .NET Generic Types beyond collections including creating more flexible class declarations and method signatures as well as understanding the role of generic type constraints.

Demystifying Lambdas: A Lot More Than Just LINQ: When .NET 3.5 ushered in the age of the lambda expression for C#, the most visible use-case for this language feature was in support of Language-integrated-Query (more commonly known as "LINQ"). But lambdas also offer us the opportunity to be much more succinct in our coding of many common C# constructs. From events to delegates to anonymous methods, closures, and more, lambdas offer us the opportunity to say more with less in a fundamentally different way than we've previously considered using C#. In this talk we will explore both the underlying principles behind lambda expressions and several of the ways that we can drastically improve our code by leveraging this new functional-style paradigm in .NET.

LINQ and Other Language Enhancements: LINQ (Language Integrated Query) is one of the best and easiest to use features in .Net. Introduced in C# 3.5, it allows developers to easily query collections of data. What is great is that it allows the same technique/syntax to be used to query objects in memory, databases, xml and other sources. The session will focus on the core principals of LINQ as well as several related language enhancements that make LINQ possible including extension methods, anonymous types, implicitly typed variables, and more.

C# 4.0: This presentation will cover the new C# 4.0 language features. This demo-heavy session will begin by covering various dynamic scenarios with C# including the new “dynamic” keyword, simplified Reflection, custom dynamic objects, duck typing, Iron Ruby integration, and more. We will also cover named and optional parameters, new COM Interop enhancements, co-variance, and contra-variance. If you are a C# developer, come learn about the new language tools that you can put in your toolbox!

Refactoring to a SOLID Foundation: In this session we take a small, functional but tightly-coupled, software solution and improve its design using each of Robert C. Martin's S.O.L.I.D. principles as follows: SRP: Single Responsibility Principle; OCP: Open-Close Principle; LSP: Liskov Substitution Principle; ISP: Interface Segregation Principle; DIP: Dependency Inversion Principle. Each principle is applied in sequence to the existing solution, making it possible for the attendee to observe the principle in relative isolation first while also evolving an understanding of how the principles all collaboratively reinforce each other when applied together. Before each principle is applied and the solution is refactored to introduce it, the attendee is presented with one or two simple PowerPoint slides to introduce the concept and provide some abstract understanding of its goals and benefits to OO programming. The principle is then applied to the existing solution, demonstrating the practical application of the principle to working software. At each step along the way, the existing solution (a simple console application) is re-executed, demonstrating that the overall behavior of the software solution has not been negatively impacted by the various refactorings.

Unit Testing, Dependency Injection and Mocking: In this presentation I'll provide an introduction to unit testing with the help of Dependency Injection and Mocking. If you struggle with unit testing, you'll see how these tools can make life easier for you.


Have questions about C-Sharpen Up 2012.2? Contact philly.NET

When & Where

45 Liberty Boulevard
Great Valley Corporate Center, Suite 210
Malvern, 19355

Saturday, October 6, 2012 at 8:00 AM (EDT)

  Add to my calendar



philly.NET provides a forum for the study and discussion of key Microsoft .NET technologies including Visual Studio development tools, servers, and web services.
  Contact the Organizer

Please log in or sign up

In order to purchase these tickets in installments, you'll need an Eventbrite account. Log in or sign up for a free account to continue.