|
|
|
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 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 programsWeb programmers wishing to apply this new language in thin-client server-side applicationsEnterprise 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?| Content | Hours | | Introduction to the C# Language | 1.0 | | Language Fundamentals | 5.0 | | Developing C# Classes
| 5.0 | | Interconnecting Objects | 3.5 | | Simplifying Component Development | 3.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 constructsBuilding C# classes and inheritance hierarchiesWriting GUI applications using the drag-and-drop facilities of Visual Studio 2010Writing and deploying components in an ASP.NET
Web applicationAccessing 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 advantageMany programming examples in Microsoft documentation are given in C# onlyC# has a tighter, "safer" syntax and excludes the use of implicit castingC# has XML-based documentation capabilities built into the languageC# 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:
|
|
|
Training Dates
For AnyWare enrollments, please register at least 10 days prior to the start of the course.
More Dates and locations.
On-Site &
Custom Training
Bring this or any Learning Tree course to your location or have it customized for your organization.
Course participants building multitier applications using C# in Visual Studio.
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)
|