Technical Presentation

advertisement
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?
Download