1-800-THE-TREE (1-800-843-8733)
 

C# Programming: Hands-On

 
Course: 419     Type: Hands-On     Duration: 4 Days

Frequently Asked Questions

What is C#?

C# (pronounced C sharp) is a modern object-oriented and component-based programming language similar to C++ and Java. It is also a comprehensive data-manipulation language with capabilities equivalent to SQL.

Standardized by ECMA/ISO, C# is the core language of Microsoft's .NET strategy. It is provided with the Visual Studio development environment including the free download of Visual Studio 2008 Express. This language integrates with access to the .NET component framework, an extensive class library and a portable execution engine called the CLR-Common Language Runtime.

What is this course about?

This course offers comprehensive coverage of C#, explaining the core of the language. This includes the basics of the Language Integrated Query-LINQ. You also gain fundamental experience in how C# is used as part of the .NET Framework, including implementation and deployment of .NET components and the use of C# in mixed language situations. Additional information on ASP.NET, ADO.NET and related libraries provides a foundational understanding of desktop and Web applications, Web services and database access.

What background do I need?

This course is for programmers with hands-on experience using a modern procedural programming language. You should be comfortably familiar with concepts such as data types, variables, declarations, conditionals, loops, expressions, functions, parameter passing and procedural language flow. While experience specifically in C++ or Java is useful, it is not assumed; your experience could be with another modern procedural programming language such Visual Basic (VB), Pascal or C. Experience with only SQL and/or HTML is not sufficient.

Who will benefit from this course?

This course is intended for the following people:

  • Windows application developers who plan to use C# for standalone desktop or client/server programs
  • Web programmers wishing to apply this new language in thin-client server-side applications
  • Enterprise developers who plan to use C# in broadly distributed database applications

What version of C# is used?

This course uses C# 3.0.

I use an earlier version of C#. Will this course be useful for me?

Yes. This course uses C# 3.0, which is an extension of earlier versions. Therefore, the course encompasses essentially all of 1.0 and 2.0, in addition to 3.0.

What tools are used in the course?

The course uses the latest "professional" version of the Visual Studio 2008 integrated development environment from Microsoft (the originating developer of the C# programming language). This includes the SQL Server 2005 Express database engine. The development environment sits on Windows XP Professional with current service releases. However, there are no XP-specific features integrated into the course and all exercises will operate on any properly configured Windows platform.

I am an experienced C# 2.0 developer. Will this course be helpful to me?

In this case, we recommend that you take Course 973, Programming LINQ and C# Extended Features: Hands-On, which covers the extended features of C#. The new language features of C# 3.0 are introduced in Course 419, but are covered in detail in Course 973.

What are .NET and the .NET Framework?

They are the same thing. The .NET Framework is a programming platform that allows you to build Windows and Web applications that run on Microsoft operating systems.

The .NET Framework 3.0 added the following technologies to .NET 2.0: Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF), Windows Workflow Foundation (WF) and Cardspace. The .NET Framework 3.5 added Language INtegrated Query (LINQ). The focus of this course is on the C# language and not on the .NET Framework. WCF, WPF, WF and Cardspace are only mentioned briefly. LINQ, new to .NET 3.5, is introduced in this course.

For courses that focus on technologies that were new with .NET 3.0, you may be interested in Course 513, Windows® Communication Foundation (WCF): Creating .NET 3.5 Web Services, Course 514, Windows® Workflow Foundation (WF): Hands-On, or Course 975, Windows ® Presentation Foundation (WPF) and Silverlight Introduction: Hands-On.

For courses that focus on technologies that were new with .NET 3.5, you may be interested in Course 973, Programming LINQ and C# Extended Features: Hands-On or Course 974, Programming LINQ with Visual Basic® Extended Features: Hands-On.

Course 976, .NET 3.0/3.5 Architectural Overview: Hands-On, is intended to be an overview of the major technologies of .NET 3.0/3.5 and does not go into depth on any one technology. It does provide a working knowledge of the technologies and an understanding of how they can be integrated to build a system. Each of the technologies is covered in depth by individual Learning Tree courses.

I use an earlier version of Visual Studio. Will this course be valuable for me?

Yes. The primary focus of the course is on the C# language even though Visual Studio itself has changed in many ways. The majority of the code used in the course notes and exercises is version independent. Those parts that are specifically for newer versions of C# are clearly indicated.

How much time is devoted to each topic?

ContentHours
Introduction to the C# Language1.0
Language Fundamentals 5.0
Developing C# Classes 6.0
Interconnecting Objects 2.5
Simplifying Component Development3.0
Implementing and Enhancing C# Solutions 5.5
Times, including the workshops, are estimates; exact times may vary according to the needs of each class.

What hands-on exercises are in this course?

About 40 percent of class time is spent performing hands-on exercises, including:

  • Using C# data types, class libraries and control constructs
  • Building C# classes and inheritance hierarchies
  • Writing GUI applications using the drag-and-drop facilities of Visual Studio 2005
  • Writing and deploying components in an ASP.NET Web application
  • Accessing relational data using LINQ and related classes
  • Writing and accessing remote components with Web services

Can C# be used to develop components for use with ActiveX, COM, DCOM, COM or COM+ Services (MTS)?

Not directly. C# is built on top of the .NET Framework which uses a different infrastructure for component support. This infrastructure is independent from any of Microsoft's legacy component models such as COM. There are separate tools that allow .NET components to be "wrapped" so they can be forward compatible with the legacy component infrastructure. Similarly, there are wrappers to allow COM/COM+ components to be used within the .NET Framework. These tools are discussed briefly in the course.

Why should I use C# rather than Visual Basic?

Most .NET programming chores can be done in Visual Basic, C# or any other .NET-compatible language. However, C# is the core language of the .NET Framework and there are some advantages to its use:

  • C# data types map directly to the Common Language Runtime without an intermediate layer; hence, C# can have a performance advantage
  • Many programming examples in Microsoft documentation are given in C# only
  • C# has a tighter, "safer" syntax and excludes the use of implicit casting
  • C# has XML-based documentation capabilities built into the language
  • C# has a syntax that is more comfortable and familiar for C, C++, Java and Perl programmers

I am already an expert in C++ and/or Java. Will I benefit from this course?

Yes. Although C# is similar to both C++ and Java, there are substantial differences in syntax and available features. For example, component technology and database management is directly integrated into the C# language. The semantics and implications of this are introduced in this course. Unique features of C# are discussed towards the start of the course to minimize the amount of "marking time" developers with C++ or Java will have to do. Nonetheless, some portions of this course, especially the base syntax, will be familiar to experienced C++ and Java programmers.

Does this course cover the other .NET core languages (Visual Basic or C++/CLI)?

This course briefly outlines the relationship among Java, C++, C++/CLI and C#, but it focuses primarily on teaching C# as an object-oriented, component-based language. There is brief coverage of Visual Basic and C++/CLI in the context of demonstrating mixed language application development using the Common Language Runtime.

How does this course relate to other Learning Tree courses?

For more on OO and component-based principles, you may be interested in the following courses:

Other courses covering aspects of the .NET family of programming languages and technologies include:

  
Request More Info

Salutation

First Name

Last Name

Company

Zip Code

Country
   Codes
Work Phone

Extension

E-mail

A representative will contact you to follow up your request.
Privacy Statement

Save Up to 40% per course on the Training Passport!


C# Programming: Hands-On
Upcoming Dates
Dec 16 - 19, 2008
 New York
Jan 6 - 9, 2009
 Washington, DC (Reston, VA)
Jan 20 - 23, 2009
 Washington, DC (Rockville, MD)
Jan 27 - 30, 2009
 New York
Jan 27 - 30, 2009
 Toronto
Feb 3 - 6, 2009
 Dallas
Feb 10 - 13, 2009
 Los Angeles
Feb 17 - 20, 2009
 Chicago (Schaumburg)
Feb 24 - 27, 2009
 Washington, DC (Alexandria, VA)
Mar 3 - 6, 2009
 Boston (Waltham)


Hands-On Course C# Programming: Hands-On
Course participants building multitier applications using C# in Visual Studio 2008.
Your Course Tuition Entitles
You to...
  • Class participation
  • Team workshops
  • Use of in-class hands-on equipment
  • Comprehensive course materials
  • Morning and afternoon refreshments
  • Course Completion Certificate awarding Continuing Education Units
  • FREE participation in Professional Certification
  • FREE participation in College Credit programs (including related exams)

Course Tuition
$ 2,790 Standard Tuition
Tuition with a Savings Plan
$ 1,800 10-Day Pass
$ 1,670 Training Passport
$ 1,700 Premium-Pass
$ 2,200 Voucher 10-Pack
$ 2,515 Alumni Gold Discount
$ 2,484 Government Discount
 

 
Customer Service or Enroll: 1-800-843-8733