Download PPT

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Why C# and Why .NET in the
Undergraduate IS Curriculum
ISECON November 3 -7, 2004, Newport, RI
Association of Information Technology Professionals
Mehdi Raoufi Southwestern Oklahoma State University
John Maniotes Purdue University Calumet
1
INTRODUCTION
What is C#? What is .NET?



C# is Microsoft's latest object-oriented
programming language developed for .NET
platform and .NET is Microsoft’s latest
platform technology for creating web services
C# is a C++ based language and was
developed to provide portability for distributed
applications over network and internet
Application development in .NET platform
can be done in multiple languages including
C#, C++, and Visual Basic
2
What is C# and .NET?


Programs developed in all of these
languages are compiled to Microsoft’s
Intermediate Language (IL) and executed
within Common Language Runtime (CLR)
similar to Java code that is translated to
bytecode and executed by VML (Virtual
Machine Language)
.NET is not a programming language; it's a
virtual-machine technology
3
What is C# and .NET?



.NET has a framework that provides
capability to run a variety of web applications
The .NET framework class library provides a
set of classes that provide essential
functionality for applications built within the
.NET environment
Web functionality, XML support, database
support, and distributed computing support is
provided by the .NET framework class library
4
What is C# and .NET?



.NET codes are translated to Microsoft
Intermediate Language (IL) and run within
CLR
A single .NET application may consist of
several different languages
ASP.NET is an upgraded version of Active
Server Pages (ASP). Developers can create
COM objects in Visual Basic, Visual C++ or
C# and then use ASP.NET page to call on
those objects for a web interface
5
Teaching First Programming Course
Using C#

Both C# and Java improve on C++ in a
similar ways

We will be explaining weaknesses of Java as
an introductory programming language
6
Teaching First Programming Course
Using C#



Java has several weaknesses as introductory
level programming language
It forces novices to learn several
sophisticated concepts even to write a very
simple program
Students who are new to programming
should sort through some complicated issues
before learning the main programming
concepts
7
Teaching First Programming Course
Using C#



This becomes very frustrating with some
students who discard programming without
giving it a good chance to succeed
One of the difficulties of Java for beginning
students is standard input
Input operations in Java are very complicated
for beginning students to understand
8
Teaching First Programming Course
Using C#


To read a simple integer or a real value from
console a student should use a large number
of codes, which include while loop, Boolean
variable, string operations, wrapper classes
and exceptions
To read a simple integer using GUI, students
should learn GUI before writing a simple
program, which requires input
9
Teaching First Programming Course
Using C#


Another difficulty with Java is exception
handling; Java requires every method to
catch the exception generated in the body of
program or verify the possibility of these
exceptions in a “throws” clause
Java programmers should learn and use
exception for a simple program
10
Teaching First Programming Course
Using C#


In an introductory course, usually students
are left to choose from many different
environments to compile and run a Java
program
In many cases, beginning students are
required to use too much effort without proper
guidance to download software, and
configure their computer to run a simple Java
program
11
Teaching First Programming Course
Using C#

This makes some students so frustrated that
they put programming away without giving it
a fair chance to succeed

Students are overwhelmed with number of
environments and how to choose the best
one
12
Teaching First Programming Course
Using C#


These environments range using command
line to compile and execute a Java program
using notepad, to smart editors as textpad, or
IDE (Integrated Development Environment)as
JBuilder
Students, who do not use IDE have difficulty
developing a medium size program and
difficulty dealing with large number of classes
and their methods
13
Teaching First Programming Course
Using C#



Microsoft has made using its Visual Studio
.NET available almost for all students in
institutions of higher learning with a nominal
fee of a few dollars
Using Visual Studio .NET gives a single easy
way to learn IDE for students who are using
C# as an introductory language
Students use skills learned in IDE of Visual
Studio .NET to learn other programming
languages in .NET environment (VB .NET)
14
Teaching First Programming Course
Using C#


The concept of using “getter” methods to
encapsulate internal object properties is a
design pattern that spans object-oriented
languages. It isn't limited to C# or Java.
C# has taken the concept of properties a step
further by actually building “getter” methods
into the language semantics.
15
Teaching First Programming Course
Using C#

An object property has a type, a set method,
and a get method. The set and get methods
of the property determine how the property's
value is set and retrieved
16
Conclusion



C# provides a more proper language for
teaching introductory course for beginning
students
Microsoft Visual Studio .NET provides a more
proper environment to teach introductory
course for beginning students
Java platform is neutral with respect to
operating systems
17
Conclusion


On the other hand, we cannot ignore the
tremendous financial and technical resources
of Microsoft
Microsoft is the dominate force on the PC
Windows Operating Systems. If C# .NET is
released from its Windows dependency, we
think that Microsoft's dominance and financial
muscle may propel C# over Java in the IT
community
18
Conclusion

Questions

Comments

Observation
19