Application Development Using C# and .NET


Microsoft .NET is an advance in programming technology that greatly simplifies application development both for traditional, proprietary applications and for the emerging paradigm of Web-based services. .NET is a complete restructuring of Microsofts whole system infrastructure and represents a major learning challenge for programmers developing applications on Microsoft platforms. The new platform includes a new programming language C# and a major class library, the .NET Framework.

This course covers important topics in the .NET Framework for experienced programmers. You do not need prior experience in C#, because there is a self-contained treatment, but you should have experience in some object-oriented language such as C++ or Java. A seasoned Visual Basic programmer who has experience working with objects and components in VB could also take the course. It is part of the Object Innovations series of .NET courses, which are based on The Integrated .NET Series of books from Object Innovations and Prentice Hall.

The course starts with a very concrete introduction to .NET. The next four chapters cover C#, .NET types, and how C# relates to the .NET Framework. These chapters cover such topics as metadata, inheritance, interfaces, delegates, events, debugging, and serialization. A case study, which runs through the entire course, starts with Chapter 3. Chapter 6 discusses assemblies, versioning, and deployment, which constitute a major advance in the simplicity and robustness of deploying Windows applications, ending the notorious DLL difficulties.

.Chapter 7 delves into important .NET Framework classes, including the topics of threading, asynchronous programming, remoting, and memory management. Chapter 8 covers user interface programming using the Windows Forms classes. Chapter 9 covers ADO.NET, which provides a consistent set of classes for accessing both relational and XML Data.

Chapter 10 introduces the fundamentals of ASP.NET, including the use of Web Forms, which greatly simplifies the development of sophisticated Web sites. Chapter 11 covers SOAP and Web Services, which provide an easy-to-use and robust mechanism for heterogeneous systems to interoperate. Chapter 12 covers the area of security in detail, including code access security, declarative security, and the securing of Web applications and services. Chapter 13 covers interoperability of .NET with COM and with Win32 applications.

The course is practical, with many examples and a major case study. The goal is to equip you to begin building significant applications using the .NET Framework. The student will receive a comprehensive set of materials, including course notes and the programming examples. The book Application Development Using C# and .NET is recommended as a supplement to the course.

The student should be an experienced application developer or architect. Some background in object-oriented programming would be helpful. The student should also have basic Internet literacy, including the fundamentals of HTML.

Course Objectives
On completion of this course, the student should be able to
  • Gain a thorough understanding of the philosophy and architecture of .NET
  • Acquire a working knowledge of C# programming
  • Learn how to implement user interface, database and web applications using .NET
5 Days

Instructor-led course, with practical computer-based exercises.

Course Outline

  • 1. .NET Fundamentals
    • What is Microsoft .NET?
    • Common Language Runtime
    • Attribute Based Programming
    • Interface Based Programming
    • Metadata
    • Common Type System
    • Framework Class Library
    • Language Interoperability
    • Managed Code
    • Assemblies and Deployment
    • Web Services
    • ASP.NET

  • 2. .C# Basics
    • Hello, World
    • Namespaces
    • Formatting
    • Control Structures and Operators
    • Classes
    • Exceptions

  • 3. .NET Types and C#
    • Value and Reference Types
    • Objects
    • Conversions
    • Classes and Structs
    • Interfaces
    • Arrays
    • Delegates
    • Events
    • Pointers
    • Boxing and Unboxing

  • 4. C# and the .NET Framework
    • Copying and ICloneable
    • Collections and the Collection Interfaces
    • File Input and Output in .NET
    • Serialization
    • Debugging and Tracing

  • 5. Object-Oriented Programming in C#
    • Single Inheritance Model
    • Accessors, Properties and Indexers
    • Access Control
    • Constructors
    • Virtual Functions and Polymorphism
    • Abstract Classes
    • Reflection

  • 6. Assemblies and Deployment
    • Assemblies
    • Assembly Manifest
    • Versioning
    • Strong Names and Digital Signatures
    • Private and Public Assembly Deployment
    • Version Policy
    • Locating an Assembly at Runtime

  • 7. .NET Application Model
    • Metadata and Reflection
    • Threading and Synchronization
    • Context
    • Application Domains
    • Asynchronous Programming
    • Remoting
    • Memory Management and Garbage Collection

  • 8. User Interface Programs
    • Windows Forms
    • Controls
    • Visual Studio.NET and Forms
    • Drawing in Windows Forms
    • Events
    • Menus
    • Dialogs

  • 9. Database Programming
    • ADO.NET
    • DataReader
    • Parameters
    • DataSet
    • Transactions
    • Stored Procedures
    • Constraints and Relations
    • Schema
    • DataRow Editing
    • XmlDataDocument
    • Typed DataSet

  • 10. ASP.NET and Web Forms
    • ASP.NET
    • Web Forms Architecture
    • Html Controls
    • Web Controls
    • Developing a Web Application Using Visual Studio.NET
    • Configuration
    • Session and Application Objects

  • 11. Web Services
    • Web Services and Remoting
    • Web Services Architecture
    • Proxies
    • Interoperability of Web Services
    • Developing a Web Services Using Visual Studio.NET

  • 12. Security
    • Authentication, Authorization and Impersonation
    • Internet Security
    • Principals and Identities
    • Code Access Security
    • Permissions
    • Security Policy

Go to course catalogue