Learning Tree International

0800 282 353 or +44 1372 364610
 

Request Info

Salutation

First Name

Last Name

Job Title

Company

Post Code

Country
List

Office Telephone

Extension

E-mail

A representative will contact you to follow up your request.

Save 50%
 

C# Programming: Hands-On


Course 4194 days

  E-mail a Colleague  Course Details  Course Details PDF

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 access to the .NET component framework, an extensive class library and a portable execution engine called the CLI-Common Language Infrastructure.

What is this course about?

This course offers comprehensive coverage of C#, explaining the core of the language including the basics of the LINQ vocabulary (Language Integrated Query). 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, the EF (Entity Framework) and other 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 Visual Studio 2008 Professional integrated development environment from Microsoft (the originating developer of the C# programming language). This includes the SQL Server 2008 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 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.

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# including the use of LINQ and EF for the development of data-centric applications. The new language features of C# 3.0 are introduced in Course 419, but are definitively covered 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, or Course 975, Windows ® Presentation Foundation (WPF) and Silverlight Introduction: Hands-On.

For a course that focuses on technologies that were new with .NET 3.5, you may be interested in Course 973, Programming C# Extended Features: Hands-On.

Course 976, .NET 3.0/3.5 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.

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:

 
Hands-On Course

Course Dates

4-7 MayLondon enrol
25-28 MayLondon enrol
22-25 JunLondon enrol
20-23 JulLondon enrol
17-20 AugEdinburgh enrol
17-20 AugLondon enrol
21-24 SepLondon enrol
19-22 OctLondon enrol
16-19 NovLondon enrol
23-26 NovEdinburgh enrol

Attend highlighted events
in person or online with Learning Tree AnyWareTM.

More Dates and locations.

On-Site &
Custom Training

Bring this or any Learning Tree course to your location or have it customised for your organisation.

Tuition

£ 1,825 Standard Tuition
Tuition with a Savings Plan
£ 1,000Flex-Training Pass
£ 1,00010-Day Training Pass
£ 1,520Voucher 10-Pack
£ 1,645Alumni Gold Discount
 

Certification Core Course