T9.NET Programming for the Business – Fall 2007 Welcome Welcome to the T9 course:.NET Programming...
-
date post
20-Dec-2015 -
Category
Documents
-
view
216 -
download
2
Transcript of T9.NET Programming for the Business – Fall 2007 Welcome Welcome to the T9 course:.NET Programming...
T9 .NET Programming for the Business – Fall 2007
Welcome
Welcome to the T9 course:
.NET Programming for the Business
• Session 1
T9 .NET Programming for the Business – Fall 2007
The teacher … me
• Morten Høgh
• M.Sc. in engineering (2002 Technical University of Denmark)
• 50% Computer technology, 50 % high voltage.
• Fulltime developer since 2000 (part time from around1995)
• Worked for 4 companies this far (Proventum,Basset,Mondo and GlobeTeam)
• Lives in Skodsborg (just north of Copenhagen)
T9 .NET Programming for the Business – Fall 2007
The teacher … me
• Works fulltime at GlobeTeam A/S • Technical project lead / developer
GlobeTeam A/S:• Located in Copenhagen • App. 70 consulents • Develops applications for misc. industries• ~100% Microsoft products, Gold partner
Other:• Own company developing shop/auction software
T9 .NET Programming for the Business – Fall 2007
The Student … you
• Here to learn and enjoy the features of the .NET framework• Many nationalities• Many backgrounds• Different reasons to join• Different goals• Different expectations
T9 .NET Programming for the Business – Fall 2007
Proof .. • Spring 2007 course:• 62 Students stated• 45 enrolled to the exam• 38 submitted a report• 38 passed• 38 % loss total• 100% of those who took the exam passed
T9 .NET Programming for the Business – Fall 2007
Evaluation, Positive
• Very relevant
• Interesting content
• Very important to get the link between customers and developpers
• Good slides
• Good demonstrations
T9 .NET Programming for the Business – Fall 2007
Evaluation, Negative• Too broad and too shallow content
• The mini-project is too large and too complex
• Course is much harder than expected
• Exercises are too hard
• Not enough focus on C#
T9 .NET Programming for the Business – Fall 2007
Evaluation, Strange comments• “I thought I could do it all by self-study”
• “The teacher made a strange comment in the first lecture”
• “The exercises are just made to annoy us”
• “The teacher is stupid”
• “Please install a coffee machine in hallway”
T9 .NET Programming for the Business – Fall 2007
Current state of knowledge
• How many consider their programming skills as “basic”?• Medium…?• Expert…?• Language (C/C++, Java, Basic, Pascal, Delphi) • On what platforms (Unix, Windows)?• Strong Business skills?• How many know UML?• XML?• How many are familiar with OO concepts?
T9 .NET Programming for the Business – Fall 2007
The course
• Name: T9 - .NET Programming for the Business• ECTS: 7,5 Points (app. 125 hours total or 15-16 hours a week)• Language: English in classes / exercises (in pauses you can speak Danish
with me if you can, and want to)• Duration: 12 weeks• Homepage: http://www.ebuss.dk• Participants: 40 enrolled (maximum allowed) (some on waiting list) • Qualifications:
– Basic object oriented programming Basic XML Basic Database knowledge Basic UML Basic HTML
• Exam: Oral - new scale, based on a mini project.
T9 .NET Programming for the Business – Fall 2007
The book
• Author: Jesse Liberty• Title: Programming C# • Subtitle: Building .NET Applications
with C#• Fourth Edition: February 2005 • ISBN: 0-596-00699-3• Pages: 666
T9 .NET Programming for the Business – Fall 2007
Other materials
• Many other books are available. Look for:– Microsoft Visual studio
– .NET framework 2.0
– XML
– Coding tactics
• Websites (http://msdn.microsoft.com, http://www.microsoft.com/net/basics).
• User groups, magazines…
T9 .NET Programming for the Business – Fall 2007
Other materials
• Maybe a good a idea to subscribe (at no cost) to – http://www.codeproject.com– http://www.gotdotnet.com/– http://msdn.microsoft.com
• Ask questions to newsgroups:– Microsoft.public.dotnet.framework* (on server
news.microsoft.com)
• Peer groups
T9 .NET Programming for the Business – Fall 2007
Development platform
• Microsoft based operation system (Windows)• We will use Microsoft Visual Studio in class and exercises• We will use the latest Microsoft Visual Studio 2005• We will use the latest .NET framework 2.0• We will do all programming in C#
T9 .NET Programming for the Business – Fall 2007
This is how we’re gonna do it!
• All conversation during class and exercises will be in English• Questions are more than welcome ! No questions are stupid, The
only thing seeming stupid might be my lack of knowledge about specific areas.
• I might not be able to answer all question offhand.• Dialog! If you don’t ask questions, I will ask you.• Small problems (~10 min. cases) will be given in class at a regular
basis.
T9 .NET Programming for the Business – Fall 2007
Exercises
• Each Thursday from 9-12• Exercises are not supervised by me, anther teacher/student will be
there to help and answer questions• Exercises will reflect the content of the lectures
T9 .NET Programming for the Business – Fall 2007
The Exam
• The Exam will be based on a project.• The project will reflect a “real” business scenario.• Individual examination (new rules)• The grade will be given based on the project report and the
presentation• New grading scale
T9 .NET Programming for the Business – Fall 2007
The Exam
• The technical content of the examination is high.• But technical contents alone is not enough.• You will not be able to do this if you do not:
– Work together.– Do the exercises.
• There are exercises every week (except this first time).
T9 .NET Programming for the Business – Fall 2007
The Project
• Yet to announced.• The content will be a mix of all the techniques and skills acquired
through the duration of the course.• The project will result in one or more application and a report
describing the application and the ideas behind.• Will not be the same as last semester
T9 .NET Programming for the Business – Fall 2007
Business applications .. an explanation
• Mail, newsgroups, browsers etc.• Custom build system for transferring information.• On Line Analytical Processing (OLAP)
– Statistics – Reports– Overview in general
• Back office systems (e.g. internet shops)– Account handling– Stock count– Data manipulation in general
Take 5 minutes to write down what you think a business application is.
T9 .NET Programming for the Business – Fall 2007
An example: Google heavily simplified
Browser
Transfer protocols, network drivers,Logging application, query parser …
Database drivers
Index/database application
More queries, transfer protocolsDocument database
HTML generator
T9 .NET Programming for the Business – Fall 2007
Business applications .. an explanation
• Why is the interest so great ?– Reliability (computers don’t make errors)
– Efficiency (humans are very slow)
– Cooperation between companies (more potential customers)
– Technological advancement
• Why do we do it when it so expensive ?– Cost efficient systems
– “Because the others do it”
– Changing world
– Human nature – More, faster, bigger, better.
T9 .NET Programming for the Business – Fall 2007
.NET – Seen from the CEO level
• A platform for the “next generation” software• “Easy”(™) to maintain, develop and customize systems that interact
with human clients or other internet based systems• Better performance• Better security in applications • Greater stability• Better damage control
T9 .NET Programming for the Business – Fall 2007
.NET – The idea and demontration
• Enables distributed systems and highly efficient solutions through the concept of “Web services”.
• It provides developers with a single approach to build both desktop and Web-based applications.
T9 .NET Programming for the Business – Fall 2007
Demo: A web service
• This demo will show you how to:• Lookup information about a US city based on a zip code. (
http://www.webservicex.net/uszip.asmx)• Using that same web service in an application using under 10 lines
of code.
T9 .NET Programming for the Business – Fall 2007
.NET developer benefits
• Software built on the .NET Framework is easier to deploy and maintain than conventional software.– Automated installation– Better and precise error handling/error messaging
• The .NET Framework minimizes conflicts between applications by helping incompatible software components coexist. (DLL hell)
• Wide range of supported languages. Microsoft supports and develops the following:– C#– Visual Basic– C++– J#
T9 .NET Programming for the Business – Fall 2007
.NET developer benefits
• Other supported languages not developed or maintained by Microsoft:
Ada Ada, AsmL, CAML, Cobol ,Delphi, Forth, Eiffel, Fortran, Haskell, Lisp, Lua, Mercury, Mixal, ML, Mondrian, Nemerle, Oberon, Pascal, Perl, PHP, Prolog, Python, RPG, Ruby, Ruby, Scheme, Smalltalk
• Development tools from several vendors.• Secure environment. Strong naming.• .NET is based on open standards (XML, SOAP, C# etc).
T9 .NET Programming for the Business – Fall 2007
.NET developer benefits
• Less need for 3rd party components• .NET has over 4000 classes included in the 2.0 Framework
– Sending mails (HTML, pictures, font sizes etc)
– Transfer protocols (FTP, Telnet, serial / parallel ports)
– Externals devices (Printers, scanners, mice, joysticks)
– Text manipulations
– Mathematical operations
– Etc
• For a full list see (http://msdn2.microsoft.com/en-us/library/ms229335.aspx)
T9 .NET Programming for the Business – Fall 2007
High level overview
.NET Framework
Windows UI ASP.NET
ADO.NET: Data & XML
.NET Framework class library
Common Language Runtime
T9 .NET Programming for the Business – Fall 2007
Common Language Runtime
Class Loader
.NET Framework Class Library Support
Thread Support COM Marshaler
Type Checker Exception Manager
Security Engine Debug Engine
MSIL to Native Compilers
Garbage CollectorCode Manager
T9 .NET Programming for the Business – Fall 2007
The .NET Framework Class Library
System
Collections
Configuration
Diagnostics
Globalization
IO
Net
Reflection
Resources
Security
ServiceProcess
Text
Threading
Runtime
InteropServices
Remoting
Serialization
T9 .NET Programming for the Business – Fall 2007
The CLR Execution model.
Source code
Managed code
Assembly IL code
Assembly IL code
Assembly IL code
Assembly IL code
Assembly IL code
Assembly IL code
VBVB C#C# C++C++Unmanaged componentUnmanaged component
Common Language RuntimeCommon Language Runtime JIT compilerJIT compilerJIT compilerJIT compiler
Operating system servicesOperating system services
Native codeNative code
CompilerCompilerCompilerCompiler CompilerCompilerCompilerCompiler CompilerCompilerCompilerCompiler
T9 .NET Programming for the Business – Fall 2007
The Future
• The following is an overview of this course.• Beware! The timing is not yet completely finalized. Please check on
the web site for changes.
T9 .NET Programming for the Business – Fall 2007
XML
• We will cover basic syntax, schemas, XPATH, XSL/T and investigate several useful vocabularies.
T9 .NET Programming for the Business – Fall 2007
OO/UML
• Object oriented features are vital to the .NET framework. We will cover polymorphism, inheritance and other OO features. We will discuss class diagrams, sequence diagrams and use cases as vessels for capturing requirements.
T9 .NET Programming for the Business – Fall 2007
C# - Programming
• We will be using C# for all examples and all code developed by students must be written in C#. In this session we will go through the C# language in enough detail to allow students to start writing code of their own. (app. 2 sessions)
• These are very important sessions, show up !
T9 .NET Programming for the Business – Fall 2007
Data access
• No business application is much good without access to the data that drives the enterprise.
• We will look at what databases are, exemplified by MS SQL server.• We will examine how .NET provides a data model for accessing
data from any data provider, and provides a useful data abstraction.• We will present ADO.NET architecture and explore how it may be
used in both online and offline scenarios. We will show how data may be bound to controls.
T9 .NET Programming for the Business – Fall 2007
WinForms
• We will show how rich user interfaces may easily be developed using WinForms.
• Easily implementing sound, graphics and video into application.• Making client applications communicate with external systems• How to present data en an elegant way.
T9 .NET Programming for the Business – Fall 2007
The web
• We shall review the basics of the web.• The differences between the programming models afforded by the
client based systems and the web based systems will be discussed.• We will focus mainly on the use and implementation of web services
on ASP.NET.
T9 .NET Programming for the Business – Fall 2007
Mobile devices
• We will learn how to program for mobile devices using the .NET Compact Framework.
T9 .NET Programming for the Business – Fall 2007
Testing / Development process.
• Testing is a vital part of software development.• Quality cannot be acheived through testing alone.• The three main approaches to testing are presented.
• Black box testing• White box testing• Gray box testing
• Developing in a large organization is very different to hobby programming and academic programming.
T9 .NET Programming for the Business – Fall 2007
Middle ware
• Middleware is the term used to describe software that facilitates dataflow between applications.
• We will present message queues and how to use them to securely transfer data in online/offline scenarios.
T9 .NET Programming for the Business – Fall 2007
Mystery session
• Yet to be announced!• The session will be used either as a buffer or if time allows, I will dig
deeper into some aspects of the previous sessions.• Suggestions are welcome.• The session will NOT be used as a Q and A for the upcoming exam.
T9 .NET Programming for the Business – Fall 2007
Lecture plan• Lecture 1: introduction• Lecture 2: c#• Lecture 3: c# / Project• Lecture 4: databases• Lecture 5: webservice / xml• Lecture 6: web • Lecture 7: web / demo• Lecture 8: winforms• Lecture 9: winforms / demo• Lecture 10: portable / demo• Lecture 11: security• Lecture 12: buffer
T9 .NET Programming for the Business – Fall 2007
Industry vs. Academia
• Developing software for the industry is a very different task than in the academic world.– Rigid specifications– Large systems– Rigorous testing– Documentation ad nauseam
T9 .NET Programming for the Business – Fall 2007
Developing SW in the large scale
• Scenario: Thousands of developers in sites around the world.• 50.000 source files for large projects.• Discipline is required!• Cannot rely on inspiration.
T9 .NET Programming for the Business – Fall 2007
Typical scenario
• Management collects info from various sources– The market– Error logs– Crash info
• Documents defining what to do are written.• Documents defining how to achieve it are written.• Prototypes are developed• Code/Test, Code/Test…
T9 .NET Programming for the Business – Fall 2007
Typical scenario
• Builds are the heartbeat of the organization.• Tests comparing the original specs with the current implementation.• Build verification tests.• Unit tests (regression).• Bug bashes. • Etc…