Customer Service or Enrol: 0800 282 353 or +44 1372 364610
 
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.

Standardised 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 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. LINQ is covered completely in Course 973, Programming C# Extended Features: Hands-On. Participants use .NET 3.5 for all exercises in this course in a way that is mostly backward compatible with earlier versions.

For courses that focus on technologies that were new with .NET 3.0, you may be interested in Course 513, Windows® Communication Foundation (WCF): Developing SOA Applications, or Course 514, Windows® Workflow Foundation (WF): Hands-On. For a course that focuses on technologies that were new with .NET 3.5 and C# 3.0, you may be interested in Course 973, Programming C# Extended Features: Hands-On.

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 minimise 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*:

Job Title:

Company*:

Post Code*:

Country*:
   Codes
Office Telephone*:

Extension:

E-mail*:

* Required

A Learning Tree representative will contact you to follow up your request for information.

Save 55%

26 - 29 Aug, 2008
London
23 - 26 Sep, 2008
London
28 - 31 Oct, 2008
London
25 - 28 Nov, 2008
London
9 - 12 Dec, 2008
Edinburgh
6 - 9 Jan, 2009
London
3 - 6 Feb, 2009
London
3 - 6 Mar, 2009
London
31 Mar - 3 Apr, 2009
London
28 Apr - 1 May, 2009
London

£ 1,695 - Standard Tuition
Savings Plans
£ 980 - 10-Day Training Pass
£ 915 - Flex-Training Passport
£ 1,460 - 10-Training Vouchers
£ 1,560 - 5-Training Vouchers
£ 1,525 - Alumni Gold Tuition

 
Certification Core Course
 
Customer Service or Enrol: 0800 282 353 or +44 1372 364610