Request Info

Salutation

First Name

Last Name

Job Title

Company

Post Code

Country
List

Office Telephone

Extension

E-mail

Information provided will be used to communicate with you about our products.
Privacy Statement

A representative will contact you to follow up your request.

Save up to 55% per course
 

C# Programming: Hands-On


Course 4194 Days

 E-mail E-mail a Colleague Course Details Course Details Course Details PDF 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 the express version. 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 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 as 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 designed for those with Visual Basic, Java, Pascal or C/C++ programming (or equivalent) experience who want to learn about programming in C#. Typical participants include:

  • Windows applications developers who plan to use C# for stand alone 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

How do I know if I should take this course or Course 502, Programming with .NET: A Comprehensive Hands-On Introduction?

Course 419 is intended for those who want in-depth coverage of C# and the major namespaces of the .NET framework. Course 502 is for those who desire a broad introduction to programming in .NET and Visual Studio, and for those with little or no programming experience.

What version of C# is used?

This course uses C# 4.0.

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

Yes. This course uses C# 4.0, which is an extension of earlier versions. Therefore, the course encompasses essentially all of 1.0, 2.0, 3.0, 3.5 as well as 4.0.

What tools are used in the course?

The course uses the Visual Studio 2010 Professional integrated development environment from Microsoft (the originating developer of the C# programming language). This includes the SQL Server 2008 database engine. The development environment sits on Windows 7 Enterprise with current service releases. However, there are no Windows 7-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 or 3.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 development of data-centric applications. The new language features of C# 4.0 are introduced in Course 419, but are definitively covered in Course 973.

How much time is devoted to each topic?

ContentHours
Introduction to the C# Language1.0
Language Fundamentals 5.0
Developing C# Classes 5.0
Interconnecting Objects 3.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 2010
  • 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:

 

Course Dates

Live online classroom training. Attend highlighted events in person or live, online via Learning Tree AnyWareTM.

UK Dates

21-24 FebLondon enrol
20-23 MarLondon enrol
17-20 AprLondon enrol
15-18 MayEdinburgh enrol
15-18 MayLondon enrol
12-15 JunLondon enrol

US East Coast Dates

13-16 MarNew York enrol*
24-27 AprWashington, DC enrol*
8-11 MayWashington, DC enrol*

*New York and Washington DC Courses – Available online with a run time of 2pm to 9pm BST.

For AnyWare enrolments, please register at least 10 days prior to the start of the course.

Mainland Europe Dates

14-17 AugBrussels enrol

More Dates and locations.

Fees

£ 1,925Standard Fee
Fee with a Savings Plan
£ 1,2252-Course Passport
£ 1,0853-Course Passport
£ 1,0004-Course Passport
£ 1,600Voucher 10-Pack

On-Site &
Custom Training

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

Certification Core Course