You are on page 1of 30

The .

NET Framework Technology in Education

Why .NET?

Interoperability between languages and execution environments Uniformity in schema or formats for Data Exchange using XML, XSL Extend or use existing code that is valid Programming complexity of environment is reduced

The .NET Framework is

A COMPONENT MODEL FOR THE INTERNET

The new approach to building large scale distributed systems for the Internet Provides the capability to integrate multiple devices Built around the tools and protocols (XML, WSDL, SOAP, HTTP) that are becoming standard on the Internet

The .NET Framework Design Goals


Component Development for the Internet "Cross-Language Development

Inheritance, Debugging, Exception handling

Reliability and Security Simple Development and Deployment Device-agnostic

Understanding the .NET Framework


.NET Framework Architecture .NET Web Services Key Benefits

.NET Framework Architecture


C# VB C++ Scheme Visual Studio.NET

Common Language Specification


ASP .NET XML Services Windows Forms User Interfaces

ADO .NET and XML Data Connectivity


Base Class Library Base Framework Common Language Runtime Operating System

Common Language Runtime


Common Type System Metadata Execution Engine

Common Language Runtime


Base Class Library Support Thread Support Type Checker COM Marshaler Exception Manager

Security Engine
MSIL to Native Compilers (JIT) Code Manager

Debug Engine
Garbage Collector (GC)

Class Loader

Intermediate Language (IL)


VB Native Code
Install time Code Gen

VC

...

Script

IL

Assembly Language of CLR Code is never interpreted

Common Language Runtime


Econo-JIT Compiler Standard JIT Compiler

Native Code

.NET Classes

Namespaces and Classes

Hierarchical, unified, extensible class libraries Provide system and base functionality and services Everything is an object! The .NET (Service) contracts Byte, Sbyte, Single, Double, String, Int16, Int32, Int64 etc. Common Type System - Common Type Denominator

Interfaces

Types

Unified Programming Model


Consistent API availability regardless of language and programming model

.NET Framework
RAD, Composition, Delegation

Subclassing, Power, Expressiveness

Stateless, Code embedded in HTML pages

Windowing (GUI)

Class Libraries

Web Pages

OS API

Languages

Ada APL Basic (Visual Basic) C# C C++ J# COBOL Component Pascal (Queensland Univ of Tech) ECMAScript (JScript) Eiffel (Monash University) Haskell (Utrecht University)

lcc (MS Research Redmond) Mondrian (Utrecht) ML (MS Research Cambridge) Mercury (Melbourne U.) Oberon (Zurich University) Oz (Univ of Saarlandes) Perl Python Scheme (Northwestern U.) SmallTalk

Visual Studio .NET

Increased programming productivity


Easier to write code: drag and drop Web App and Services Development. Fully supports the .NET Framework Multi-language support Improved debugging Unified IDE Windows Forms, Web Forms XML and component designers Consistent set of tools across languages

Simplified development

Powerful design tools


The .NET Compact Framework


Designed specifically for smart devices Lightweight architecture Compatible subset of desktop platform Visual Studio.NET used for app development Adaptable to different application needs Build Smart Device applications in Visual Studio .NET Broad availability

Across multiple CPUs Across Windows CE and third-party RTOSes Across a variety of physical form factors

.NET Services

What is a Web Service?


Unit of application logic providing data and services over the Web using standard protocols XML Web Services expose additional services needed to build solutions ASP .NET in the .NET Platform
Basic services used to build applications and Web Service Examples: www.xmethods.com
Access through any Website

Building Block Services


XML Web Services Foundation


Simple, Open, Broad Industry Support

Publish, Find, Use Services:

UDDI

Service Interactions:
Universal Data Format:

SOAP

XML
Internet

Ubiquitous Communications:

How .NET Makes Web Services Possible


.NET is built on Internet standard protocols Uses Framework classes, such as

System.Web.Services
XML

Enables communication through open standards


Service description expressed with WSDL Basic wire format Universal Description Discovery Integration (UDDI)

SOAP

HTTP

.NET Key Benefits

Ease of Use

Object-oriented model Namespace and Framework structure The language that meets your needs The development tool that will make it easier to learn programming

Freedom to Choose

.NET Key Benefits

Stability

Garbage collection Assemblies eliminates DLL compatibility issues Restricting or containing the illegal memory reference Comprehensive security model

Security

.NET Key Benefits


Deployment and Management Unified Experience Web Services

Motivations for Academia

Students need to be stimulated with interesting/challenging ideas and problems Industry focused students want skills relevant to their workplace Research - The Microsoft Shared Source CLI (Rotor)

Motivations for Academia

Visualization of fundamental computing concepts

Visual Studio .NET Features: Class Browser, Object Browser, ILDasm, etc Leverage namespace/functions teach more CS concepts Teach advanced concepts earlier in the course

Rich framework libraries

Microsoft Resources for Faculty

MSDN Academic Alliance New program from Microsoft


Software for computer science, engineering, and IS courses. Annual membership fee of $799 per department Membership runs from July-June Web site that supports program: (www.msdnaa.com)

Visual Studio .NET Academic released on Feb 27th 2002 Well received at the 2002 SIG for Computer Science Education

2002 ACM Student Competition winning project (Distributed File Systems) used .NET

Visual Studio .NET Academic 2003 (Apr 24th) Curriculum Development Kits Resource Kit CD, Academic Reviewers Guide Textbook, Whitepaper, Full product of Windows XP and VS .NET Academic

Visual Studio .NET Academic

All the features of VS .NET Professional with Student and Faculty Tools

Faculty Tools - Course Management, Auto Check and Grading Student Tools Get Assignments and Upload completed assignments Samples tailored to student needs Extensive documentation and walkthroughs

Innovation in the Classroom using .NET?

Terrarium (www.gotdotnet.com/terrarium)

Peer to Peer sample application built on .NET 2D Games that simulates the ecosystem of a Terrarium Each creature is a compiled class library OO Model where creatures react to events Exposes OOP, Web Server Hosting, Web Services, Security, Networking concepts to students

General Resources

Visit the following sites for more information on product capabilities


www.gotdotnet.com www.asp.net www.csharptoday.com Faculty Online Community at www.msdnaa.com Student Online Community at www.gotdotnet.com/student

Download the .NET Framework SDK from msdn.microsoft.com

Recommended Textbooks

Courses focusing on Compilers:

"Compiling for the .NET Common Language Runtime" by John Gough

Courses focusing on 'Introduction to Programming':

"C# and the .NET Platform at http://www.apress.com/catalog/book/1893115593 "C# How to Program by Deitel and Deitel (currently being used at Yale)

Microsoft Hands-On Labs

Labs on

Peer-to-Peer Computing with Terrarium http://www.gotdotnet.com/terrarium

General Resources

For more information, contact :


Mythreyee Ganapathy Technical Product Manager Visual Studio .NET Academic Email: mythg@microsoft.com

2002 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

You might also like