A Team 2 Technical Presentation Vadim Kim Kirk Guotana Adam Partlo Shreyas Thiagarajasubramanian

abashedwhimsicalΛογισμικό & κατασκευή λογ/κού

2 Νοε 2013 (πριν από 3 χρόνια και 5 μήνες)

83 εμφανίσεις

A Team 2 Technical Presentation

Vadim

Kim

Kirk
Guotana

Adam
Partlo

Shreyas

Thiagarajasubramanian

History of Computer Programming


First program and algorithm


Analytical engine


Charles Babbage
(1791
-
1871)

Difference Engine

What is a Program?


Artificial language with instruction


Manipulation of variables


Input and output

Program Example

Program Major Components


Syntax





Semantics

Introduction to C#


Started in 1999


C.O.O.L.


Led by Anders Hejlsberg


Direct competitor with Java


Readable


Current version: C# 4.0


C# 5.0 expected


OOP


Andy

C#’s Mascot (Retired in 2004)

What Is OOP?


Object oriented programming


Defined by objects


State (Fields)


Behavior (Methods)


Classes


Example

Object:
Jeep
SUV



Fields:


Current Speed


Current Gear


Current
Transmission

Methods:


Speed Up / Apply
Brakes


Change Gear


Change Transmission
(4x2 / 4x4)

Example (cont.)

Object Definition:


class SUV {



private:


int

currentSpeed
;


int

currentGear
;


int

currentTransmission
;





public:


void
SpeedUp
(
int
);


void
ApplyBrakes
(
int
);


void Change Transmission(
int
);


void
PrintStates
(void);

}

How to use object:


//
Define objects


SUV Jeep = new SUV();




// Methods on object


Jeep.SpeedUp
(10
);


Jeep.ChangeGear
(2
);


Jeep.ChangeTransmission
(4
);


Jeep.PrintStates
();



Benefits of C#


Managing memory in C/C++


Responsibility of the programmer


Need to allocate resources for objects


Resources must be released when finished



Garbage Collection in C#


Handled by common language runtime (CLR)


Provided by
.Net

Framework


Runs code and provides services


Periodically checks memory heap


Releases resources held by unreferenced objects





Benefits of C
# (cont.)


.Net

Framework


Consistent programming model


Supports building and running the next generation of applications and XML
web services









Extremely easy to write C# in visual studio (VS)


Visual designers to create applications with GUI’s

.Net

Framework


Six Major Objectives

1) Consistent object
-
oriented programming environment


Code
-
execution environment that…

2) Minimizes software deployment

3) Promotes safe execution of code

4) Eliminates the performance problems of scripted environments


5) Developer experience consistent across widely varying types of applications


6) Build all communication on industry standards

Visual Designers


Windows Forms Designer




Visual Designers (cont.)


Windows Presentation Foundation
(WPF) Designer


Introduced with Visual Studio 2008


Supports Drag and Drop








Provides flexibility by using XAML


An XML based markup language to describe the UI


C# code is separated from the XAML markup


Visual Designers (cont.)


Class designer


Author and edit the classes using UML modeling

Visual Designers (cont.)


Data designer


Graphically edit database schemas


Design queries from the graphical view




Web designer/development


ASP.NET applications

.NET Framework


A framework with which applications can be made
for a variety of Microsoft platforms



Very easy to use, and code can be shared between
platforms


Example:

A game built for Windows can be very easily ported to
XBox360

Windows Phone 7


Windows Phone 7 apps can be made with Visual
Studio and C#

Web Applications


ASP.NET, Microsoft’s web application framework, is
also integrated with C# and VS


Netduino

Applications


Netduino Applications can be made with C#, VS, and
the .NET Micro framework



Video

App Demo

Conclusion


C# is a very popular and rapidly growing language



Backed by a large company, it will continue to evolve
alongside the technologies of the future



It is very easy to learn, very fast to develop in, and very
well integrated with a variety of platforms through .NET
and VS


Windows, Windows Phone, Web, Xbox,
Netduino
, etc.

Questions?