Course Catalog
Curriculum Guides
  .NET
  Java/J2EE
  XML
Downloads
Buy Courseware
Customization
News
Authors
Technical Library
FAQ
About Object Innovations
Opportunities
Contact Us
Home

 

 

   
www.objectinnovations.com
info@objectinnovations.com
877-558-7246 (toll free)  
781-466-8012  

482.  Application Development Using C# and .NET

Rev. 1.2

 

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 Microsoft’s entire 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 comprehensive 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 PTR.

 

The course consists of three modules. The first module starts with a brief “what you need to know” chapter that gets you up and running in the .NET environment with a minimum of fuss. The next two chapters cover C# language essentials and object-oriented programming in C#. The next chapter discusses how C# relates to the .NET Framework. The final chapter provides a succinct introduction to creating GUI programs using Windows Forms.

 

The second module starts with an introduction to the architecture and key concepts of .NET. It then discusses class libraries, assemblies, versioning, configuration, and deployment, which constitute a major advance in the simplicity and robustness of deploying Windows applications, ending the notorious “DLL hell.” The next two chapters discuss important topics in the .NET programming model, including metadata, reflection, I/O, and serialization. The following chapter continues the discussion of the .NET programming model, covering memory management, threading, asynchronous programming, application domains, marshal by value, marshal by reference, and.NET remoting. .NET Security is introduced in some detail, including both code access security and role-based security. The next chapter covers interoperability of .NET with COM and with Win32 applications. The module concludes with an introduction to database programming using ADO.NET.

 

In the final module, ASP.NET is introduced as a new Web programming platform that overcomes a number of limitations of ASP. The architecture of Web Forms is covered, including the life cycle and event model and the code behind programming model. Server controls are introduced. Both the .NET Framework SDK and Visual Studio .NET are used for creating Web applications. Deployment is covered. Session state and application state are discussed. Data binding is introduced. Web services are introduced. The use of SOAP and WSDL are described. Web services and Web service clients are implemented using Visual Studio .NET

 

 

The course is practical, with many examples and a 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 all the programming examples. The book Application Development Using C#  and .NET  is recommended as a supplement to the course. This book is part of The Integrated .NET Series from Object Innovations and Prentice  Hall PTR.

 

LEARNING OBJECTIVES

 

·         Gain a thorough understanding of the philosophy and architecture of .NET

·         Acquire a working knowledge of C# programming

·         Acquire a working knowledge of the .NET programming model and .NET Security

·         Learn how to implement Windows, database, and Web applications using .NET

 

Course Duration:  5 – 6 days

 

Prerequisites:  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.

 

Volumes Shipped: This course ships in three volumes, consisting of courses 411, 412 and 487, which can also be ordered separately.

 

Volume 1: C# Essentials

 

1.      NET: What You Need To Know

.NET Executables and the CLR

A .NET Testbed for C# Programming

 

2.      C# for the Sophisticated Programmer

First C# Console Application

Namespaces

Data Types

Control Structures

Subroutines and Functions

Console I/O

Exception Handling

 

3.      Object-Oriented Programming in C#

Classes

Access Control

Methods and Properties

Static Data and Methods

Inheritance

Overriding Methods

Interfaces

 

4.      C# and the .NET Framework

Class Hierarchies

.NET Interfaces

Using Generic Interfaces: ICloneable and IComparable

System.Array

Collections

Delegates

Events

 

5.      Introduction to Windows Forms

Creating Windows Applications Using Visual Studio .NET

Buttons, Labels and Textboxes

Handling Events

Listbox Controls

 

Appendix A. Using Visual Studio .NET

 

Overview of Visual Studio .NET

Creating a Console Application

Project Configurations

Debugging

 

Volume 2: .NET Framework Using C#

 

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.      Class Libraries

Components in .NET

Building Class Libraries at the Command Line

Class Libraries Using Visual Studio .NET

Using References

 

3.      Assemblies, Deployment and Configuration

Assemblies

Private Assembly Deployment

Shared Assembly Deployment

Configuration Overview

Configuration Files

Programmatic Access to Configuration

Multi-Course Assemblies

Using SDK Tools for Signing and Deployment

 

4.      Metadata and Reflection

Metadata

Reflection

Late Binding

 

5.      I/O and Serialization

Directories

Files

Serialization

Attributes

 

6.      .NET Programming Model

Memory Management and Garbage Collection

Threading and Synchronization

Asynchronous Delegates

Application Domains

Marshal by Value

Marshal by Reference

.NET Remoting

 

7.      .NET Security

Authentication and Authorization

Configuring Security

Code Access Security

Code Groups

Evidence

Permissions

Role-Based Security

Principals and Identities

 

8.      Interoperating with COM and Win32

.NET Client Calling a COM Server

COM Client Calling a .NET Server

PInvoke

 

9.      Database Programming Using ADO.NET

ADO.NET Overview

.NET Data Providers

Using DataReaders

Using DataSets

Interacting with XML Data

 

Appendix A.  A Visual Studio .NET Database Testbed

 

Server Explorer

Query Analyzer

OSQL

 

Volume 3: ASP.NET Essentials Using C#

 

1.      ASP.NET and Web Forms

From ASP to ASP.NET

Web Forms

Web Forms Event Model

Server Controls

Code Behind

 

2.      Web Applications Using Visual Studio

ASP.NET Projects

Using the Form Designer

Deploying Web Applications

Session State

Application State

Data Binding

 

3.      Introduction to Web Services

Web Services and Remoting

XML, SOAP, WSDL

Web Services Architecture

Developing Web Services Using Visual Studio .NET

Web Service Clients

 

System Requirements

 

Course exercises require Microsoft Visual Studio .NET 2003 on Windows 2000 or XP. SQL Server and Internet Information Services should be installed. See the appropriate course Setup Guide for details.

 

A good minimal hardware profile for this course would have a Pentium 500-MHz or equivalent CPU, 256 MB of RAM, and at least 3 GB of free disk space for tools installation and courseware.